Oracle10gR2 Streams(五)全库复制之三
在《Oracle10gR2 Streams(四)全库复制之二》中利用maintain_global配置了一个downstream的全库复制,本例将在该试验的基础上修改成real-time downstream的全库复制。
所谓实时异地捕获,其实和普通的异地捕获基本上是一致的,所不同的,就是传递到捕获进程所在库的不再是归档日志,而是通过lgwr进程直接传送当前redo。这和data guard中使用arch还是lgwr来传送日志的机制是一样的。
一、在捕获进程所在库创建standby redo logfile
2 'F:\oracle\oradata\dest\stdbyredo01.log' size 5m;
Database altered.
STRMADM@dest>alter database add standby logfile
2 'F:\oracle\oradata\dest\stdbyredo02.log' size 5m;
Database altered.
STRMADM@dest>alter database add standby logfile
2 'F:\oracle\oradata\dest\stdbyredo03.log' size 5m;
Database altered.
STRMADM@dest>alter database add standby logfile
2 'F:\oracle\oradata\dest\stdbyredo04.log' size 5m;
Database altered.
Oracle10gR2 Streams(四)全库复制之二
在上一篇中展示了使用pre_instantiation_setup/post_instantiation_setup结合rman做初始化的方式实现全库复制的过程,可以说是非常的简单。本例将使用maintain_global来配置一个单向的远程捕获的全库复制。Maintain_global使用expdp/impdp来进行初始化,所以需要目标库已经存在。如果源库比较大,采用data pump初始化可能需要比较长的时间。
源库:ning.test
目标库:dest.test
一、配置directory
因为是使用expdp/impdp来执行初始化,所以需要为expdp/impdp创建响应的directory。当然这不是必须的,data pump可以直接通过网络执行导入。
Directory created.
STRMADM@dest>create directory dir_dest as 'f:\oracle\dest';
Directory created.
Oracle10gR2 Streams(三)全库复制之一
在Oracle10gR2中,配置全库复制有两种方式,都是使用dbms_streams_adm中的过程来配置:
一种是pre_instantiation_setup/post_instantiation_setup结合rman来做初始化;另外一种方式是通过maintain_global结合expdp/impdp来做初始化。这一篇展示第一种配置方式,下一篇再来试验第二种方式。
pre_instantiation_setup/post_instantiation_setup这种方式只能配置本地捕获的全库复制,采用rman的duplicate来进行目标库的初始化,所以一开始目标库是不存在的。这两个过程都在源库中执行。
源库:ning.test
目标库:dest.test
一、执行pre_instantiation_setup
2 empty_tbs DBMS_STREAMS_TABLESPACE_ADM.TABLESPACE_SET;
3 BEGIN
4 DBMS_STREAMS_ADM.PRE_INSTANTIATION_SETUP(
5 maintain_mode => 'GLOBAL',
6 tablespace_names => empty_tbs,
7 source_database => 'ning.test',
8 destination_database => 'dest.test',
9 perform_actions => true,
10 bi_directional => true,
11 include_ddl => true,
12 start_processes => true,
13 exclude_schemas => NULL,
14 exclude_flags => DBMS_STREAMS_ADM.EXCLUDE_FLAGS_UNSUPPORTED +
15 DBMS_STREAMS_ADM.EXCLUDE_FLAGS_DML +
16 DBMS_STREAMS_ADM.EXCLUDE_FLAGS_DDL);
17 END;
18 /
PL/SQL procedure successfully completed.
Oracle10gR2 Streams(二)准备复制环境
这个系列后续的几篇将具体的演示各种复制的实际配置,配置复制前需要做一些准备工作,主要有四个方面:
一、源数据库置于归档模式
当然,如果是双向复制,则每个库都是源库,都需要处于归档模式
Database log mode Archive Mode
Automatic archival Enabled
Archive destination F:\oracle\arch\ning
Oldest online log sequence 192
Next log sequence to archive 194
Current log sequence 194