一、歸檔的概念
歸檔:oracle把填滿的聯機日誌檔案複製到乙個或多個路徑的過程。生成的檔案叫歸檔日誌檔案(archived redo log)。存放歸檔日誌檔案的路徑叫歸檔路徑。
只有資料庫執行在歸檔模式下才能進行歸檔,歸檔的過程一般由歸檔程序自動完成,乙個資料庫可以有乙個或多個歸檔程序,歸檔程序的數量由初始化引數log_archive_max_processes控制。
分類:非歸檔模式和歸檔模式
1、非歸檔模式
若開啟資料庫執行在非歸檔模式,則聯機日誌檔案不需要歸檔。當發生日誌切換時,如果聯機日誌檔案的狀態為inactive,日誌書寫程序(lgwr)將直接重用(覆蓋)聯機日誌檔案。
非歸檔模式只保護例項失敗,不保護介質失敗,當發生介質損壞時,dba需要還原資料庫的全備份,然後利用歸檔日誌檔案進行恢復,但非歸檔模式中對聯機日誌不做歸檔,因此會有資料的丟失。
在非歸檔模式下,dba不能執行資料庫的熱備份(資料庫執行時執行的備份),但dba可以關閉資料庫,執行資料庫的冷備份。
2、歸檔模式
若開啟資料庫執行在歸檔模式:若聯機日誌檔案沒有歸檔,日誌寫程序不能重用(覆蓋)聯機日誌檔案。dba可以啟動歸檔程序,讓它們自動完成聯機日誌檔案的歸檔,dba也可以手動歸檔聯機日誌檔案。
歸檔路徑引數:log_archive_dest、log_archive_dest_n(n從1到10)
二、例子
1、將資料庫切換至歸檔模式
(1)管理員身份連線資料庫,檢視歸檔狀態:sql>archive log list;
(2)關閉資料庫:sql>shutdown immediate;
(3)至目錄%oracle_home%/dbs下修改初始化引數檔案(pfile)
若不存在pfile,需要根據spfile生成pfile
sql>create pfile='....' from spfile='...'
在pfile檔案中定義歸檔日誌檔名的格式,如:
log_archive_format='log%t_%s_%r.arc'
設定資料庫為歸檔模式
(4)重建spfile
sql>create spfile='....' from pfile='...'
(5)啟動資料庫至mount狀態:sql>startup mount
(6)設定歸檔路徑
sql>alter system set log_archive_dest_1='location=/wxxrdb/arch1' scope=both;
sql>alter system set log_archive_dest_2='location=/wxxrdb/arch2' scope=both;
注:可以設定多個歸檔路徑,location為關鍵字,指定歸檔路徑的位置;scope=both表示永久性修改歸檔路徑,並立即生效。
(7)把資料庫切換至歸檔模式:sql>alter database archivelog
(8)檢視資料庫是否在歸檔模式:sql>archive log list;
檢視歸檔路徑是否設定正確:sql>show parameter log_archive_dest
(9)開啟資料庫:sql>alter database open;
2、將資料庫切換至非歸檔模式
(1)管理員身份連線資料庫,檢視歸檔狀態:sql>archive log list;
(2)關閉資料庫:sql>shutdown immediate;
(3)啟動資料庫至mount狀態:sql>startup mount
(4)把資料庫切換至歸檔模式:sql>alter database noarchivelog
(5)檢視資料庫是否在歸檔模式:sql>archive log list;
(6)開啟資料庫:sql>alter database open;
3、手工歸檔聯機日誌檔案
(1)管理員身份連線資料庫
(2)手工歸檔日誌檔案
a.歸檔所有已經填滿的聯機日誌檔案
sql>alter system archive log all;
b.歸檔當前的聯機日誌檔案(該日誌可能還沒有填滿)
sql>alter system archive log current;
4、檢視是否為歸檔模式:
sql>archive log list;
或sql>select name,log_mode from v$database;
5、檢視產生了哪些歸檔日誌檔案
sql>select name,sequence#,completion_time from v$archived_log order by sequence# desc;
6、查詢啟動了哪些歸檔程序
sql>select * from v$bgprocess where paddr<>'00' and name like '%arc%';
Oracle 11g 設定歸檔以及修改歸檔路徑
今天在對oracle進行操作的時候需要開啟歸檔,整理一下,寫個部落格。使用sqlplus as sysdba 登入oracle。輸入 archive log list 檢視歸檔是否設定以及路徑是否修改。出現這種情況是沒有設定歸檔以及修改路徑的。輸入 alter system set log arch...
Oracle 11g筆記 序列
一 序列 序列又叫序列生成器,用於提供一系列的數字,應用程式開發人員使用序列生成唯一鍵。序列按照一定的規律增加或減少。序列儲存在system表空間中,序列不像表,它不會占用磁碟空間。每次事務的提交和回滾都不會影響序列。示例 1 建立序列 sql create sequence seq1 increm...
Oracle 11g筆記 備份 恢復
備份 恢復 匯出 匯入 exp imp oracle10g看資料幫浦 data pump 提公升了效能,使用expdb impdb命令的dbms datapump包 離線備份 資料庫 聯機備份 資料庫處於archivelog模式。alter tablespace users begin backup...