oracle Streams 实践之创建全库复制

正如前面介绍的那样,对于数据库级复制,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.


提示:如果不是准备配置成双向的复制环境,目标端可以是非归档模式。



oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

你可能感兴趣的:(oracle,oracle,oracle,streams,Streams创建全库复制)