Script:计算Oracle Streams进程所占用的内存大小

以下脚本可以用于收集Oracle Streams进程的内存使用信息, 便于诊断因memory leak引起的内存问题:

 

ps auxgw | sort -n +5 | tail -10 select a.apply_name, a.server_id, b.sid, b.program, c.spid, trunc(c.pga_used_mem / (1024 * 1024), 2) PGA_USED, trunc(c.pga_alloc_mem / (1024 * 1024), 2) PGA_ALLOC, trunc(c.pga_freeable_mem / (1024 * 1024), 2) PGA_FREE, trunc(c.pga_max_mem / (1024 * 1024), 2) PGA_MAX from v$streams_apply_server a, v$process c, v$session b . . . → Read More: Script:计算Oracle Streams进程所占用的内存大小

Slide:配置Oracle 10g双向流复制

配置Oracle 10g 双向流复制 View more documents from Maclean Liu

11g新特性:Streams同步捕获

11g中引入了新的Streams特性:Synchronous Capture同步捕获。不同于传统Streams的捕获机制,Synchronous Capture同步捕获不基于归档日志或者在线重做日志来捕捉数据库中的变化。取而代之,同步捕获使用另一种内部机制来捕捉数据库中的变化并对这些捕获的变化实施格式化,最终形成一条LCR(Logical change Record)。这些由同步捕获捕捉到得记录被称为persistent LCRs。同步捕捉总是将记录入列(enqueue)到一个提交时队列中(commit-time queue)以保证事务的顺序准确。

即便我们采用了同步捕捉来替代传统的捕捉方式,propagation和apply并不会有什么不同,这我们无需担忧。

同步捕获可以捕捉由UPDATE、INSERT、DELETE和MERGE四种DML语句产生的DML变化。因为其不依赖于重做和归档的特性,其甚至可以被用在非归档模式下,并且不要求打开任何追加日志。

同步捕捉可能适用于以下几种情景中:

无法使用基于重做(redo-based)的传统捕获方式(例如在Oracle database Standards Edition中) 无法使用重做或基于日志挖掘相关的功能,但可以用到其他Streams进程 要求在用户事务发生的同时执行捕获 捕获的变化被要求存放在磁盘上的队列中 克隆较少更新的表上的数据

同步捕获支持对以下数据类型列的DML变更捕捉:

VARCHAR2 NVARCHAR2 NUMBER FLOAT DATE BINARY_FLOAT BINARY_DOUBLE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND RAW CHAR NCHAR UROWID

需要注意的是不同于传统捕获方式,同步捕获不能使用如ADD_SCHEMA_RULES或ADD_GLOBAL_RULES存储过程建立。同步捕获仅能通过ADD_TABLE_RULES建立白名规则(table rule with a positive rule set),而不支持建立黑名规则(negative . . . → Read More: 11g新特性:Streams同步捕获

Streams Health Check on 10g Release 2

来自metalink的steams health check脚本,streams的故障检测一般比较复杂,如果出问题的系统无法运行RDA诊断包的话,那么以下这个脚本可以帮你的大忙:

streams_hc_10GR2.sql

使用方法:spool输出到指定的文件中,然后下载到本地用IE/Firefox等浏览器打开就可以了。

How to setup Oracle Streams Bi-Directional

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

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

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

. . . → Read More: How to setup Oracle Streams Bi-Directional

Streams Complete Reference FAQ

What DML and DDL is Captured by Streams

PURPOSE ——- This Note explains what DML and DDL are captured by Streams. SCOPE & APPLICATION ——————- To be used by DBA’s as a reference when configuring and troubleshooting Streams. This document is only relevant for 9i and not any future release. TYPES OF DML CHANGES CAPTURED —————————– INSERT UPDATE DELETE MERGE Piecewise updates . . . → Read More: What DML and DDL is Captured by Streams

How To Exclude A Table From Schema Capture And Replication When Using Schema Level Streams Replication

PURPOSE ——- This Notes explains how to exclude (filter out) specific tables from the capture process and replication, when using schema level Streams replication. SCOPE & APPLICATION ——————- To be used by DBA’s as a reference when configuring and implementing the Oracle Streams capture process for schema replication. PROBLEM ——- You have configured the Streams . . . → Read More: How To Exclude A Table From Schema Capture And Replication When Using Schema Level Streams Replication