转自:http://space.itpub.net/10583980/viewspace-503920
1登陆:
sqlplus /nolog
SQL> connect sys/123 as sysdba;
SQL> shutdown normal ORA-01109: 数据库未打开
已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。
Total System Global Area 171966464 bytes Fixed Size 787988 bytes Variable Size 145750508 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes 数据库装载完毕。
alter database open时出现错误
ORA-16038: 日志 3 序列号 160 无法归档 ORA-19809: 超出了恢复文件数的限制 ORA-00312: 联机日志 3 线程 1: 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO03.LOG'
以下是解决
sql> select * from v$recovery_file_dest; SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES----------- ---------- ----------------- --------------- D:/oracle/product/10.2.0/flash_recovery_area 2147483648 2233146368 0 29 可见容量已经满了. SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=8G SCOPE=BOTH; 系统已更改。 SQL> alter database open; 数据库已更改。 select * from v$log; SQL> select * from v$flash_recovery_area_usage;FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES------------ ------------------ ------------------------- ---------------CONTROLFILE 0 0 0ONLINELOG 0 0 0ARCHIVELOG 6.91 0 31BACKUPPIECE 4.45 0 2IMAGECOPY 0 0 0FLASHBACKLOG 0 0 0已选择6行。ARCHIVELOG 6.91%,BACKUPPIECE 4.45 %如果是手动删除磁盘的文件,需要 crosscheck archivelog all; delete expired archivelog all;C:/datadumps>rman target /恢复管理器: Release 10.2.0.1.0 - Production on 星期二Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到目标数据库: ORCL (DBID=1127021099)RMAN> crosscheck archivelog all;使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=145 devtype=DISK对归档日志的验证成功另外我的归档日志长时间都是自己手动清除的,而没有清除数据库的记录,导致了错误的发生;也可以用rman的策略进行删除:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 6 DAYS;CONFIGURE RETENTION POLICY TO REDUNDANCY 6;CONFIGURE RETENTION POLICY TO NONE;
