Oracle數(shù)據(jù)庫(kù)運(yùn)行在archivelog狀態(tài)描述
Oracle數(shù)據(jù)庫(kù)的運(yùn)行是需要二十四個(gè)小時(shí),而且在運(yùn)行的過程中隨時(shí)都會(huì)有新的相關(guān)數(shù)據(jù)加入.如果數(shù)據(jù)丟失,將會(huì)影響整個(gè)公司.所以采用archivelog mode的物理備份. 設(shè)置Oracle數(shù)據(jù)庫(kù)為automatic archivelog mode,
- #su - oracle
- %svrmgrl
- svrmgrl>connect internal
- svrmgrl>startup mount
- svrmgrl>alter database archivelog
- svrmgrl>shutdown
- svrmgrl>exit
- %vi initoracle7.ora
加入
- log_archive_start = true # if you want automatic archiving
- log_archive_dest = $ORACLE_HOME/dbs/arch
- loglog_archive_format = log%s.arc
- %dbstart
- %ps -ef|grep arch
- oracle 1743 1 0 15:20:20 ? 0:00 ora_arch_oracle7
注:
- oracle database is in automatic archivelog mode
- ?full offline entire database backup,
當(dāng)數(shù)據(jù)庫(kù)初始完成后 這份備份是將來(lái)備份的基礎(chǔ)。它提供了所有與數(shù)據(jù)庫(kù)有關(guān)的拷貝.
熱備份可以在數(shù)據(jù)庫(kù)打開打情況下進(jìn)行,一般通過使用Alter命令改變表空間的狀態(tài)來(lái)開始進(jìn)行備份的,備份完成后,要恢其原來(lái)狀態(tài),否則redo log 會(huì)錯(cuò)配,引起Oracle數(shù)據(jù)庫(kù)下次啟動(dòng)時(shí)對(duì)受影響的表空間進(jìn)行完全覆蓋。熱備份的要求是:
1.熱備份工作必需要求數(shù)據(jù)庫(kù)在Archivelog 方式下操作,在SQLDBA狀態(tài)下用alter database archivelog|noarchivelog命令可改變備份的模式。
2.熱備份只能在Oracle數(shù)據(jù)庫(kù)不使用或使用率低的情況下進(jìn)行。
3.熱備份需要大量的檔案空間。
一般情況,Oracle 以循環(huán)的方式寫入Online redo log 文件,當(dāng)填滿***個(gè)redo log文件后寫第二個(gè),直至***一個(gè),***一個(gè)被填滿后,后臺(tái)進(jìn)程LGWR就覆蓋***個(gè),在Archivelog方式下,后臺(tái)進(jìn)程ARCH在每一個(gè)redo log 文件被覆蓋前,給它作一個(gè)拷貝,一般,這些文檔的redo log 文件被寫入磁盤或磁帶中。如果磁盤空間夠用,建議使用磁盤,這樣可大大減少完成備份所需的時(shí)間。
在作熱備份之前,要將config.ora文件中的log_archive_start 設(shè)為true 將log_archive_dest
規(guī)定archive redo log 文件的位置:
- log_archive_dest=/wwwdg/oracle/arch/arch
- log_archive_start=true
一旦Oracle數(shù)據(jù)庫(kù)運(yùn)行在archivelog狀態(tài)下,就可以作備份了。熱備份的命令文件由三部分組成:
1、數(shù)據(jù)文件一個(gè)表空間一個(gè)空間地備份:
a.設(shè)置表空間為備份狀態(tài)。
b.備份表空間的數(shù)據(jù)文件。
c.恢復(fù)表空間為正常狀態(tài)。
2、備份歸檔要作log 文件:
a.臨時(shí)停止歸檔進(jìn)程
b.log下那些在archive redo log目標(biāo)目錄中的文件
c.重新啟動(dòng)archive進(jìn)程
d.備份歸檔的redo log 文件
3、用alter database backup controlfile命令來(lái)備份拷貝文件
在熱備份運(yùn)行之前l(fā)og_archive_dest目錄可能已滿,這時(shí)就要備份目錄,然后刪除文件,釋放空間,這個(gè)過程有如下步驟:
1、暫時(shí)停止archive進(jìn)程。
2、記錄在log_archive_dest目錄下的文件。
3、重新啟動(dòng)archive 進(jìn)程。
4、備份archive redo log 文件。
5、刪除目錄中的文件。
【編輯推薦】
- Oracle內(nèi)存結(jié)構(gòu)里Process Memory實(shí)際操作步驟
- Oracle同時(shí)訪問N個(gè)SQL Server的實(shí)操
- 用Oracle屏蔽英文來(lái)提示信息的正確方法
- Oracle細(xì)粒度如何進(jìn)行訪問
- Oracle數(shù)據(jù)庫(kù)的異構(gòu)服務(wù)原理描述