linux下oracle11G DG搭建(二):圍繞主庫搭建操作
環境
名稱 |
主庫 |
備庫 |
主機名稱 |
bjsrv |
shsrv |
軟體版本 |
RedHat Enterprise5.5、Oracle 11g 11.2.0.1 |
RedHat Enterprise5.5、Oracle 11g 11.2.0.1 |
二、圍繞主庫操作:1、主庫-修改初始化參數
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ -----------------------------------------
spfile string /u01/app/oracle/product/11.2.0
/dbhome_1/dbs/spfileTestDB12.ora
SQL>create pfile from spfile;
$cd $ORACLE_HOME/dbs/
$vi initTestDB12.ora //編輯pfile
尋找線上文檔,找到DG的pfile檔案格式:
添加修改說明:
原參數檔案中設定:
*.audit_file_dest='/u01/app/oracle/admin/TestDB12/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/TestDB12/control01.ctl','/u01/app/oracle/fast_recovery_area/TestDB12/control02.ctl'
*.db_block_size=8192
*.db_domain='cuug.net' //刪除
*.db_name='TestDB12'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=TestDB12XDB)'
*.log_archive_dest_1='location=/dsk4/arch_bj' //刪除
*.log_archive_format='arch_%t_%s_%r.log'
*.memory_target=642006528
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE' //添加
*.undo_tablespace='UNDOTBS1' //添加
通過文檔添加的參數設定:
DB_NAME=chicago //刪除
DB_UNIQUE_NAME=bjdb //別名
LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,shdb)'
//參與DG的資料庫主機的別名
CONTROL_FILES='/arch1/chicago/control1.ctl','/arch2/chicago/control2.ctl'//刪除
LOG_ARCHIVE_DEST_1=
'LOCATION=/dsk4/arch_bj
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=bjdb' //填寫主庫別名
LOG_ARCHIVE_DEST_2=
'SERVICE=shdb ASYNC //通過網路傳遞給遠程備庫,最大效能,非同步傳輸
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
//只針對主庫才會生效,只有主庫把日誌傳遞給備庫
DB_UNIQUE_NAME=shdb
'
LOG_ARCHIVE_DEST_STATE_1=ENABLE //設定歸檔位置是否可用
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE //刪除
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc //刪除
LOG_ARCHIVE_MAX_PROCESSES=3 //添加,文檔中沒有此行?
FAL_SERVER=shdb //寫對方service name
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/sh','/u01/app/oracle/oradata/TestDB12'
//檔案轉換,讓備庫知道主庫的資料發生了變化,先寫對方的,再寫自己的
LOG_FILE_NAME_CONVERT=
'/dsk1/oradata/sh','/dsk1/oradata/bj','/dsk2/oradata/sh','/dsk2/oradata/bj'
//如果redo記錄檔發生變化,也要通知備庫,先寫對方的,再寫自己的,如果有多個路徑主備庫要一一對應
STANDBY_FILE_MANAGEMENT=AUTO //表示自動轉換
修改參數(範例):
*.audit_file_dest='/u01/app/oracle/admin/TestDB12/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/TestDB12/control01.ctl','/u01/app/oracle/fast_recovery_area/TestDB12/control02.ctl'
*.db_block_size=8192
*.db_name='TestDB12'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=TestDB12XDB)'
*.log_archive_format='arch_%t_%s_%r.log'
*.memory_target=642006528
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
DB_UNIQUE_NAME=bjdb
LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,shdb)'
LOG_ARCHIVE_DEST_1=
'LOCATION=/dsk4/arch_bj
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=bjdb'
LOG_ARCHIVE_DEST_2=
'SERVICE=shdb ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=shdb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_MAX_PROCESSES=3
FAL_SERVER=shdb
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/sh','/u01/app/oracle/oradata/TestDB12'
LOG_FILE_NAME_CONVERT=
'/dsk1/oradata/sh','/dsk1/oradata/bj','/dsk2/oradata/sh','/dsk2/oradata/bj'
STANDBY_FILE_MANAGEMENT=AUTO
使用pfile啟動資料庫
SQL>startupforce nomountpfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initTestDB12.ora';
補充:
SQL>startup force nomountpfile='$ORACLE_HOME/dbs/initTestdb12.ora';
報錯ORA-01078:
查看發現,參數名書寫錯誤導致由initTestdb12.ora改為initTestDB12.ora。
SQL>showparameter archive
SQL >create spfile frompfile; //由spfile產生pfile
SQL >startup forcemount; //啟動到mount
2、備庫-建立檔案目錄
在備庫(sh)中建立目錄(用以存放資料檔案、記錄檔):
$ mkdir -p/u01/app/oracle/oradata/sh
$ mkdir -p/u01/app/oracle/admin/sh/adump //存放審計用的目錄
3、主庫-拷貝資料檔案致備庫
注意:此時確保主庫處於mount狀態。
方式:
1、手工拷貝;
2、RMAN備份;
3、RMAN複製。
$scp /u01/app/oracle/oradata/TestDB12/*.dbfshsrv:/u01/app/oracle/oradata/sh
The authenticity of host 'shsrv (192.168.4.72)' can't be established.
RSA key fingerprint is 0f:d8:72:64:60:b4:0e:b6:72:69:68:7d:aa:7e:b8:bb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'shsrv,192.168.4.72' (RSA) to the list of knownhosts.
oracle@shsrv's password:oracle
4、主庫-為備庫產生控制檔案並拷貝
SQL>selectstatus from v$instance;
//主庫處於mount狀態,此時可以為備庫生產控制檔案
SQL>alterdatabase create standby controlfile as'/home/oracle/sh_control01.ctlcle/sh_control01.ctl';
//將生產的控制檔案放到指定的目錄下
$scp /home/oracle/sh_control01.ctl shsrv:/u01/app/oracle/oradata/sh
//通過主庫把產生的備庫控制檔案拷貝到備庫(sh)上
5、主庫-向備庫拷貝參數檔案
$cd $ORACLE_HOME/dbs
$scpinitTestDB12.ora shsrv:$ORACLE_HOME/dbs/initshdb.ora
6、主庫-向備庫拷貝口令檔案
$scp$ORACLE_HOME/dbs/orapwTestDB12 shsrv:$ORACLE_HOME/dbs/orapwshdb
7、主庫-瀏覽警示記錄檔
$tail -f/u01/app/oracle/diag/rdbms/bjdb/TestDB12/trace/alert_TestDB12.log
crtl+z退出//由CRT設定決定
********************未完待續**************************
聲明:
原創作品,出自 “深藍的blog” 部落格,允許轉載,轉載時請務必註明出處(http://blog.csdn.net/huangyanlong)。
關於涉及著作權事宜,作者有權追究法律責任。