正如前面介紹的那樣,對於資料庫級複製,oracle提供了兩種方式:
A 、MAINTAIN_GLOBAL
B 、PRE_INSTANTIATION_SETUP、POST_INSTANTIATION_SETUP
Maintain_global適用於中小型資料庫建立,而PRE_INSTANTIATION_SETUP+POST_INSTANTIATION_SETUP適用於大型資料庫的建立,這裡我們示範通過 PRE_INSTANTIATION_SETUP 和POST_INSTANTIATION_SETUP過程建立資料庫級streams複製環境。
設定環境如下:
來源資料庫 sid : jssweb ,目標庫 : jssstr( 目標庫暫不存在,我們將通過rman duplicate 複製一個)
Do_domain 均為jss.cn
源庫本地捕獲
複製環境為雙向複製
同步DDL操作
通過RMAN進行目標庫初始化
採用直接配置的方式,不產生指令碼
提示:capture進程不會捕獲sys/system/ctxsys幾個schema的修改。因此這幾個使用者下的修改不會在streams環境中維護。
一、準備工作:
1、 設定標識符
為了醒目區分操作所在的資料庫,便於閱讀,我們首先通過sql*plus的set sqlprompt命令設定作業符。
設定源庫端顯示:
[oracle@yans1 ~]$ export ORACLE_SID=jssweb
[oracle@yans1 ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 11月 25 16:4 1 :40 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> set sqlprompt "JSSWEB> "
JSSWEB>
設定目標庫顯示:
[oracle@yanttest ~$ export ORACLE_SID=jssstr
[oracle@yanttest ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 11月 25 16:43:43 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已串連到空閑常式。
SQL> set sqlprompt "JSSSTR> "
JSSSTR>
2、 建立jssstr輔助執行個體
這一步主要是為了後面執行rman duplicate命令打下基礎,關於建立輔助執行個體的相關操作,如果你尚不瞭解,建議參考《[ 三思筆記]RMAN進階應用程式之Duplicate複製資料庫》,由於本步操作稍嫌繁瑣,而且非本節介紹之主要內容,為避免本步操作佔用過多篇幅影響視線,就不提供詳細步驟了。
3、 設定源端及目標端監聽和TNSNAMES
主要修改兩機%ORACLE_HOME/network/admin/listener.ora和tnsnames.ora,確保監聽已啟動,兩機互聯互連。
源端和目標端tnsnames.ora增加下列內容:
JSSWEB_172.25.13.229 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.13.229)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = jssweb.jss.cn)
)
)
JSSSTR_172.25.13.231 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.13.231)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = jssstr.jss.cn)
)
)
源端監聽listener.ora增加下列內容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PlsExtProc)
(ORACLE_HOME = /opt/ora10g/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = jssweb.jss.cn)
(ORACLE_HOME = /opt/ora10g/product/10.2.0/db_1)
(SID_NAME = jssweb)
)
)
目標端也進行相應修改:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PlsExtProc)
(ORACLE_HOME = /data/oracle/product/10.2)
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/