当前位置:  数据库>oracle

配置Oracle 10g 双向流复制

    来源: 互联网  发布时间:2017-04-19

    本文导语: 构建Oracle双向流复制是一个十分复杂的过程,我写这个文档的目的是尽量有条理地列出所需做的工作,帮助DBA更有效的建设流复制环境。 1.以scott模式为复制示例,一般只要在创建数据库时选择了安装sample schema,都会存在该scott...

构建Oracle双向流复制是一个十分复杂的过程,我写这个文档的目的是尽量有条理地列出所需做的工作,帮助DBA更有效的建设流复制环境。

1.以scott模式为复制示例,一般只要在创建数据库时选择了安装sample schema,都会存在该scott模式;至少保证源库中存在该schema,以便可以初始化到目标库中。

2.在源和目标2个数据库中创建strmadmin流管理用户,当然你也可以选用其他名字。同时在2个库中都要创建streams使用的表空间,以便让logmnr使用它:

CREATE TABLESPACE streams_tbs DATAFILE 'XXXXXX' SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

/* 10g r2中logmnr默认使用SYSAUX表空间 */

exec DBMS_LOGMNR_D.SET_TABLESPACE ('streams_tbs');

/* 创建完表空间后,接着要创建strmadmin用户 */

CREATE USER strmadmin IDENTIFIED BY strmadmin
DEFAULT TABLESPACE streams_tbs
QUOTA UNLIMITED ON streams_tbs;

GRANT DBA TO strmadmin;

BEGIN
DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
grantee => 'strmadmin',
grant_privileges => true);
END;
/




/* 可以通过查询dba_streams_administrator视图检查用户是否正确授予流管理权限 */

SQL> SELECT * FROM dba_streams_administrator;

USERNAME                       LOC ACC
------------------------------ --- ---
MACLEAN                        YES YES
STRMADMIN                      YES YES


3.在2边数据库中都需要设置合理的实例初始化参数,我们以10g release2为例:

参数名与推荐值:_job_queue_配置Oracle management server /Oracle启动OMS iis7站长之家 = 1
描述:job的队列的扫描参数,默认为5,即5s扫描一次
出于何种考虑:设置较小的_job_queue_interval有利于propagation作业
如何设置:alter system set "_job_queue_interval"=1 scope=spfile


/* 注意scope=spfile的参数都需要重启实例方能生效 */

参数名与推荐值:COMPATIBLE>= 10.2.0.0
描述:数据库版本兼容性参数,以前介绍过,不再展开
出于何种考虑:10g release2的部分Streams新特性要求该参数至少为10.2.0.0或更高
如何设置:只有从较低版本升级到10g r2的数据库需要设置该参数,
alter system set compatible="10.2.0.0" scope=spfile;



参数名与推荐值:GLOBAL_NAMES=true
描述:指定是否要求database link名与数据库全局名一致,默认为FALSE也就是不需要一致
出于何种考虑:帮助我们准确识别database link和数据库的关系,避免误操作
如何设置:alter system set global_names=true scope=spfile;


参数名与推荐值:job_queue_processes>4
描述:指定了实例中job队列进程的数量(如J000…J999).
出于何种考虑:该参数控制了实例中能够并行运行的job的最大值,应设一个大于已配置的propagations
数量的值,同时也要考虑到可能还有其他数据库作业
如何设置:alter system set job_queue_processes=15;



