Oracle stream流复制的配置
配置:主库 100.100.100.20 linux系统, 数据库实例名db1 版本10.2.0.1
备库 100.100.100.254 windows系统数据库名 dbwin2版本10.2.0.1
过程为:备库捕捉主库 u1用户下所有表的变化,实时同步
1.1 主库的配置
1.1.1 主库oracle参数配置
alter system set aq_tm_processes=2 scope=both;
alter system set global_names=true scope=both;
alter system set job_queue_processes=10 scope=both;
alter system set parallel_max_servers=20 scope=both;
alter system set undo_retention=3600 scope=both;
alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
#自动分配
alter system set streams_pool_size=25M scope=spfile;
alter system set utl_file_dir='*' scope=spfile;
alter system set open_links=4 scope=spfile;
打开归档日志
1.1.2 主库创建stream管理用户
第一步, 创建streams管理用户表空间stream_tbs
SQL> create tablespace stream_tbs datafile '/home/oracle/oradata/db3/stream01.dbf'
2 size 200m
3 autoextend on
4 extent management local;
第二步,创建stream管理用户(例子中为了简化名称,设置为test),为了简化赋予DBA权限。
create user test identified by test default tablespace stream_tbs;
SQL> grant dba to test;
第三步,将logminer的数据字典从system表空间转移到新建的表空间stream_tbs
System用户执行
SQL> execute dbms_logmnr_d.set_tablespace('stream_tbs');
第四步、授权test用户为stream管理员(system用户执行)
SQL> begin
dbms_streams_auth.grant_admin_privilege(
grantee => 'test',
grant_privileges => true);
end;
/
1.1.3 主库创建dblink和配置主库的TNS网络
第一步,在主库(db1)中创建备库(dbwin2)的dblink(stream管理用户test创建)
Connect test/test
create database link dbwin2 connect to test identified by test using 'dbwin2';
第二步,配置主库的TNS网络,加上备库(dbwin2)的tns名称