---解决归档日志空间满的问题
今天在检查一个测试库的时候,发现一个平常都起着的一个测试库竟然都没有打开,处在mount状态
SQL> select open_mode from v$database;
OPEN_MODE ---------- MOUNTED
--执行打开的语句报错,从错误里看到这是一个典型的没有归档空间的问题
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-16014: 日志 1 的序列号 890 未归档, 没有可用的目的地 ORA-00312: 联机日志 1 线程 1: ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\PSDB0\REDO01.LOG‘
--查看当前归档
SQL> archive log list 数据库日志模式 存档模式 自动存档 启用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 890 下一个存档日志序列 890 当前日志序列 892
--查看归档参数
SQL> show parameter recovery
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string C:\oracle\product\10.2.0\flash _recovery_area db_recovery_file_dest_size big integer 2G recovery_parallelism integer 0
--查看当前日志序列
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS ---------- ---------- ---------------- 1 890 INACTIVE 3 892 CURRENT 2 891 INACTIVE
--进入归档目录删掉了大批日志信息
C:\oracle\product\10.2.0\flash_recovery_area 手动删除日志
--再次打开数据库,还是报错 这是因为刚才删除日志是用的操作系统命令,ORACLE并不知道,所以还是报错
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-16038: 日志 1 序列号 890 无法归档 ORA-19809: 超出了恢复文件数的限制 ORA-00312: 联机日志 1 线程 1: ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\PSDB0\REDO01.LOG‘
--登陆RMAN 删除一下归档日志在控制文件的记录
D:\renqinglei>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期三 5月 14 14:28:25 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库: PSDB0 (DBID=1088542104, 未打开)
RMAN> crosscheck archivelog all;
使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=64 devtype=DISK 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_18\O1_MF_1_875_9O0XNOYM_.ARC 记录 ID=109 时间戳 =845196567 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_21\O1_MF_1_876_9O8TJZT8_.ARC 记录 ID=110 时间戳 =845455521 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_22\O1_MF_1_877_9OCGKKWR_.ARC 记录 ID=111 时间戳 =845541555 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_23\O1_MF_1_878_9OG2LZ5R_.ARC 记录 ID=112 时间戳 =845627616 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_24\O1_MF_1_879_9OJQK61P_.ARC 记录 ID=113 时间戳 =845714600 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_25\O1_MF_1_880_9OMD7WFY_.ARC 记录 ID=114 时间戳 =845801341 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_28\O1_MF_1_881_9OV9H373_.ARC 记录 ID=115 时间戳 =846060644 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_29\O1_MF_1_882_9OXXLWD2_.ARC 记录 ID=116 时间戳 =846146782 对归档日志的验证成功 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_29\O1_MF_1_883_9OZD4DBJ_.ARC 记录 ID=117 时间戳 =846194446 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_04\O1_MF_1_884_9PC2R3M0_.ARC 记录 ID=118 时间戳 =846664454 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_05\O1_MF_1_885_9PFQGT4R_.ARC 记录 ID=119 时间戳 =846751196 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_06\O1_MF_1_886_9PJC3X7N_.ARC 记录 ID=120 时间戳 =846836862 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_07\O1_MF_1_887_9PM0FZQT_.ARC 记录 ID=121 时间戳 =846924225 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_08\O1_MF_1_888_9POO8KB7_.ARC 记录 ID=122 时间戳 =847011090 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_09\O1_MF_1_889_9PR8GXCM_.ARC 记录 ID=123 时间戳 =847096287 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_14\O1_MF_1_890_9Q62P30S_.ARC 记录 ID=124 时间戳 =847549123 对归档日志的验证失败 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_05_14\O1_MF_1_891_9Q62P46R_.ARC 记录 ID=125 时间戳 =847549125 已交叉检验的 17 对象
--删除已经无效的文件记录
RMAN> delete expired archivelog all;
释放的通道: ORA_DISK_1 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=64 devtype=DISK
已存档的日志副本列表 关键字 Thrd Seq S 短时间 名称 ------- ---- ------- - ---------- ---- 109 1 875 X 17-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_18\O1_MF_1_875_9O0XNOYM_.ARC 110 1 876 X 18-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_21\O1_MF_1_876_9O8TJZT8_.ARC 111 1 877 X 21-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_22\O1_MF_1_877_9OCGKKWR_.ARC 112 1 878 X 22-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_23\O1_MF_1_878_9OG2LZ5R_.ARC 113 1 879 X 23-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_24\O1_MF_1_879_9OJQK61P_.ARC 114 1 880 X 24-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_25\O1_MF_1_880_9OMD7WFY_.ARC 115 1 881 X 25-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_28\O1_MF_1_881_9OV9H373_.ARC 116 1 882 X 28-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_29\O1_MF_1_882_9OXXLWD2_.ARC 117 1 883 X 29-4月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_29\O1_MF_1_883_9OZD4DBJ_.ARC
是否确定要删除以上对象 (输入 YES 或 NO)? YES 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_18\O1_MF_1_875_9O0XNOYM_.ARC 记录 ID=109 时间戳 =845196567 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_21\O1_MF_1_876_9O8TJZT8_.ARC 记录 ID=110 时间戳 =845455521 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_22\O1_MF_1_877_9OCGKKWR_.ARC 记录 ID=111 时间戳 =845541555 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_23\O1_MF_1_878_9OG2LZ5R_.ARC 记录 ID=112 时间戳 =845627616 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_24\O1_MF_1_879_9OJQK61P_.ARC 记录 ID=113 时间戳 =845714600 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_25\O1_MF_1_880_9OMD7WFY_.ARC 记录 ID=114 时间戳 =845801341 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_28\O1_MF_1_881_9OV9H373_.ARC 记录 ID=115 时间戳 =846060644 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_29\O1_MF_1_882_9OXXLWD2_.ARC 记录 ID=116 时间戳 =846146782 已删除的存档日志 存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PSDB0\ARCHIVELOG\2014_04_29\O1_MF_1_883_9OZD4DBJ_.ARC 记录 ID=117 时间戳 =846194446 9 EXPIRED 对象已删除
--选择再尝试打开数据,可以打开
SQL> alter database open;
数据库已更改。