Oracle 10g默认的归档日志存放在flash_recovery_area,如果归档日志超过了默认值的大小,则会报ORA-16014的错误.
1.出错SQL*Plus: Release 10.2.0.2.0- Production on Sun May 3010:32:432010
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0- Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options
SQL> startup mount
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1260396 bytes
Variable Size 96470164 bytes
Database Buffers 180355072 bytes
Redo Buffers 7127040 bytes
Database mounted.
SQL>alterdatabaseopen
2/
alterdatabaseopen
*
ERROR at line 1:
ORA-16014: log1 sequence# 86not archived, no available destinations
ORA-00312: online log1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
2.查看归档日志区的大小SQL> show parameter db_rec
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/flash_recovery
_area
db_recovery_file_dest_size big integer 2G
db_recycle_cache_size big integer0
3.检查flash recovery area的使用情况SQL>select*from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE 000
ONLINELOG 000
ARCHIVELOG 98.77052
BACKUPPIECE 000
IMAGECOPY 000
FLASHBACKLOG 000
6 rows selected.
SQL>selectsum( PERCENT_SPACE_USED )*3/100from v$flash_recovery_area_usage;
SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
2.9631
4.计算后,发现使用了2.96G>2G,将值设为4G,重新启动,成功SQL>alter system set db_recovery_file_dest_size =4G;
System altered.
SQL>alterdatabaseopen;
Database altered.
总结:出现这两种报错 1.在于db_recovery_file_dest_size 指定(flash_recovery_area)空间太小,归档日志已经没可用空间做归档。
2.不管归档使用任何径和方式,物理磁盘要保存足够可用的空间。
转载于:https://blog.51cto.com/janywang/824492