這個是一個真實的oracleORA-19815解決方案)的案例,希望對大家有協助。
今天朋友公司的平台出現了登陸緩慢、查詢資料慢問題,並且通過spotlight監控oracle也出現登陸不成功現象,通過查看系統的記憶體、進程等,沒有發現問題,最後找到了我,我先查看了一下平台的記憶體、進程,也沒有發現問題,最後查看oracle的警示日誌,發現問題如下:
- ARC0: Failed to archive thread 1 sequence 53 (19809)
- Sun Jun 10 23:12:12 2012
- Errors in file /home/oracle/admin/BGTP/bdump/bgtp_arc1_3906.trc:
- ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.
- Sun Jun 10 23:12:12 2012
- ************************************************************************
- You have following choices to free up space from flash recovery area:
- 1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
- then consider changing RMAN ARCHIVELOG DELETION POLICY.
- 2. Back up files to tertiary device such as tape using RMAN
- BACKUP RECOVERY AREA command.
- 3. Add disk space and increase db_recovery_file_dest_size parameter to
- reflect the new space.
- 4. Delete unnecessary files using RMAN DELETE command. If an operating
- system command was used to delete files, then use RMAN CROSSCHECK and
- DELETE EXPIRED commands.
- ************************************************************************
是ORA-19815問題,通過metalink查詢,是閃回區空間耗盡,解決的方法我使用增大閃回區的儲存空間,來解決此問題現在先查看一下v$recovery_file_dest試圖
650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131229/20061Q430-0.jpg" />
可以發現可以回收的空間為0,在查看閃回區的使用率
- SQL> select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;
-
- FILE_TYPE USED RECLAIMABLE number
- ------------ ---------- ----------- ----------
- CONTROLFILE 0 0 0
- ONLINELOG 0 0 0
- ARCHIVELOG 98.65 0 51
- BACKUPPIECE 0 0 0
- IMAGECOPY 0 0 0
- FLASHBACKLOG 0 0 0
-
- 6 rows selected.
發現已經使用了98.65%了下面為解決此問題的方法登陸資料庫
- [oracle@master ~]$ sqlplus / as sysdba
-
- SQL*Plus: Release 10.2.0.1.0 - Production on Sun Jun 10 22:41:54 2012
-
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
-
-
- Connected to:
- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
- With the Partitioning, OLAP and Data Mining options
先查看當前的閃回區大小
- SQL> show parameter db_recovery_file_dest
-
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- db_recovery_file_dest string /home/oracle/flash_recovery_ar
- ea
- db_recovery_file_dest_size big integer 2G
- SQL> archive log list;
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 53
- Next log sequence to archive 53
- Current log sequence 55
可以看得閃回區的大小為2g,所以我把他擴充為10g
- SQL> alter system set db_recovery_file_dest_size=10G scope=both;
-
- System altered.
然後在查看閃回區的使用方式
- SQL> select * from v$recovery_file_dest;
-
- NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
- ---------------------------------------- ------------ ---------- ----------------- ---------------
- /home/oracle/flash_recovery_area 10737418240 2383963648 0 57
-
- SQL> show parameter db_recovery_file_dest
-
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- db_recovery_file_dest string /home/oracle/flash_recovery_ar
- ea
- db_recovery_file_dest_size big integer 10G
在查看一下閃回區的使用率
- SQL> select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;
-
- FILE_TYPE USED RECLAIMABLE number
- ------------ ---------- ----------- ----------
- CONTROLFILE 0 0 0
- ONLINELOG 0 0 0
- ARCHIVELOG 22.2 0 57
- BACKUPPIECE 0 0 0
- IMAGECOPY 0 0 0
- FLASHBACKLOG 0 0 0
-
- 6 rows selected.
從之前的98.65%降到了22.2%,在查看一下警示日誌
- db_recovery_file_dest_size of 10240 MB is 20.14% used. This is a
- user-specified limit on the amount of space that will be used by this
- database for recovery-related files, and does not reflect the amount of
- space available in the underlying filesystem or ASM diskgroup.
- Sun Jun 10 23:12:12 2012
- ALTER SYSTEM SET db_recovery_file_dest_size='10G' SCOPE=BOTH;
- Sun Jun 10 23:12:15 2012
- Archiver process freed from errors. No longer stopped
- Sun Jun 10 23:12:15 2012
- Thread 1 advanced to log sequence 56
- Current log# 1 seq# 56 mem# 0: /home/oracle/oradata/BGTP/redo01.log
- Thread 1 advanced to log sequence 57
- Current log# 2 seq# 57 mem# 0: /home/oracle/oradata/BGTP/redo02.log
- Sun Jun 10 23:12:27 2012
- Thread 1 cannot allocate new log, sequence 58
- Checkpoint not complete
- Current log# 2 seq# 57 mem# 0: /home/oracle/oradata/BGTP/redo02.log
- Thread 1 advanced to log sequence 58
- Current log# 3 seq# 58 mem# 0: /home/oracle/oradata/BGTP/redo03.log
- Sun Jun 10 23:12:52 2012
- Thread 1 advanced to log sequence 59
- Current log# 1 seq# 59 mem# 0: /home/oracle/oradata/BGTP/redo01.log
- Sun Jun 10 23:12:52 2012
- Trying to expand controlfile section 11 for Oracle Managed Files
- Expanded controlfile section 11 from 56 to 112 records
- Requested to grow by 56 records; added 2 blocks of records
已經不在重複的報ORA-19815錯誤了,現在閃回區空間使用爆滿問題已經解決。然後我的spotlight監控也已經可以監控oracle了,下面是spotlight監控oracle的圖
650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131229/20061VK0-1.jpg" />
解決ORA-19815的方法很多,我這個只是其中的一種,感謝oracle 的metalink
本文出自 “吟—技術交流” 部落格,請務必保留此出處http://dl528888.blog.51cto.com/2382721/895168