连接数据库进去提示ora-00257:archiver error.Connect internal only,until freed.
登录服务器,操作系统验证,登录好久登录不进去
无奈,把oracle服务重启了下,终于登录进去了
查询v$archived_log
里面有2条归档日志记录,但是在磁盘上怎么找都找不到
select * from V$FLASH_RECOVERY_AREA_USAGE;--显示归档日志占用闪回恢复区有98%
select sum(percent_space_used)*2/100 from v$flash_recovery_area_usage;--显示使用2.9个G(闪回恢复区的大小是2G)
使用RMAN
list copy;--显示这2条归档日志记录
使用delete archivelog all;--删除控制文件中的归档日志记录
删除之后,
select * from V$FLASH_RECOVERY_AREA_USAGE;--显示使用率为0
select sum(percent_space_used)*2/100 from v$flash_recovery_area_usage;--显示使用为0
select * from v$log;--发现每个日志的大小是1个G,汗...
怪不得,两个日志一归档就把闪回恢复区给塞满了
由于是测试库,且有每日逻辑备份,在mount模式下,把归档关闭:alter database noarchivelog;
修改每个日志文件的大小是100M
alter database add logfile group 4 'D:\DB_ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04.LOG' size 100M;
alter database add logfile group 5 'D:\DB_ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO05.LOG' size 100M;
alter database add logfile group 6 'D:\DB_ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO06.LOG' size 100M;
切换日志使得1、2、3组不成为当前组
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
总结:物理删除归档日志,由于控制文件上还记录着相关信息,空间没有释放,需要在RMAN中删除归档日志,才算真正地删除