OracleDataGuardFeature12cR2系列(二)

上一篇文章介紹了Data Guard 12cR2中3個(gè)特性,本篇文章將繼續(xù)介紹部分新特性。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國際域名空間、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、徐匯網(wǎng)站維護(hù)、網(wǎng)站推廣。

| Using DBCA to Create a Data Guard Standby

在12c之前創(chuàng)建物理備庫的方法有:

1.使用RMAN備份恢復(fù)方法;

2.在11g時(shí)可以選擇duplicate方式創(chuàng)建物理備庫;通過這種方式直接在線從主庫搭建起物理備庫。

到12cR2后,Oracle又提供更簡單的方式來創(chuàng)建物理備庫,就是本篇文章介紹的方式:即使用DBCA方式直接建立物理備庫。這個(gè)功能再次簡化了創(chuàng)建備庫的復(fù)雜度。

通過DBCA提供的參數(shù)createDuplicateDB,我們可以很容易的搭建一個(gè)物理備庫。其具體語法如下:

dbca -createDuplicateDB 
-gdbName global_database_name 
-primaryDBConnectionString easy_connect_string_to_primary
-sid database_system_identifier
[-createAsStandby 
    [-dbUniqueName db_unique_name_for_standby]]
[-customScripts scripts_list]
[-datafileDestination data_files_directory]
[-initParams initialization_parameters
    [-initParamsEscapeChar initialization_parameters_escape_character]]
[-useWalletForDBCredentials {true | false}
     -dbCredentialsWalletPassword wallet_account_password
     -dbCredentialsWalletLocation wallet_files_directory]

雖然通過DBCA能非常簡單的創(chuàng)建一個(gè)物理備庫,但是要使用這個(gè)功能,必須滿足以下條件:

  1. 主庫必須是單機(jī)環(huán)境,非RAC數(shù)據(jù)庫;

  2. 主庫必須是非CDB環(huán)境;

在12c里非常重要的新特性之一就是多租戶環(huán)境,但是該特性不支持CDB環(huán)境的數(shù)據(jù)庫,同時(shí)主庫也不能是RAC環(huán)境。如果不滿足以上條件,在使用DBCA創(chuàng)建備庫的時(shí)候,會提示如下錯(cuò)誤:

主庫是CDB環(huán)境,錯(cuò)誤如下:
[FATAL] [DBT-16057] Specified primary database is a container database (CDB).
CAUSE: Duplicate database operation is supported only for non container databases.
主庫是RAC數(shù)據(jù)庫,錯(cuò)誤如下:
[FATAL] [DBT-16056] Specified primary database is not a Single Instance (SI) database.
CAUSE: Duplicate database operation is supported only for SI databases.

也就說通過DBCA搭建出來的備庫也是一個(gè)單機(jī)非CDB的備庫,如果你想要搭建一個(gè)為RAC的備庫,則需要手動轉(zhuǎn)換或者使用Oracle Enterprise Manager Cloud Control來將備庫轉(zhuǎn)換為RAC數(shù)據(jù)庫。

接下來將演示如何使用DBCA來創(chuàng)建一個(gè)物理備庫。假定主備環(huán)境如下:

Oracle Data Guard Feature 12cR2系列(二)

同時(shí)假設(shè)主備庫已經(jīng)具備如下環(huán)境:

1.主庫是單機(jī)并且使用ASM;

2.主庫已經(jīng)開啟了歸檔模式;

3.密碼文件和SPFILE都存儲在ASM中;

4.備庫同樣使用ASM存儲數(shù)據(jù),且備庫端環(huán)境已經(jīng)具備;

創(chuàng)建步驟如下:

1.在主庫開啟Force Logging

[oracle@dbpri]$ sqlplus / as sysdba
SQL> alter database force logging;
Database altered.
SQL>

2.主庫創(chuàng)建Standby Redo logs

查看Redo log的大?。?/p>

[oracle@dbpri]$ sqlplus / as sysdba
SQL> select thread#,group#,bytes/1024/1024 SIZE _MB, status from v$log;
THREAD#  GROUP# SIZE_MB   STATUS
---------- ---------- -------------- ----------------
1            1             100             CURRENT
1            2             100             INACTIVE
1            3             100             INACTIVE
1            4             100             INACTIVE
1            5             100             INACTIVE
1            6             100             INACTIVE

創(chuàng)建Standby redo logs:

[oracle@dbpri]$ sqlplus / as sysdba
SQL> alter database add standby logfile thread 1 group 7 ('+DATADG')  size 100M;
Database altered.
SQL> alter database add standby logfile thread 1 group 8 ('+DATADG')  size 100M;
Database altered.
SQL> alter database add standby logfile thread 1 group 9 ('+DATADG')  size 100M;
Database altered.
SQL> alter database add standby logfile thread 1 group 10 ('+DATADG')  size 100M;
Database altered.
SQL> alter database add standby logfile thread 1 group 11 ('+DATADG')  size 100M;
Database altered.
SQL> alter database add standby logfile thread 1 group 12 ('+DATADG')  size 100M;
Database altered.
SQL> alter database add standby logfile thread 1 group 13 ('+DATADG')  size 100M;
Database altered.
SQL>

