配置oracle stream(step by step setup database level Streams Replication)
2012-08-16 10:02
375 查看
oracle stream简介
Stream 是Oracle 的消息队列(也叫Oracle Advanced Queue)技术的一种扩展应用。 Oracle 的消息队列是通过发布/订阅的方式来解决事件管理。流复制(Stream replication)只是基于它的一个数据共享技术,也可以被用作一个可灵活定制的高可用性方案。 它可以实现两个数据库之间数据库级,schema级,Table级的数据同步,并且这种同步可以是双向的。 Oracle Stream也是通过数据冗余来提高可用性,这一点和Data
Guard 类型。
下面是oracle stream 配置的简单过程(Database level)
1,配置数据库为归档模式
2,修改数据库相关的参数,一般需要设置global_names, _job_queue_interval, sga_target, streams_pool_size四个参数
3,stream数据库用户strmadmin及权限 @both db
4,配置tnsnames.ora
source 为hrdbprim,target db为hrdb,此处的数据库名称必须和global_name一致
5,开始配置stream
步骤a ,source数据库建立stream队列 ,j建 db link @source
b, @target hrdb 建stream队列
d, @target HRDB 建apply规则
E:导入导出数据,注意相关参数
F:启动apply和capture
6,验证结果
参考文档
Master Note for Streams Recommended Configuration [ID 418755.1]
How to Create STRMADMIN User and Grant Privileges [ID 786528.1]
How to setup Database Level Streams Replication [ID 459922.1]
Stream 是Oracle 的消息队列(也叫Oracle Advanced Queue)技术的一种扩展应用。 Oracle 的消息队列是通过发布/订阅的方式来解决事件管理。流复制(Stream replication)只是基于它的一个数据共享技术,也可以被用作一个可灵活定制的高可用性方案。 它可以实现两个数据库之间数据库级,schema级,Table级的数据同步,并且这种同步可以是双向的。 Oracle Stream也是通过数据冗余来提高可用性,这一点和Data
Guard 类型。
下面是oracle stream 配置的简单过程(Database level)
1,配置数据库为归档模式
2,修改数据库相关的参数,一般需要设置global_names, _job_queue_interval, sga_target, streams_pool_size四个参数
alter system set global_names=true scope=both; alter system set "_job_queue_interval"=1 scope=spfile;
3,stream数据库用户strmadmin及权限 @both db
create user STRMADMIN identified by STRM#123; ALTER USER STRMADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS; GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE,DBA to STRMADMIN; execute DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE('STRMADMIN');
4,配置tnsnames.ora
source 为hrdbprim,target db为hrdb,此处的数据库名称必须和global_name一致
hrdbprim = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.4.124.239)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = hrdbprim) ) ) hrdb = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.4.124.233)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = hrdb) ) )
5,开始配置stream
步骤a ,source数据库建立stream队列 ,j建 db link @source
conn strmadmin/STRM#123 BEGIN DBMS_STREAMS_ADM.SET_UP_QUEUE( queue_name => 'STREAMS_QUEUE', queue_table =>'STREAMS_QUEUE_TABLE', queue_user => 'STRMADMIN'); END; / conn sys/oracle as sysdba create public database link hrdb using 'hrdb'; conn strmadmin/STRM#123 create database link hrdb connect to strmadmin identified by STRM#123; @target db hrdb conn sys/oracle as sysdba create public database link HRDBPRIM using 'HRDBPRIM'; conn strmadmin/STRM#123 create database link HRDBPRIM connect to strmadmin identified by STRM#123;
b, @target hrdb 建stream队列
/* Step 2 - Connect as the Streams Administrator in the target site TARGET and create the streams queue */ conn strmadmin/STRM#123 BEGIN DBMS_STREAMS_ADM.SET_UP_QUEUE( queue_name => 'STREAMS_QUEUE', queue_table =>'STREAMS_QUEUE_TABLE', queue_user => 'STRMADMIN'); END; /c, @source db 建捕获(capture)和传播PROPAGATION 规则
/*Step 3 -Connected to source db, create CAPTURE and PROPAGATION rules */ conn strmadmin/STRM#123@source BEGIN DBMS_STREAMS_ADM.ADD_GLOBAL_PROPAGATION_RULES( streams_name => 'STRMADMIN_PROP', source_queue_name => 'STRMADMIN.STREAMS_QUEUE', destination_queue_name => 'STRMADMIN.STREAMS_QUEUE@hrdb', include_dml => true, include_ddl => true, source_database => 'HRDBPRIM'); END; / BEGIN DBMS_STREAMS_ADM.ADD_GLOBAL_RULES( streams_type => 'CAPTURE', streams_name => 'STRMADMIN_CAPTURE', queue_name => 'STRMADMIN.STREAMS_QUEUE', include_dml => true, include_ddl => true, source_database => 'hrdbprim'); END; /
d, @target HRDB 建apply规则
/*Step 4 - Connected as STRMADMIN at TARGET, create APPLY rules */ conn STRMADMIN/STRMADMIN@TARGET BEGIN DBMS_STREAMS_ADM.ADD_GLOBAL_RULES( streams_type => 'APPLY', streams_name => 'STRMADMIN_APPLY', queue_name => 'STRMADMIN.STREAMS_QUEUE', include_dml => true, include_ddl => true, source_database => 'hrdbprim'); END; / BEGIN DBMS_APPLY_ADM.SET_PARAMETER( apply_name => 'STRMADMIN_APPLY', parameter => 'disable_on_error', value => 'n'); END; /
E:导入导出数据,注意相关参数
/*Step 7 - Take an export of the DB at SOURCE */ exp USERID=SYSTEM/1232@hrdbprim FULL=Y FILE=stream.dmp LOG=stream.log OBJECT_CONSISTENT=Y STATISTICS = NONE /*Step 8 - Transfer the export dump file to TARGET and import */ imp USERID=SYSTEM/2314@hrdb CONSTRAINTS=Y FULL=Y FILE=stream.dmp IGNORE=Y COMMIT=Y LOG=stream_imp.log STREAMS_INSTANTIATION=Y
F:启动apply和capture
/*Step 9 - Start Apply and capture */ conn strmadmin/STRM#123@hrdb BEGIN DBMS_APPLY_ADM.START_APPLY( apply_name => 'STRMADMIN_APPLY'); END; / conn strmadmin/STRM#123@hrdbprim BEGIN DBMS_CAPTURE_ADM.START_CAPTURE( capture_name => 'STRMADMIN_CAPTURE'); END; /
6,验证结果
@source db hrdbprim SQL> insert into w select * from dba_tables; 1211 rows created. SQL> commit; Commit complete. @target hrdb strmadmin@HRDB1(dtydb3)>/ COUNT(*) ---------- 0 strmadmin@HRDB1(dtydb3)>/ COUNT(*) ---------- 1211
参考文档
Master Note for Streams Recommended Configuration [ID 418755.1]
How to Create STRMADMIN User and Grant Privileges [ID 786528.1]
How to setup Database Level Streams Replication [ID 459922.1]
相关文章推荐
- 配置oracle stream(step by step setup schema level Streams Replication)
- Oracle高级复制的创建配置步骤-Step by Step
- Oracle 11g Active Data Guard step by step: How to create a Physical Standby Database using RMAN
- Oracle dataguard配置Step by Step
- Data Guard Physical Standby Setup in Oracle Database 11g Release 2
- 转载:Data Guard Physical Standby Setup in Oracle Database 11g Release 2
- Data Guard Physical Standby Setup in Oracle Database 11g Release 2
- Oracle 11G Physical Standby Database Active Data Guard - 安装配置
- Data Guard Physical Standby Setup in Oracle Database 11g Release 2
- Step by Step oracle database 10gR2 upgrade to 11.2.0.2
- Step by Step oracle database 10gR2 upgrade to 11.2.0.2
- 在VMWare中配置SQLServer2005集群 Step by Step(五)——SQLServer集群安装
- 如何重新配置Oracle的EM Database Control
- Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
- 在VMWare中配置SQLServer2005镜像 Step by Step(二)——配置镜像
- Opencv step by step - 配置文件
- 关于Oracle Stream的安装、配置和使用
- How to remove Oracle Database from your computer---By Roger Gong
- Dataguard配置Step by Step
- Setup DNS Server step by step in CentOS 6.3/6.4/6.5 / RHEL 6.3/6.4/6.5 / Scientific Linux 6.3/6.4/6.