转自: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 0
ONLINELOG 0 0 0
ARCHIVELOG 6.91 0 31
BACKUPPIECE 4.45 0 2
IMAGECOPY 0 0 0
FLASHBACKLOG 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;