三種方法:冷備份、熱備份和Export導(dǎo)出數(shù)據(jù)庫(kù)對(duì)象備份
成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供威遠(yuǎn)網(wǎng)站建設(shè)、威遠(yuǎn)做網(wǎng)站、威遠(yuǎn)網(wǎng)站設(shè)計(jì)、威遠(yuǎn)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、威遠(yuǎn)企業(yè)網(wǎng)站模板建站服務(wù),十載威遠(yuǎn)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
Oracle作為目前世界上市場(chǎng)份額占有率最高的大型通用數(shù)據(jù)庫(kù),在世界上各行各業(yè)的信息化建設(shè)中起著核心首腦的作用。它(軟件自身以及它所依賴(lài)運(yùn)行的硬件)一旦出現(xiàn)問(wèn)題,輕則導(dǎo)致業(yè)務(wù)中斷,重則丟失部分?jǐn)?shù)據(jù),嚴(yán)重則全部數(shù)據(jù)不可逆轉(zhuǎn)性損毀。備份方法如下:
1、冷備份
冷備份是Oracle最簡(jiǎn)單的一種備份;執(zhí)行冷備份前必須關(guān)閉數(shù)據(jù)庫(kù);然后使用操作系統(tǒng)實(shí)用工具或者第三方工具備份所有相關(guān)的數(shù)據(jù)庫(kù)文件。
2、熱備份
對(duì)于熱備份來(lái)說(shuō),故名思議就是剛出爐的數(shù)據(jù)還是熱乎的就開(kāi)始執(zhí)行備份的操作。實(shí)現(xiàn)熱備份的方式目前主要有兩種方式,邏輯方式和物理方式。
3、Export導(dǎo)出數(shù)據(jù)庫(kù)對(duì)象備份
導(dǎo)出導(dǎo)入是一種最初級(jí)的備份方式,它采用定時(shí)將全量、增量或者差異數(shù)據(jù)以表、用戶(hù)或者全庫(kù)為單位導(dǎo)出到某種格式的文件中達(dá)到備份的目的。
優(yōu)點(diǎn):能執(zhí)行對(duì)象或者行恢復(fù)。備份和恢復(fù)速度更快。能夠跨操作系統(tǒng)平臺(tái)遷移數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)可一直運(yùn)行。
缺點(diǎn):export并不是冷備份和熱備份的替代工具。冷、熱備份可保護(hù)介質(zhì)失效。export備份可保護(hù)用戶(hù)或應(yīng)用錯(cuò)誤。
熱備份必需是歸檔模式:如果使用RMAN的話(huà)直接
rman target /
backup database;
就能備份了
手工備的話(huà)
在sqlplus下alter database begin backup;
復(fù)制你要備份的文件
在sqlplus下alter database end backup;
冷備份
ramn的
rman target /
shutdown immediate;
startup mount;
backup database;
alter database open;
手動(dòng)的
sqlplus下shutdown immediate;
復(fù)制要備份的文件
sqlplus下startup;
【DataGuard高可用性】
DataGuard確保企業(yè)數(shù)據(jù)的高可用性,數(shù)據(jù)保護(hù)以及災(zāi)難恢復(fù)。在主數(shù)據(jù)庫(kù)故障無(wú)法修復(fù)時(shí)啟動(dòng)DataGuard的備份庫(kù),可以像主庫(kù)一樣繼續(xù)對(duì)外提供服務(wù)而不影響業(yè)務(wù)的持續(xù)運(yùn)行。
主備數(shù)據(jù)庫(kù)之間通過(guò)日志傳輸實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)同步。
日志傳輸過(guò)程
1、在主系統(tǒng)中利用LNS進(jìn)程(日志傳輸進(jìn)程)將日志傳輸?shù)絺溆孟到y(tǒng)
2、備用系統(tǒng)利用RFS(日志接收進(jìn)程)接收主庫(kù)傳輸過(guò)來(lái)的日志并利用MRP(日志恢復(fù)進(jìn)程)同步數(shù)據(jù)
3、DataGuard環(huán)境中必須保證3個(gè)進(jìn)程正常工作,否則此DataGuard環(huán)境將不能滿(mǎn)足災(zāi)備需要。
【DG可以解決的問(wèn)題】
1、在主庫(kù)停機(jī)維護(hù)時(shí),備份庫(kù)頂上,使業(yè)務(wù)應(yīng)用影響最小
(1)主庫(kù)安裝OS補(bǔ)丁或Oracle補(bǔ)丁
(2)主庫(kù)進(jìn)行數(shù)據(jù)整理
2、一個(gè)新的數(shù)據(jù)遷移項(xiàng)目,將數(shù)據(jù)遷移同型號(hào)更高端IBM服務(wù)器與存儲(chǔ)中,主庫(kù)數(shù)據(jù)2T,并且此遷移操作必須停機(jī)時(shí)間控制在30分鐘以?xún)?nèi)(此次時(shí)間遠(yuǎn)遠(yuǎn)適于遷移數(shù)據(jù)庫(kù)文件所需時(shí)間),怎么辦?
(1)把備份庫(kù)頂上去
3、由于主庫(kù)(倉(cāng)庫(kù))數(shù)據(jù)量非常巨大(50T),所以沒(méi)有常規(guī)備份,但此系統(tǒng)存在DataGuard災(zāi)備系統(tǒng),如果主庫(kù)某數(shù)據(jù)文件由于某種原因?qū)е陆橘|(zhì)故障,你將如何對(duì)其進(jìn)行恢復(fù)。
4、異地歸檔日志
------------------------------------------------------------------------------
主庫(kù):18.150 ?備庫(kù):18.160
1、主庫(kù)和備庫(kù):開(kāi)啟歸檔模式
archive log list;-----------查看歸檔啟動(dòng)否
shutdown immediate;---------開(kāi)啟歸檔前要正常關(guān)庫(kù)
startup mount;-------------啟動(dòng)Mount狀態(tài)
alter database archivelog;-------開(kāi)啟歸檔模式
alter database open;--------開(kāi)啟數(shù)據(jù)庫(kù)
2、確認(rèn)主庫(kù)強(qiáng)制寫(xiě)日志
select force_logging from v$database;
(所有sql語(yǔ)句nologging操作時(shí) 也會(huì)強(qiáng)制寫(xiě)日志)
SQL alter database force logging;
3、修改主備數(shù)據(jù)庫(kù)的參數(shù)文件
【主】
SQLcreate pfile from spfile;
cd /oracle/app/oracle/product/10.2.0/db_1/dbs/
vi initTEST.ora
DB_UNIQUE_NAME=TEST
LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB150,DB160)'
LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archive ?VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TEST'
LOG_ARCHIVE_DEST_2='SERVICE=DB160 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'
FAL_SERVER=DB150 ? ? ? ?
FAL_CLIENT=DB160
STANDBY_FILE_MANAGEMENT=AUTO
【備】
SQLcreate pfile from spfile;
cd /oracle/app/oracle/product/10.2.0/db_1/dbs/
vi initTEST.ora
DB_UNIQUE_NAME=TEST
LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB150,DB160)'
LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archive ?VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TEST'
LOG_ARCHIVE_DEST_2='SERVICE=DB150 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'
FAL_SERVER=DB160 ? ? ? ?
FAL_CLIENT=DB150
STANDBY_FILE_MANAGEMENT=AUTO
4、主庫(kù)和備庫(kù)
都配置“監(jiān)聽(tīng)”、“傳輸文件”,并開(kāi)啟監(jiān)聽(tīng)
5、主庫(kù)和備庫(kù)
都創(chuàng)建“歸檔日志”目錄:mkdir /home/oracle/archive
6、主庫(kù)和備庫(kù)
cd /oracle/app/oracle/product/10.2.0/db_1/dbs/
rm -rf spfileTEST.ora
sqlplus / as sysdba
SQL startup force;
SQLcreate spfile from pfile;
7、備庫(kù)
SQL shutdown immediate
[oracle@sq18 admin]$ sqlplus sys/lipengfei as sysdba
(連接成功)
SQL startup nomount force;
8、主庫(kù)
SQL show parameter ARCHIVE(查看到剛才配置的值生效了)
9、備庫(kù)
(報(bào)錯(cuò)沒(méi)有相應(yīng)目錄)
[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/adump
[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/bdump
[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/cdump
[oracle@sq18 admin]$ mkdir -p /oracle/app/flash_recovery_area
[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/udum
保證數(shù)據(jù)庫(kù)兩邊的密碼文件中的密碼一致(主備數(shù)據(jù)庫(kù)sys用戶(hù)密碼必須相同,如果備庫(kù)中沒(méi)有orapwTEST,從主庫(kù)中拷貝到來(lái))
10、主庫(kù)
mkdir /home/oracle/db_bak/
rman target /
RMAN backup full database format='/home/oracle/db_bak/%U' include current controlfile for standby;
(別退出RMAN,第12步用)
11、備庫(kù)
mkdir /home/oracle/db_bak/
12、主庫(kù)(把全庫(kù)備份的文件拷貝到備庫(kù))
cd /home/oracle/db_bak/
scp 備份文件 oracle@192.168.18.160:/home/oracle/db_bak/
RMANconnect auxiliary sys/lipengfei@DB160
RMAN duplicate target database for standby nofilenamecheck;----異機(jī)(備庫(kù))恢復(fù),保證主備庫(kù)的數(shù)據(jù)和狀態(tài)一樣
13、備庫(kù)
cd /oracle/app/oradata/TEST
ls --------查看有沒(méi)有文件
sqlplus / as sysdba
SQLselect open_mode from v$database;----------mount狀態(tài)
14、主庫(kù)
SQL select process from v$managed_standby;
(沒(méi)有災(zāi)備的進(jìn)程)
SQL alter system switch logfile;
SQL select process from v$managed_standby;
PROCESS
---------
ARCH
ARCH
LNS
已經(jīng)有了進(jìn)程,lns傳輸進(jìn)程)
15、備庫(kù)
SQL select process from v$managed_standby;
PROCESS
---------
ARCH
ARCH
RFS
RFS
(已經(jīng)有了進(jìn)程,rfs接收進(jìn)程)
SQL alter database recover managed standby database disconnect from session;
SQL ?select process from v$managed_standby;
PROCESS
---------
ARCH
ARCH
RFS
RFS
MRP0
16、主庫(kù)
SQLcreate table haha as select * from dba_objects;
SQLinsert into haha select * from haha;
SQLalter system switch logfile;
17、備庫(kù)
SQL alter database recover managed standby database cancel;
(備庫(kù)上,只有把恢復(fù)日志進(jìn)程MRP0取消,才可以打開(kāi)數(shù)據(jù)庫(kù))
SQL alter database open;
SQL select count(*) from haha
【注意】
(1)備用數(shù)據(jù)庫(kù)在日志恢復(fù)過(guò)程中(MRP進(jìn)程存在期間)數(shù)據(jù)庫(kù)處于MOUNTED狀態(tài),此時(shí)備用數(shù)據(jù)庫(kù)無(wú)法打開(kāi)供讀取使用
(2)打開(kāi)備用數(shù)據(jù)庫(kù)
停止備用庫(kù)的日志恢復(fù)進(jìn)程MRP
alter database recover managed standby database cancel;
open備用數(shù)據(jù)庫(kù),備用數(shù)據(jù)庫(kù)默認(rèn)打開(kāi)為只讀方式
alter database open;
(3)重新啟動(dòng)備用數(shù)據(jù)庫(kù)的MRP進(jìn)程,數(shù)據(jù)庫(kù)自動(dòng)從OPEN狀態(tài)轉(zhuǎn)換到MOUNT 狀態(tài)
alter database recover managed standby database disconnect from session;
(4)mrp進(jìn)程停止期間,只要RFS進(jìn)程存在,那么不影響日志的接收
兄弟,以上就是關(guān)于oracle DG構(gòu)架的實(shí)驗(yàn)材料,希望可以幫到你!
用RMAN備份,數(shù)據(jù)庫(kù)必須在歸檔模式運(yùn)行,否則只能備份處于offline的表空間,
‘一般生產(chǎn)環(huán)境數(shù)據(jù)庫(kù)都是歸檔模式,這樣一旦發(fā)生錯(cuò)誤,能把損失降到最低。
當(dāng)然,如果你不喜歡歸檔模式,那就用exp導(dǎo)出數(shù)據(jù)來(lái)備份吧。
其實(shí)還有一個(gè)辦法可以在非歸檔模式下備份,但是一來(lái)腳本很長(zhǎng)很麻煩,二來(lái)效果不好,備份時(shí)還會(huì)鎖定數(shù)據(jù)庫(kù)表,所以不推薦使用。