GoldenGate for Oracle 數(shù)據(jù)一致性初始化方案
運(yùn)維的過(guò)程是不斷產(chǎn)生新的問(wèn)題,需要不斷研究和前進(jìn)的過(guò)程。十一假期剛過(guò)客戶就電話告知之前的Oracle 同步數(shù)據(jù)不一致需要處理,然而又不能停業(yè)務(wù)。
這里研究使用RMAN初始化方案
--不需要源數(shù)據(jù)庫(kù)停機(jī)。
1.環(huán)境介紹:
客戶三臺(tái)數(shù)據(jù)庫(kù),三臺(tái)之間相互同步DDL、DML
2.前言:
每個(gè)高可用的場(chǎng)景不一樣,處理各有千秋,但是大致步驟雷同。我的故障不能直接就去處理這樣的故障,需要先分析每個(gè)庫(kù)的差異,哪個(gè)庫(kù)的數(shù)據(jù)是正常的在初始化到其它數(shù)據(jù)庫(kù)上,在啟動(dòng)同步。由于是生產(chǎn)環(huán)境,數(shù)據(jù)庫(kù)的數(shù)據(jù)實(shí)時(shí)在變化,所以源端的抽取進(jìn)程需要開(kāi)啟(傳輸進(jìn)程可開(kāi)),目標(biāo)端的恢復(fù)停止,待初始化完成后再開(kāi)啟。
3.步驟如下:
生產(chǎn)端===============================================
1)使用oracle用戶登錄,執(zhí)行rman備份
–備份數(shù)據(jù)庫(kù):
mkdir -p /data/backup /data/dbback/gpofullbak
chown -R oracle.oinstall /data/backup /data/dbback/gpofullbak
rman target /
run {
allocate channel ch00 type disk maxpiecesize 30g;
allocate channel ch01 type disk maxpiecesize 30g;
crosscheck backupset;
delete noprompt expired backupset;
sql 'alter system archive log current';
backup as backupset skip inaccessible tag hot_db_bk_level0
full database
format '/data/backup/bk_%s_%p_%t';
release channel ch00;
release channel ch01;
}
–備份歸檔和控制文件:
run {
ALLOCATE CHANNEL ch00 TYPE DISK MAXPIECESIZE 30g;
ALLOCATE CHANNEL ch01 TYPE DISK MAXPIECESIZE 30g;
sql 'alter system switch logfile';
sql 'alter system switch logfile';
sql 'alter system switch logfile';
sql 'alter system archive log current';
BACKUP ARCHIVELOG ALL FORMAT '/data/backup/ARCH_%U';
BACKUP CURRENT CONTROLFILE FORMAT '/data/backup/bk_controlfile';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
--在源機(jī)執(zhí)行
SQL>select * from Gv$log;
INST_ID GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 1 795 52428800 512 1 YES INACTIVE 17689009 09-OCT-15 17689018 09-OCT-15
1 2 1 796 52428800 512 1 YES INACTIVE 17689018 09-OCT-15 17689026 09-OCT-15
1 3 1 797 52428800 512 1 NO CURRENT 17689026 09-OCT-15 2.8147E+14
記錄該SCN號(hào) 17689018
========================================
SQL>create pfile='/tmp/initora11g.ora' from spfile ;
scp -rp /tmp/initora11g.ora root@192.168.80.71:/u01/app/oracle/product/11.2.0/db_1/dbs/
scp -rp /data/backup/ /data/dbback/ root@192.168.80.71:/data
目標(biāo)端===============================================
2)啟動(dòng)數(shù)據(jù)庫(kù)到nomount狀態(tài)
SQL>startup nomount
3)啟動(dòng)RMAN恢復(fù)控制文件
rman target /
RMAN>restore controlfile from '/data/backup/bk_controlfile';
4)將數(shù)據(jù)庫(kù)更改為mount狀態(tài)
sqlplus / as sysdba
SQL>alter database mount;
5)啟動(dòng)RMAN恢復(fù)數(shù)據(jù)庫(kù)
rman target /
RMAN>restore database;
RMAN>
run
{
set archivelog destination to '/u01/app/oracle/flash_recovery_area';
SET UNTIL SCN 17689018; #注意使用前面記錄下的scn號(hào)
RECOVER DATABASE;
}
6)查看
SQL> SELECT CHECKPOINT_CHANGE#,CHECKPOINT_TIME FROM V$DATAFILE_HEADER;
CHECKPOINT_CHANGE# CHECKPOIN
------------------ ---------
17689018 09-OCT-15
17689018 09-OCT-15
17689018 09-OCT-15
17689018 09-OCT-15
17689018 09-OCT-15
17689018 09-OCT-15
17689018 09-OCT-15
17689018 09-OCT-15
8 rows selected.
SQL>alter database open resetlogs;
到這里備份恢復(fù)已經(jīng)完成。
7)啟動(dòng)恢復(fù)
start rini_1, aftercsn 17689018
8)開(kāi)啟目標(biāo)端所以進(jìn)程
Oracle GoldenGate 學(xué)習(xí)教程一:介紹和安裝
Oracle GoldenGate 學(xué)習(xí)教程二、配置和使用
Oracle GoldenGate 學(xué)習(xí)教程三、加密
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com