MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

ORA-00257错误的解决办法

2024-11-26 20:07 huorong 数据库 5 ℃ 0 评论

1,oracle数据库正常使用中,突然报ora-00257的错误,原因是归档日志满了,达到了oracle设置的满值的状态了,所以会无法连接了。

2,system登录数据库查看使用率和归档文件目录

SQL> show parameter log_archive_dest;

3, archive log list;检查一下归档目录和log sequence ,此时在序号512之前的都可以删除。
SQL>
archive log list;

4,检查flash recovery area的使用情况,查看archivelog使用率:99% (这里因为已经清理过了,没来得及截图,第一次清理时有99%)

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

5,计算flash recovery area已经占用的空间 (已经清理过。没清理之前是2.99)

SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

6,找到recovery的目录

SQL> show parameter recover;

7,手动删除过期的归档文件

归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest目录=/oracle/flash_recovery_area)

8,在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。(rman使用system用户登录,或者自创的chen用户登录,必须要有dba的权限) 

[oracle@pen archivelog]$ rman target chen/chen

9. 检查一些无用的archivelog
RMAN>
crosscheck archivelog all;

10, 删除过期的归档
RMAN>
delete expired archivelog all; ------> 输入“YES” 确认。

11,再次查询,发现使用率正常,已经降到19.57

SQL> sqlplus / as sysdba

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

Tags:oracle语法as

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言