oracle查詢歸檔狀態的方法:1、利用「select name,log_mode from v$database;」語句查看資料庫現在歸檔狀態;2、以「sysdba」登錄,利用「archive log list」語句查看歸檔的狀態。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
查看oracle資料庫是否歸檔和修改歸檔模式
Oracle分為非歸檔模式(NOARCHIVELOG) 和歸檔模式(ARCHIVELOG)。非歸檔模式不產生歸檔日誌,雖然節省了硬碟空間,但是備份方案選擇很有限,通常只能選擇冷備份。還原也只能還原到備份那一刻的數據,通常也僅在開發時使用(據說在資料倉儲中也使用),Oracle安裝預設就是非歸檔模式。在生產環境中我們因該使用歸檔模式,它會產生歸檔日誌,可以使用多種備份和還原方案,對與Oracle管理員來說應該更改模式是必然的選擇。
首先查看資料庫現有模式可使用以下語句
select name,log_mode from v$database;
也可以用下面的語句
archive log list;(该方法需要as sysdba)
對於非歸檔模式的資料庫該為歸檔模式(主要以Oracle 10g為參考)使用以下步驟:
SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
該語句意義是確定歸檔日誌的路徑,實際上Oracle 10g可以產生多份一樣的日誌,保存多個位置,以防不測試
例如再新增一個日誌位置可使用以下語句
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
2.關閉資料庫
SQL> shutdown immediate
3.啟動資料mount狀態:
SQL> startup mount;
4、修改資料庫為歸檔模式:
SQL> alter database archivelog;
5、開啟資料庫,查詢:
SQL> alter database open;
修改日誌檔案命名格式:
SQL> alter system set log_archive_max_processes = 5; SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;
修改完成後可以查看日誌模式是否修改成功!
特別指出的是在Oracle 9i中也要修改參數alter system set log_archive_start = true才能生效,oracle 10g中已經廢除了這個參數,所以不需要設定參數。
自動歸檔預設是停用,需要修改parameter log_archive_start=TRUE才能啟用自動歸檔。
SQL> show parameter log_archive_start NAME TYPE value ------------------------------------ ----------- ------------------------------ log_archive_start boolean FALSE SQL> archive log list
#資料庫日誌模式 存檔模式
自動存檔 停用
存檔終點 /oracle/oracle9i/u01/product/9201/dbs/arch
最早的概要日誌序列 18
下一個存檔日誌序列 19
目前日誌序列 20
SQL> alter system set log_archive_start=TRUE scope=spfile;
系統已變更。
SQL> startup force ORACLE 例程已经启动。 Total System Global Area 320308312 bytes Fixed Size 730200 bytes Variable Size 285212672 bytes Databa
推薦教學:《Oracle影片教學》
以上是oracle怎麼查詢歸檔狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!