歸檔放在閃回區帶來的問題

靜以致遠√團團發表於2014-12-04

問題描述:

好不容易新安了12c rac,測試rman功能時,需要開啟歸檔,開完歸檔發現資料庫效能很差,在recover database時甚至卡在那不會結束,dave的一句‘看看閃回區’提醒了我,進到閃回區,果然15G的閃回區已經將近滿了!本來以為測試用,懶得修改歸檔路徑,直接把日誌清了,資料庫暫時回歸正常了;接下來向資料庫匯入4G的測試資料,arch再次崩潰,會話無法來接,報錯如下:

Imp會話被hang住,又去查了一下歸檔,4.5g的歸檔,15g的空間,不至於是歸檔的問題呀,檢視一下閃回區大小:

 

SQL> select file_type,percent_space_used from v$flash_recovery_area_usage;

 

FILE_TYPE               PERCENT_SPACE_USED

----------------------- ------------------

CONTROL FILE                            .4

REDO LOG                              .4

ARCHIVED LOG                             96.32

BACKUP PIECE                            .4

IMAGE COPY                               0

FLASHBACK LOG                            0

FOREIGN ARCHIVED LOG                     0

AUXILIARY DATAFILE COPY                  0

8 rows selected.

 

原來,這裡才是罪魁禍首,檢視一下閃回區大小

SQL> show parameter db_recovery_file_dest_size;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest_size           big integer 4785M

果然4500/4785將近 98%,看來是oracle歸檔雖然放在足夠大的閃回區,閃回區有引數的限制,修改一下歸檔路徑,刪除原來閃回區中的歸檔,一切OK,總結下一些命令:

 

RMAN刪除歸檔日誌:

檢查所有archivelog

crosscheck archivelog all;

刪除廢棄的日誌

delete expired archivelog all;

刪除7天前日誌

delete archivelog all completed before ‘sysdate-7’;

甚至刪除2小時前日誌

delete archivelog all completed befor ‘sysdate-2/24’;

 

檢視資料庫閃回區空間使用情況

SQL> select file_type,percent_space_used from v$flash_recovery_area_usage;

 

FILE_TYPE               PERCENT_SPACE_USED

----------------------- ------------------

CONTROL FILE                            .4

REDO LOG                              4.26

ARCHIVED LOG                             0

BACKUP PIECE                            .4

IMAGE COPY                               0

FLASHBACK LOG                            0

FOREIGN ARCHIVED LOG                     0

AUXILIARY DATAFILE COPY                  0

 

8 rows selected.

 

修改閃回區大小:

SQL> select flashback_on from v$database;

 

FLASHBACK_ON

------------------

NO

 

SQL> show parameter flash;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_flash_cache_file                  string

db_flash_cache_size                  big integer 0

db_flashback_retention_target        integer     1440

SQL> show parameter db_recovery_file_dest;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest                string      +FLASH

db_recovery_file_dest_size           big integer 4785M

SQL> alter system set db_recovery_file_dest_size = 5G;

 

System altered.

 

SQL> show parameter db_recovery_file_dest;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest                string      +FLASH

db_recovery_file_dest_size           big integer 5G

 

修改歸檔路徑:

 

SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/arch';

 

System altered.

 

SQL> alter system set log_archive_dest_state_1=enable;

 

System altered.

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1356017/,如需轉載,請註明出處,否則將追究法律責任。

相關文章