[原]Oracle Data Guard 折騰記(一)
終于有空閑的機(jī)器騰出來了,生產(chǎn)環(huán)境上的一套Oracle環(huán)境終于可以鳥槍換炮了,生產(chǎn)環(huán)境有Data Guard,為了減少停機(jī)時間,而且避免重新構(gòu)建Data Guard的麻煩(其實(shí)也不麻煩,就是浪費(fèi)時間),計(jì)劃借助Data Guard的switchover來完成。
不打無準(zhǔn)備的仗,觀察了一下某生產(chǎn)環(huán)境的Data Guard,發(fā)現(xiàn)配置極其簡單,趁機(jī)抄襲了一下并搭建好測試環(huán)境,怎么個簡單呢,配置如下:
(1) 主備節(jié)點(diǎn)沒有配置standby log file ;
(2) 只在主節(jié)點(diǎn)配置了日志發(fā)送的路徑;
(3) 沒有配置FAL;
還是貼配置吧,主節(jié)點(diǎn):
*.log_archive_dest_2='service=standby' *.standby_file_management='AUTO
備節(jié)點(diǎn):
*.standby_file_management='AUTO'
當(dāng)然 spfile 中的配置是不止這些的,但是與Data Guard 相關(guān)的就這幾條,簡單吧,從同事的口中了解到該Data Guard就是只為了Failover,也不打算搞實(shí)時apply,就采用maximum performance的保護(hù)模式(其他都是浮云)。
介紹一下測試環(huán)境,兩臺Oracle服務(wù)器,primary節(jié)點(diǎn) test02 ,standby節(jié)點(diǎn) test03,tnsname分別是 mydb_test02 和 mydb_test03。
眾所周知,搞Data Guard要折騰三個地方:初始化參數(shù)(spfile/pfile),控制文件和數(shù)據(jù)文件,參數(shù)文件的設(shè)置如上,將primary節(jié)點(diǎn)的spfile和password文件復(fù)制到standby節(jié)點(diǎn)的$ORACLE_HOME/dbs/目錄下面,然后將standby啟動到nomount。
##### Standby ##### sys$mydb@test03 SQL> startup nomount ; sys$mydb@test03 SQL> alter system set standby_file_management='AUTO';
設(shè)置一下primary節(jié)點(diǎn)的spfile:
##### Primary ##### sys$mydb@test02 SQL> alter system set log_archive_dest_2='service=mydb_test03'; sys$mydb@test02 SQL> alter system set standby_file_management='AUTO';
以下是如何配置standby controlfile和數(shù)據(jù)文件:
在 primary 節(jié)點(diǎn)中先使用rman備份數(shù)據(jù)文件并準(zhǔn)備 standby controlfile:
##### Primary #####
run
{
sql"alter system switch logfile";
allocate channel c1 device type disk ;
backup
as compressed backupset
tag 'compressed_full'
database ;
backup tag 'standby_controlfile'
current controlfile
for standby;
release channel c1 ;
}
注意看輸出中的備份集信息,先不要退出rman會話,后面還有用,將以上rman腳本產(chǎn)生的兩個備份集復(fù)制到standby機(jī)器的相同目錄中
##### Primary ##### [oracle@test02 ~]$ cd /u01/app/flash_recovery_area/MYDB/backupset/2010_12_16/ [oracle@test02 2010_12_16]$ ls o1_mf_ncnnf_STANDBY_CONTROLFILE_6jlx5w8x_.bkp o1_mf_nnndf_COMPRESSED_FULL_6jlwvnyx_.bkp [oracle@test02 2010_12_16]$ scp ./* test03:`pwd`
復(fù)制所需的歸檔日志到standby機(jī)器,先確定歸檔的路徑:
##### Primary #####
sys$mydb@test02 SQL> archive log list ;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/flash_recovery_area/MYDB/archivelog
Oldest online log sequence 2906
Next log sequence to archive 2910
Current log sequence 2910
sys$mydb@test02 SQL> host
[oracle@test02 archivelog]$ find ./ -name "*.arc" -cmin -300 -exec scp {} test03:`pwd` \;
還是回到primary機(jī)器的rman會話中,執(zhí)行duplicate語句來創(chuàng)建Data Guard的備用數(shù)據(jù)庫:
##### Primary ##### RMAN> connect auxiliary sys/oracle@mydb_test03 RMAN> duplicate target database for standby dorecover nofilenamecheck;
最后啟動Data Guard Standby節(jié)點(diǎn)的歸檔恢復(fù)進(jìn)程:
##### Standby ##### sys$mydb@test03 SQL> alter database recover managed standby database disconnect from session;
自此,測試環(huán)境的Data Guard搭建完成。
浙公網(wǎng)安備 33010602011771號