参数名与推荐值:parallel_max_servers
描述:指定了实例中最大并行进程的数量
出于何种考虑:
在Streams环境中,capture进程和apply进程都会用到多个并行进程。
设置该初始化参数为适当值(10*CPU#)以保证总是有足够的可用并行进程;
每多一个capture或apply进程,则有必要为该参数+2再加上加入的capture或apply进程的并行度parallelism参数。
如何设置:
alter system set PARALLEL_MAX_SERVERS=40;






参数名与推荐值:REMOTE_ARCHIVE_ENABLE
描述:指定是否将归档日志传送到远程目的地
出于何种考虑:只有downstream capture时会用到,不展开

参数名与推荐值:SGA_MAX_SIZE
描述:设置合理的SGA内存最大值
出于何种考虑:常见参数,不展开

参数名与推荐值:SGA_TARGET=0
描述:disable掉10g中的Automatic Shared Memory Management.
出于何种考虑:Oracle推荐stream环境中手动指定streams_pool和shared_pool的大小而不使用10g中的内存自动管理特性
如何设置:
alter system set sga_target=0;



参数名与推荐值:调优STREAMS_POOL_SIZE
描述:
为流池指定大小。流池包括了缓存的队列消息。此外,流池也会被用于并行capture和apply的内部通信
建议参考V$STREAMS_POOL_ADVICE视图的信息判断最佳大小,避免spill溢出
出于何种考虑:
该参数可以动态修改。若该参数归零则实例中streams相关的进程和作业都将无法运行。流池的大小受到以下因素的影响:
1.capture进程的并行度,每增加一个capture进程有必要为流池增加10MB的大小;
此外当capture参数PARALLELISM大于1时,有必要为流池增加10Mb*parallelism的大小;
举例来说,若某capture进程的并行度parallelism设置为3,则需要为Streams池增加30Mb。
2.apply进程的并行度,每增加一个apply进程有必要为streams pool增加1mb;
此外当apply进程的并行度大于1时,为streams pool增加1Mb*parallelism的大小;
举例来说某apply进程的parallelism被设置为5,则需要为streams池增加5Mb。
3.Logical Change Records(LCRS)被存储在buffered queues缓存队列中;
适当增加Streams pool大小以适应源库和目标库上数据复制的数据量;
Oracle建议在低负载的数据库上最小设置Streams pool为256Mb,而在活跃度高的OLTP环境中设置为500Mb;
通过V$STREAMS_POOL_ADVISE视图给出的建议进一步调整Streams Pool的大小
到一个合理值以避免过多的缓存队列溢出到磁盘上。
















    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 配置Oracle management server /Oracle启动OMS
  • 在Redhat7.2+Oracle8i如果硬件配置中用P4处理器,对oracle的安装有没有影响(100分)
  • weblogic 中怎样配置 oracle JDBC driver?
  • redhat 8.0+oracle 8.1.7下面配置proc环境的问题
  • linux下怎么配置jdbc 访问oracle ,知情者请告知
  • oracle的jdbc的配置
  • 一个jsp的数据库问题-oracle的服务端如何配置
  • 不会配置oracle怎么办?
  • JDBC from ORACLE 8.1.7的配置问题
  • Linux上怎么配置oracle的ODBC数据源?
  • 请问jboss+oracle文件怎样配置,数据库中文字段不为乱码
  • jdk1.3+tomcat怎样配置oracle驱动程序
  • 请问哪里有 小性机 +linux +oracle 的配置方案?
  • Linux主机下配置Oracle 10G自动启动过程记
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 求.bash_profile配置oracle详解
  • 用redhat linux8.0+Oracle8i做网络数据库服务器,我需要怎样配置?
  • 配置Oracle RAC需要注意的问题
  • Oracle数据库安装配置示例
  • Linux Apache PHP Oracle 安装配置
  • C++ Strings(字符串) 成员 get_allocator():返回配置器
  • LINUX如何配置网卡,配置TELNET,急!在线等待!
  • C++ MultiMaps 成员 get_allocator():返回multimap的配置器
  • liunx下配置axis2的环境变量怎么配置
  • C++ Lists(链表) 成员 get_allocator():返回list的配置器
  • centos配置JAVA运行环境在配置JK时出错
  • C++ Maps 成员 get_allocator():返回map的配置器
  • 求xmanager3.0 配置root用户,连接redhat linux 6.0 配置文档
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 高分求救!!!怎样在linux下配置tomcat文件?同时配置sqlServer数据库?
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3