oracle10默认是把存档终点设置为USE_DB_RECOVERY_FILE_DEST,所以归档日志默认是保存在oracle系统的闪回恢复区(Flash recovery area)的。默认的db_recovery_file_dest是2G,所以一般建议将存档终点修改为操作系统的适当目录。 由于归档日志太大,撑满了闪回恢复区,导致了9月23日oracle数据挂起,集团的ERP不能使用;手动启动数据报ORA-00257错误 SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE= 4G; 修改DB_RECOVERY_FILE_DEST_SIZE可以启动了。 中午查了资料,了解了flash_recovery_area的东西;决定要archive 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 72.46 0 51 BACKUPPIECE 26.84 0 6 IMAGECOPY 0 0 0 FLASHBACKLOG 0 0 0 当时查看flash_recovery_area的使用,发现ARCHIVELOG的使用率为90多; 2009-9-23 中午 2、修改归档目录位置: orahost:root:[/oracle]#mkdir arch_log orahost:root:[/oracle]#chown –R oracle:oinstall ./arch_log orahost:root:[/oracle]#chmod 775 ./arch_log orahost:root:[/oracle/arch_log]#su – oracle $sqlplus /nolog SQL>conn /as sysdba SQL> alter system set db_recovery_file_dest=''; 更改oracl系统,禁止往闪回恢复区放归档日志。 System altered. SQL> alter system set log_archive_dest='/oracle/arch_log' 更改数据库,归档日志的存档终点。 System altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /oracle/arch_log Oldest online log sequence 4033 Next log sequence to archive 4038 Current log sequence 4038 (责任编辑:IT) |