Oracle数据库10gR2中stream多源复制方法(二)

2014-11-24 02:00:56 · 作者: · 浏览: 16
ion_setup过程

post_instantiation_setup也在源库执行,需要注意的参数是instantiation_scn

它的取值是我们从源库上获的scn的值-1=429595.

SQL>connect ;

SQL>declare

empty_tbs dbms_streams_tablespace_adm.tablespace_set;

begin

dbms_streams_adm.post_instantiation_setup(

maintain_mode => GLOBAL,

tablespace_names => empty_tbs,

source_database => test96.net,

destination_database => test99.net,

perform_actions => true,

bi_directional => true,

include_ddl => true,

start_processes => true,

instantiation_scn => 429595,

exclude_schemas => *,

exclude_flags => dbms_streams_adm.exclude_flags_unsupported +

dbms_streams_adm.exclude_flags_dml + dbms_streams_adm.exclude_flags_ddl);

end;

/

在目标库禁止restricted session

SQL>connect as sysdba

SQL>alter system disable restricted session;

5.测试stream的配置结果

a 在test96上创建一个schema,并在该schema下创建一些对象,可以在test99上看到

b 在test99上创建一个schema,并在该schema下创建一些对象,可以在test96上看到

6 关于双向复制中avoid change cycling

查看目标库apply进程的tag:

COLUMN APPLY_NAME HEADING Apply Process Name FORMAT A30

COLUMN APPLY_TAG HEADING Tag Value FORMAT A30

SQL>connect as sysdba;

SELECT APPLY_NAME, APPLY_TAG FROM DBA_APPLY;

Apply Process Name Tag Value

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

APPLY$_TEST96_42 010781

查看源库apply进程的tag:

COLUMN APPLY_NAME HEADING Apply Process Name FORMAT A30

COLUMN APPLY_TAG HEADING Tag Value FORMAT A30

SQL>connect as sysdba;

SELECT APPLY_NAME, APPLY_TAG FROM DBA_APPLY;

Apply Process Name Tag Value

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

APPLY$_TEST99_15 010498

说明:消除多源复制中的递归问题,stream中已经有很好的消除机制,

源端正常作业写入的redo entry的tag是NULL的,如果是由于源端的apply进程

产生的redo entry,在redo entry中将带有tag标志,这样在源端捕获进程在

捕获的redo entry中,过虑掉tag是NULL的,然后就可以消除change cycling.


10gR2stream全库复制

以上主要为大家介绍了pre_instantiation_setup/post_instantiation_setup过程在配置全库复制的方法,以下介绍dbms_streams_adm的maintain_global过程如何配置stream全库复制方法,适用于10gR2及以后版本。

1l.在stream进行配置前,需要做些准备工作

a 源库与目标库初始化参数的设置

alter system set aq_tm_processes=4 scope=spfile;

alter system set job_queue_processes=5 scope=spfile;

alter system set global_names=true scope=spfile;

alter system set streams_pool_size=51m scope=spfile;

说明streams_pool_size在生产环境中最好>200m

b 源库与目标库tnsnames.ora配置

确保正确,可用tnsping通

c 源库与目标库复制管理员的创建

create user strmadmin identified by strmadminpw

default tablespace &tbs_name qu