一步一步學Streams(11) 第二部分 實踐之建立全庫複製(1)準備工作

junsansi發表於2009-02-25

  正如前面介紹的那樣,對於資料庫級複製,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)

    (PROGRAM = extproc)

    )

    (SID_DESC =

    (GLOBAL_DBNAME = jssstr.jss.cn)

    (ORACLE_HOME = /data/oracle/product/10.2)

    (SID_NAME = jssstr)

    )

    )

  修改後儲存並重啟監聽。

4、 確認資料庫初始化引數設定

  首先檢視源端:

    JSSWEB> show parameter global_names

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    global_names boolean TRUE

    JSSWEB> show parameter compatible

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    compatible string 10.2.0.3.0

    JSSWEB> show parameter job_queue

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    job_queue_processes integer 10

  目標端輔助例項配置完成後,啟動到nomount狀態:

    JSSSTR> startup nomount

    ORACLE 例程已經啟動。

    Total System Global Area 524288000 bytes

    Fixed Size 2073984 bytes

    Variable Size 213912192 bytes

    Database Buffers 301989888 bytes

    Redo Buffers 6311936 bytes

    JSSSTR> show parameter global_names;

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    global_names boolean TRUE

    JSSSTR> show parameter compatible

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    compatible string 10.2.0.3.0

    JSSSTR> show parameter job_queue

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    job_queue_processes integer 10

  這裡我們設定了必須設定的幾個初始化引數,事實上除了上述引數外,還有一些其它可選或相關的初始化引數設定,詳見:

5、 確認資料庫歸檔狀態

    JSSWEB> archive log list;

    Database log mode No Archive Mode

    Automatic archival Disabled

    Archive destination /opt/ora10g/product/10.2.0/db_1/dbs/arch

    Oldest online log sequence 9

    Current log sequence 11

  如果不是,可按下列方式操作修改資料庫為歸檔模式。

    JSSWEB> startup mount

    ORACLE instance started.

    Total System Global Area 524288000 bytes

    Fixed Size 2073984 bytes

    Variable Size 163580544 bytes

    Database Buffers 352321536 bytes

    Redo Buffers 6311936 bytes

    Database mounted.

    JSSWEB> alter database archivelog ;

    Database altered.

    JSSWEB> alter system set log_archive_dest_1=¨location=/data/oradata/jssweb/archive/¨;

    System altered.

    JSSWEB> archive log list;

    Database log mode Archive Mode

    Automatic archival Enabled

    Archive destination /data/oradata/jssweb/archive/

    Oldest online log sequence 9

    Next log sequence to archive 11

    Current log sequence 11

    JSSWEB> alter database open;

    Database altered.

  提示:如果不是準備配置成雙向的複製環境,目標端可以是非歸檔模式。

======================================

一步一步學Streams(10) 第二部分 實踐之準備工作(2)初始化環境

一步一步學Streams(9) 第二部分 實踐之準備工作(1)明確需求

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-557678/,如需轉載,請註明出處,否則將追究法律責任。

相關文章