linux下oracle11G DG搭建(二):圍繞主庫搭建操作

來源:互聯網
上載者:User

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)。

         關於涉及著作權事宜,作者有權追究法律責任。



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.