最近连接开发库
遇到报错:“ORA-00257: 归档程序错误。在释放之前仅限于内部连接”。这是由于归档日志占满了空间。此空间大小限制由参数:db_recovery_file_dest_size来指定,而归档目录由参数:db_recovery_file_dest指定。
为了确定归档日志占满了空间,可以查询一下:
SQL>select * from v$flash_recovery_area_usage;
查看 PERCENT_SPACE_USED 这个字段,看看百分比。
对于此问题解决很简单:一是增加空间大小,二是删除归档日志。
一、增加空间大小:
更改后,再检查一下:
二、删除归档日志:
1、可以先删除物理上的部分归档日志文件,先查看归档日志文件位置:
比如归档日志在+FAST_RECOVERY_AREA/ 目录下,先rm删除掉归档日志。再进入RMAN:
[oracle@localhost ~]$ rman target /
rman>crosscheck archivelog all; //检查归档日志是否失效
rman>delete expired archivelog all; //删除失效归档日志,即删除物理文件已丢失但记录在rman中的归档日志
rman>exit;
2、由于我这个是开发测试库,所以直接把所有归档日志在rman中全部删除
rman>delete archivelog all;
rman>exit;
为了确定归档日志占满了空间,可以查询一下:
SQL>select * from v$flash_recovery_area_usage;
查看 PERCENT_SPACE_USED 这个字段,看看百分比。
对于此问题解决很简单:一是增加空间大小,二是删除归档日志。
一、增加空间大小:
点击(此处)折叠或打开
- SQL>alter system set db_recovery_file_dest_size=10G scope=both;
点击(此处)折叠或打开
- SQL>show parameter db_recover
1、可以先删除物理上的部分归档日志文件,先查看归档日志文件位置:
点击(此处)折叠或打开
- SQL>show parameter db_recover
[oracle@localhost ~]$ rman target /
rman>crosscheck archivelog all; //检查归档日志是否失效
rman>delete expired archivelog all; //删除失效归档日志,即删除物理文件已丢失但记录在rman中的归档日志
rman>exit;
2、由于我这个是开发测试库,所以直接把所有归档日志在rman中全部删除
rman>delete archivelog all;
rman>exit;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30021221/viewspace-1331809/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30021221/viewspace-1331809/