SQL> startup
ORACLE 例程已经启动。
Total System Global Area 264241152 bytes
Fixed Size 1248476 bytes
Variable Size 180355876 bytes
Database Buffers 79691776 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
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 星期二 2月 27 10:08:28 2007
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;
ps:如果你用rman备份过,而且又是物理删除的,用上述办法可能还是不能释放空间,你可以试下这个:
crosscheck backup;
delete expired backup;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13558130/viewspace-616106/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13558130/viewspace-616106/