當(dāng)在主庫創(chuàng)建好 Standby redo logs 后,備庫也會自動創(chuàng)建。

3.創(chuàng)建網(wǎng)絡(luò)服務(wù)名

主庫tnsnames.ora

ordbpri =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL= TCP)(HOST=dbpri)(PORT=1521)))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ordbpri)
)
)
ordbstd =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL = TCP)(HOST=dbstd) (PORT=1521)))(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ordbstd)
)
)
ordbpri_local_listener =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL = TCP)(HOST=dbpri)(PORT=1521) )
) 
)

備庫tnsnames.ora  

ordbpri =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL= TCP)(HOST=dbpri)(PORT=1521)))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ordbpri)
)
)
ordbstd =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL = TCP)(HOST=dbstd) (PORT=1521)))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ordbstd)
)
)
ordbstd_local_listener =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL = TCP)(HOST=dbstd)(PORT=1521) )
) 
)

4.在備庫執(zhí)行DBCA

[oracle@dbstd ~]$ dbca -silent -createDuplicateDB -gdbName ordbpri -sid ordbstd -sysPassword  oracle -primaryDBConnectionString dbpri:1521/ordbpri -createAsStandby -dbUniqueName ordbstd –initParams db_create_file_dest=+DATADG, db_create_online_log_dest_1=+DATADG,local_listener=”ordbstd_local_listener”
輸出如下:
Enter SYS user password:
Listener config step
33% complete
Auxiliary instance creation
66% complete
RMAN duplicate
100% complete
Look at the log file " /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/dbca/ordbpri/ordbpri.log" for further details.

注:也可以使用自定義腳本,當(dāng)備庫完成創(chuàng)建后,執(zhí)行定制腳本。

5.在備庫完成環(huán)境配置

SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=+DATADG  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ordbstd'
scope=spfile;
SQL> alter system set db_file_name_convert='+DATADG/ordbpri','+DATADG/ordbstd' scope=spfile;
SQL> alter system set log_file_name_convert='+DATADG/ordbpri','+DATADG/ordbstd' scope=spfile;
SQL> alter system set standby_file_management=auto scope=spfile;
SQL> alter system set remote_listener=' dbstd:1521' scope=spfile;
SQL> shutdown immediate
SQL> startup
SQL> alter system register;

注:在12c,可以嘗試使用DG Broker來進(jìn)行Data Guard的管理和維護(hù)。

6.備庫創(chuàng)建密碼文件和SPFILE到ASM

[grid@dbstd ~]$ export ORACLE_SID=+ASM1
[grid@dbstd ~]$ export ORACLE_HOME=/u01/app/12.2.0.1/grid
[grid@dbstd ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[grid@dbstd]$asmcmd –p
ASMCMD [+] > mkdir DATADG /ORDBSTD/PASSWORD
ASMCMD[+]>pwcopy /u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/orapwordbstd +DATADG/ORDBSTD/PASSWORD/pwordbstd
[oracle@dbstd]$ rm /u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/orapwordbstd
[oracle@dbstd ~]$ export ORACLE_HOME=/u01/app/12.2.0.1/dbhome_1
[oracle@dbstd ~]$ export ORACLE_SID=ordbstd
[oracle@dbstd ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@dbstd]$ sqlplus / as sysdba
SQL> create pfile='/tmp/pfilestd.ora' from spfile;
SQL> create spfile='+DATADG/ORDBSTD/spfileordbstd.ora' from 
pfile='/tmp/pfilestd.ora';
[oracle@dbstd]$ rm /u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/spfileordbstd.ora

7.備庫創(chuàng)建PFILE并且關(guān)閉備庫。

[oracle@dbstd]$echo “spfile='+DATADG/ORDBSTD/spfileordbstd.ora'” > /u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/initordbstd.ora
[oracle@dbstd] sqlplus / as sysdba
SQL> shutdown immediate
SQL>exit

8.將備庫注冊到Oracle Restart及啟動備庫。

[oracle@dbstd]$ srvctl add database -db ordbstd -oraclehome /u01/app/oracle/product/12.2.0.1/dbhome_1 -dbtype Single -instance ordbstd -node dbstd -dbname ordbpri -diskgroup DATADG -role physical_standby -spfile '+DATADG/ORDBSTD/spfileordbstd.ora' -pwfile '+DATADG/ORDBSTD/PASSWORD/pwordbstd'
[oracle@dbstd]$ srvctl start database -db ordbstd

至此,完成了DBCA從單實(shí)例主庫到創(chuàng)建單實(shí)例備庫。


| 作者簡介

楊波,沃趣科技數(shù)據(jù)庫技術(shù)專家
主要參與公司產(chǎn)品實(shí)施、測試、維護(hù)以及優(yōu)化。












當(dāng)前名稱:OracleDataGuardFeature12cR2系列(二)
標(biāo)題路徑:http://muchs.cn/article18/ihjigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、ChatGPT、定制開發(fā)網(wǎng)站設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名