今天刚打开数据库,就down了,提示ora00257
archiver error. Connect internal only, until freed.
上次就是出现这个问题,由于比较忙,就把归档关闭了,今天必须问清!!!请朋友们多多帮忙~~~~~~出现这个问题,我sqlplus /nolog connect / as sysdba
SQL> select * from v$log;
发现ARC状态为NO~~
最后查了一下说是:表示系统没法自动做归档。
问题一:为什么会出现这个问题??导致这个问题的可能原因是什么?
然后我
SQL> select * from v$flash_recovery_area_usage;
ARCHIVELOG 80 0 40发现ARCHIVELOG已经用了80% (这样FLASH_RECOVERY_AREA空间的空间已经被完全占据了。)
问题二(这个里面存的是什么文件?为什么会出现这个问题??导致这个问题的可能原因是什么?)
在网上找了很多资料,解决办法:1,增加FLASH_RECOVERY_AREA空间
2、删除一些归档日志
最后我删除了一些。解决了这个问题问题三:
我用什么好的方案能保证以后这样的问题不在出现?前提不是删除日志,最好备份起来~~具体需要怎么操作??
archiver error. Connect internal only, until freed.
上次就是出现这个问题,由于比较忙,就把归档关闭了,今天必须问清!!!请朋友们多多帮忙~~~~~~出现这个问题,我sqlplus /nolog connect / as sysdba
SQL> select * from v$log;
发现ARC状态为NO~~
最后查了一下说是:表示系统没法自动做归档。
问题一:为什么会出现这个问题??导致这个问题的可能原因是什么?
然后我
SQL> select * from v$flash_recovery_area_usage;
ARCHIVELOG 80 0 40发现ARCHIVELOG已经用了80% (这样FLASH_RECOVERY_AREA空间的空间已经被完全占据了。)
问题二(这个里面存的是什么文件?为什么会出现这个问题??导致这个问题的可能原因是什么?)
在网上找了很多资料,解决办法:1,增加FLASH_RECOVERY_AREA空间
2、删除一些归档日志
最后我删除了一些。解决了这个问题问题三:
我用什么好的方案能保证以后这样的问题不在出现?前提不是删除日志,最好备份起来~~具体需要怎么操作??
解决方案 »
- oracle report安装
- 存储过程:要求使用游标遍历的方式,将SC表的值全部更新到SC_TOTAL的各列中,并计算平均分
- 哪位知道oracle9i的net configuration assistant中测试连通与否的提示信息保存在什么文件里?
- 数据库设计说明书 实例
- ORACLE 9i 的DATE 型字段中出现了"2006-12-11 下午 08:04:04"
- oracle数据库的恢复8i
- Oracle 用户权限的问题
- 请问oracle 7.0 中的dept和emp示例表怎么在10中调出来啊?
- 小菜提问:在ODBC中如何建立oracle数据源的问题??
- oracle支持内联接,外联接吗
- 一个SQL查询的问题
- 字符集转换的问题~
ORA-00257: archiver error. Connect internal only, until freed.
Cause: The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is the destination device is out of space to store the redo log file.
Action: Check archiver trace file for a detailed description of the problem. Also verify that the device specified in the initialization parameter ARCHIVE_LOG_DEST is set up properly for archiving.
当数据库采用归档麽时候,在redo online log 切换的时候,就会把这些log文件归档到归档目录,这个在ARCHIVE_LOG_DEST 里设置,启用归档后,就要定期检查归档目录使用情况,因为归档目录满了,数据库就出现异常了。此类问题的处理方法见下面的blog,写的很清楚Flash Recovery Area空间不足导致数据库不能打开或hang住
http://blog.csdn.net/tianlesoftware/archive/2009/10/14/4668991.aspx
2.在来讲下归档文件有什么作用归档日志里记录的是用户的操作,Rman备份就需要这些归档文件。 可以从这些归档文件中知道用户都做了哪些操作,就可以对数据库进行恢复。这个归档文件是不能随便删的,因为少了,就不能做完全恢复了。 只能做不完全恢复,所谓的不完全恢复就是归档文件有丢失,也就意味这数据丢失。 这当然是不希望看到的。我们备份的目的就是保证数据不丢失。3. 数据库启动归归档模式后,要定期的检查归档目录使用情况。 可以增大的空间。 这个上面的blog里写得很清楚。还有定期的进行RMAN备份,因为备份之后就可以删除过期的归档日志,这样就能额节省空间。
http://blog.csdn.net/tianlesoftware/archive/2009/10/20/4699320.aspx补充一点,在没有备份的情况下删除归档文件是危险的行为,只有备份之后才能删除过期的文件。楼主已经删了归档文件,RMAN备份肯定会出现问题,不过可以这样做:Rman 归档文件丢失导致不能备份的,在备份前先执行以下两条命令
crosscheck archivelog all;
delete expired archivelog all;这样即使备份成功了,还原后也是有数据丢失的.
如果楼主的数据库不是非常重要,或者说允许少量数据丢失的情况下,也可以采用逻辑备份,EXP/IMP,EXPDP/IMPDP,这样就可以用非归档模式启动数据库,这样就不会出现无法归档的问题了。 因为都不会产生归档文件了。 此时产生的redo log 文件在切换后在在下次使用时被覆盖掉.
alter system set log_archive_dest_1='location=新的位置';
之后管理归档文件就方便多了.
总之,建议归档路径不要使用默认的闪回路径.管理起来很麻烦
就不会出现这个问题了.
1.增加db_recovery_file_dest_size的值。2. 默认归档也存在这个目录下
使用RMAN把无效的arc移除3. 把log_archive_dest设置到别的地方。
、如果有条件的话,archive log目录应该放在独立的磁盘或者卷上,这对数据安全性和性能都有重要的影响。
、archive log目录下的文件应该定时转存到其它设备,比如每天备份到磁带然后清空。
、archive log目录的空间应该至少存放两次转存之间数据库产生的log。
用系统的物理铲除,不能解决,数据字典里的信息没有改变,要清除掉,必须用RMAN的方式来清理。
delete expired archivelog all;
删除一些过期的,但是提示没有~~~
不知道这样操作以后,对备份有什么影响吗??
然后delete expired archivelog all对删除过期的archivelog ,不过这只是临时方法,终极方法要把archive_dest转到别的地方去