更改ORACLE歸檔路徑及歸檔模式

來源:互聯網
上載者:User

標籤:而且   需要   lte   limit   問題   標識   ora   歸檔日誌   設定   

在ORACLE10g和11g版本,ORACLE預設的日誌歸檔路徑為閃回恢複區($ORACLE_BASE/flash_recovery_area)。對於這個路徑,ORACLE有一個限制,就是預設只有2G的空間,而且不只是歸檔日誌的預設路徑,也是備份檔案和閃回日誌的預設地址,這樣的話歸檔日誌鎖使用的空間就達不到2G,在沒有設定好這個路徑大小的情況下,很多系統都遇到過歸檔日誌滿而無法歸檔導致資料庫夯住的問題,可以使用下面的SQL語句去查看歸檔資訊。

SQL> archive log list資料庫記錄模式             非存檔模式自動封存             禁用存檔終點            USE_DB_RECOVERY_FILE_DEST最早的聯機日誌序列     321當前日誌序列           326。

上面的存檔終點USE_DB_RECOVERY_FILE_DEST預設就是閃回恢複區($ORACLE_BASE/flash_recovery_area),可以通過下面的SQL查看閃回恢複區的資訊。

SQL> show parameter db_recoverNAME                        TYPE         VALUE--------------------------  ----------- ----------------------------db_recovery_file_dest       string      D:\oracle\flash_recovery_areadb_recovery_file_dest_size  big integer   2G

通過上面的SQL結果可以看到,閃回恢複區為D:\oracle\flash_recovery_area,大小為2G,也可以通過查詢v$recovery_file_dest視圖查看閃回恢複的限制資訊。

SQL> select name,SPACE_LIMIT,SPACE_USED from v$recovery_file_dest;NAME                           SPACE_LIMIT SPACE_USED------------------------------ ----------- ----------D:\oracle\flash_recovery_area   2147483648   21225472

預設情況下,歸檔日誌會存放到閃回恢複區(D:\oracle\flash_recovery_area)內,如果閃回恢複區已經使用到2G,歸檔日誌就有可能無法繼續歸檔,資料庫夯住,通常的解決方案是增大閃回恢複區,可以用以下SQL實現。

SQL> alter system set db_recovery_file_dest_size=3G;系統已更改。

即使用這種方法解決的當前燃眉之急,雖然閃回恢複區ORACLE會自動管理,如果閃回恢複區空間不足就會清理掉沒用的資料,但是如果備份策略不是很完善,資料庫非常繁忙的情況下,還有可能遇到這種情況,通常需要修改歸檔日誌的路徑,將歸檔日誌放到其他不受限制的路徑下來解決這個問題,可通過下面的SQL來修改歸檔日誌的存放路徑。

SQL> alter system set log_archive_dest_1=‘location=D:\arch‘;系統已更改。

然後將資料庫啟動到MOUNT狀態,將資料庫修改為歸檔模式後建資料庫啟動到OPEN狀態。

SQL> shutdown immediate資料庫已經關閉。已經卸載資料庫。ORACLE 常式已經關閉。SQL> startup mountORACLE 常式已經啟動。資料庫裝載完畢。SQL> alter database archivelog;資料庫已更改。SQL> alter database open;資料庫已更改。

再次查看資料庫的歸檔情況。

SQL> archive log list資料庫記錄模式            存檔模式自動封存             啟用存檔終點            D:\arch最早的聯機日誌序列     321下一個存檔日誌序列   326當前日誌序列           326

可以通過切換日誌,查看歸檔路徑下是否有歸檔日誌產生來驗證歸檔路徑設定是否正確,可以通過下面的命令切換日誌。

SQL> alter system switch logfile;系統已更改。

查看歸檔路徑(D:\arch)下是否有歸檔路徑產生。

D:\arch>dir/bARC0000000326_0764368160.0001

可以看到在D:\arch路徑下已經產生了歸檔日誌,歸檔日誌的名字受log_archive_format參數限制,可以通過下面的命令查看。

SQL> show parameter log_archive_formatNAME                   TYPE         VALUE---------------------- ------------ ------------log_archive_format     string       ARC%S_%R.%T

上面產生的歸檔檔案名稱字為ARC0000000326_0764368160.0001,%S也就是0000000326是日誌切換號,也就是上文archive log list中的當前日誌序列,%R是情境號,%T是線程號,可以理解成是節點號,如果不是RAC環境,%T都是1,還可以在log_archive_format參數值中加上%D,%D是16進位標識的DBID,如下示範:

SQL> alter system set log_archive_format=‘ARC%S_%R.%T_%D.log‘ scope=spfile;系統已更改。SQL> shutdown immediate資料庫已經關閉。已經卸載資料庫。ORACLE 常式已經關閉。SQL> startupORACLE 常式已經啟動。資料庫裝載完畢。資料庫已經開啟。SQL> alter system switch logfile;系統已更改。

查看歸檔日誌的名字,5AA14A62就是16進位的DBID。

D:\arch>dir/bARC0000000326_0764368160.0001ARC0000000327_0764368160.0001_5AA14A62.LOG

更改ORACLE歸檔路徑及歸檔模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.