ORA-00257: oracle报archiver error的解决方法
2015-09-18 14:00
489 查看
背景:多个用户同时做测试数据,有时候突然Oracle系统就崩溃了,然后报一个
ORA-00257: archiver error. Connect internal only, until freed
的错误,之后怎么连接都连接不上。
之前也见过这种问题,想起可能是归档日志满了,%oracle_home%\10.1.0\flash_recovery_area\下面看了一下,大概有5个G的日志。
想应该是归档日志太大了,当时又是了几下,还是登录不上数据库。
看了些网上的资料,有用的较少。
本次的实验如下:
1)我把数据库的“tnsname”文件的共享模式改成专有模式。
2)重新启动了一下监听和服务
3)再次用sys用户登录
这次奇迹般的登录进去了。
sqlplus sys/password@oracle as sysdba。 sys是用户名,oracle是数据库名字
后面的就是清除归档文件了。
关掉cmd窗口,重新打开后用rman target sys/password@ims 命令进入RMAN命令行后执行
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all; 就可以删除所有过期的日志文档并释放空间
或者删除指定时间之前的archivelog:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)
然后再做测试数据,问题就没有了。
PS:有人说直接删除物理日志文档释放空间不行,实验证明直接删除物理日志文档释放空间也没问题。
ORA-00257: archiver error. Connect internal only, until freed
的错误,之后怎么连接都连接不上。
之前也见过这种问题,想起可能是归档日志满了,%oracle_home%\10.1.0\flash_recovery_area\下面看了一下,大概有5个G的日志。
想应该是归档日志太大了,当时又是了几下,还是登录不上数据库。
看了些网上的资料,有用的较少。
本次的实验如下:
1)我把数据库的“tnsname”文件的共享模式改成专有模式。
2)重新启动了一下监听和服务
3)再次用sys用户登录
这次奇迹般的登录进去了。
sqlplus sys/password@oracle as sysdba。 sys是用户名,oracle是数据库名字
后面的就是清除归档文件了。
关掉cmd窗口,重新打开后用rman target sys/password@ims 命令进入RMAN命令行后执行
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all; 就可以删除所有过期的日志文档并释放空间
或者删除指定时间之前的archivelog:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)
然后再做测试数据,问题就没有了。
PS:有人说直接删除物理日志文档释放空间不行,实验证明直接删除物理日志文档释放空间也没问题。
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解