- 浏览: 1020217 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
在完成streams部署之后,如果需要重新配置或舍弃配置,可以选择清除这些配置信息。
这个清除工作的步骤非常简单,只需要如下一条命令:
EXEC DBMS_STREAMS_ADM.REMOVE_STREAMS_CONFIGURATION();
有朋友问过我这样一个问题:这个Remove过程在进行什么工作?为什么会非常缓慢?
要想了解这个过程也非常简单,只需要跟踪一下就可以了,全部过程可以参考如下步骤:
bash-3.00$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Oct 31 14:53:32 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning and Data Mining optionsSQL> alter session set events '10046 trace name context forever,level 12';
Session altered.
SQL> EXEC DBMS_STREAMS_ADM.REMOVE_STREAMS_CONFIGURATION();
PL/SQL procedure successfully completed.
然后找到这个跟踪文件,仔细研究解读一下就能了解这个操作的内部原理及步骤,以下摘录一些主要步骤。
捕获处理部分:
SELECT CAPTURE_NAME
FROM
DBA_CAPTURE
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.02 0.02 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.00 0 6 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.02 0.02 0 6 0 1Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS (recursive depth: 1)Rows Row Source Operation
------- ---------------------------------------------------
1 NESTED LOOPS OUTER (cr=6 pr=0 pw=0 time=870 us)
1 NESTED LOOPS (cr=4 pr=0 pw=0 time=682 us)
1 TABLE ACCESS FULL STREAMS$_CAPTURE_PROCESS (cr=3 pr=0 pw=0 time=555 us)
1 INDEX UNIQUE SCAN LOGMNR_SESSION_PK (cr=1 pr=0 pw=0 time=113 us)(object id 5788)
1 TABLE ACCESS CLUSTER USER$ (cr=2 pr=0 pw=0 time=170 us)
1 INDEX UNIQUE SCAN I_USER# (cr=1 pr=0 pw=0 time=29 us)(object id 11)********************************************************************************
UPDATE sys.streams$_capture_process SET status = :1, status_change_time =
SYSDATE, ruleset_owner = :2, ruleset_name = :3, flags = :4, start_scn = :5,
first_scn = :6, use_dblink = :7, negative_ruleset_owner = :8,
negative_ruleset_name = :9, version = :10, error_message = :11,
error_number = :12, capture_userid = :13, spare3 = :14
WHERE
capture# = :15
移除流规则定义:
begin dbms_streams_adm_utl.remove_streams_rule(NULL, NULL, :1, :2); end;
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.06 0.06 0 12 0 1
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.06 0.06 0 12 0 1Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: CHOOSE
Parsing user id: SYS (recursive depth: 1)
********************************************************************************DELETE FROM SYS.STREAMS$_RULES R
WHERE
R.RULE_OWNER = NVL(:B4 , R.RULE_OWNER) AND R.RULE_NAME = NVL(:B3 ,
R.RULE_NAME) AND R.STREAMS_NAME = NVL(:B2 , R.STREAMS_NAME) AND
R.STREAMS_TYPE = NVL(:B1 , R.STREAMS_TYPE)
删除流规则信息:
DELETE FROM SYS.STREAMS$_MESSAGE_RULES R WHERE R.RULE_OWNER = NVL(:B4 , R.RULE_OWNER) AND R.RULE_NAME = NVL(:B3 , R.RULE_NAME) AND R.STREAMS_NAME = NVL(:B2 , R.STREAMS_NAME) AND R.STREAMS_TYPE = NVL(:B1 , R.STREAMS_TYPE)
当然还有大量对于LOGMINER的处理过程:
BEGIN DELETE FROM sys.aq$_replay_info t WHERE t.eventid = :1 AND t.agent.name
= :2 AND t.agent.address IS NULL AND t.agent.protocol =
sys.dbms_aqadm.LOGMINER_PROTOCOL; END;
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.01 0.01 0 27 0 1
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.01 0.01 0 27 0 1Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: CHOOSE
Parsing user id: SYS (recursive depth: 1)
********************************************************************************select toid
from
coltype$ where obj#=:1 and intcol#=:2
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.01 0.00 0 0 0 0
Fetch 1 0.00 0.00 0 3 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.01 0.00 0 3 0 1Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: CHOOSE
Parsing user id: SYS (recursive depth: 2)Rows Row Source Operation
------- ---------------------------------------------------
1 TABLE ACCESS BY INDEX ROWID COLTYPE$ (cr=3 pr=0 pw=0 time=64 us)
1 INDEX UNIQUE SCAN I_COLTYPE2 (cr=2 pr=0 pw=0 time=37 us)(object id 170)********************************************************************************
DELETE FROM SYS.AQ$_REPLAY_INFO T
WHERE
T.EVENTID = :B2 AND T.AGENT.NAME = :B1 AND T.AGENT.ADDRESS IS NULL AND
T.AGENT.PROTOCOL = :B3
总之这个清除过程相当复杂,所以类似的操作应当选择在数据库空闲时段来完成,以避免对数据库产生性能冲击,切记切记!
发表评论
-
sqlldr总结参数介绍
2012-06-28 14:29 22819有效的关键字: userid -- ORACLE use ... -
11gR2新特性:STANDBY_MAX_DATA_DELAY
2011-12-27 11:18 1210Active Data Guard 是 Oracle 11g ... -
Linux下用OCCI或OCI连接Oracle
2011-07-26 12:00 2899首先,去oracle官网下载C ... -
Oracle Mutex实现机制
2011-05-18 23:43 1064我们都知道Latch是Oracle ... -
local_listener参数作用
2011-05-10 17:19 1924pmon只会动态注册port等于1521的监听,否则 ... -
oracle伪列 rowid和rownum
2011-03-23 10:00 3532整理ROWID一 一,什么是伪列RowID?1,首先是一种数 ... -
Oracle10gR2 主备自动切换之客户端Failover配置
2011-01-20 10:32 9501. 主库检查和设置假设新增的服务名为ORCL_TAF.LK. ... -
Oracle10g配置Dataguard的相关参数解释
2011-01-20 10:24 1265参考自 http://space.itpub.ne ... -
wrap加密oracle包
2011-01-19 11:52 1297大家都知道oracle的很多系统包是没法看它的源码的,orac ... -
利用hcheck检查数据字典一致性状态
2011-01-17 17:42 1813利用hcheck可以检查oracle数据字典的一致性状态,主要 ... -
插入相同的数据量普通表和临时表产生的redo对比
2011-01-17 16:08 985往临时表里插入相同量 ... -
Database Link与GLOBAL_NAMES参数
2011-01-12 13:36 1028当GLOBAL_NAMES参数设置为TRUE时,使用DATAB ... -
red hat enterprise 下完全删除oracle 数据库
2011-01-05 01:28 1756步骤 1 以oracle用户登录主、备节点。步骤 2 ... -
Oracle常用dump命令
2010-12-20 00:31 831Oracle常用dump命令,记录一下备查。 一.M ... -
oracle执行DML(事物过程)的深入研究(二)
2010-12-14 15:02 1536接上一节的 oracle执行DML(事物过程)的深入研究(一) ... -
oracle执行DML(事物过程)的深入研究(一)
2010-12-14 10:26 2803用户所执行 DML (即执行事务)操作在 Oracle 内部按 ... -
Oracle基本数据类型存储格式研究(二)—数字类型
2010-12-14 00:35 1471数字类型包含number,intege ... -
Oracle基本数据类型存储格式研究(一)—字符类型
2010-12-13 23:32 11701.char char是定长字符型,内部代码是:96,最多可 ... -
关于oracle rowid的一些内容 -- 转载
2010-12-13 15:47 779本文讨论的是关于oracle ... -
oracle 进制转换
2010-12-13 14:24 12571.16进制转换为10进制 ...
相关推荐
Oracle 11g Streams Implementer’s Guide详细阐述了如何设计、配置和管理Streams环境,涵盖了从基础概念到高级特性的全面指导,是任何希望深入了解和使用Oracle Streams的人的重要参考资料。通过深入阅读和实践,你...
### Oracle流配置与复制Schemas的关键点解析 #### 一、概述 Oracle Streams 是一种用于在数据库之间同步数据和事件的技术。它通过捕捉源数据库上的数据更改(包括DDL和DML操作),并通过网络将这些更改传播到目标...
Oracle Streams是一种Oracle数据库提供的免费、灵活的数据库同步机制,它基于Oracle高级队列技术,用于实现数据容灾和共享。然而,Streams在实际部署中可能会遇到稳定性问题,尤其是由冲突事务引发的问题。冲突通常...
### Step by step配置Oracle Stream #### 1. 引言 在现代企业的IT环境中,确保数据的高度可用性和一致性至关重要。Oracle Stream作为一种强大的工具,能够帮助实现数据库间的高效同步,不仅适用于灾难恢复方案,还...
* Streams pool:专门用户Oracle Stream功能的,如果使用了该功能但没有配置streams pool,Oracle将会用10%的shared pool作为streams memory streams_pool_size。 * "Null" memory:block buffers + fixed sga + ...
- **Streams Pool**: 用于Oracle Streams功能。 - **Large Pool**: 用于存储大型内存对象,如RMAN备份缓存。 - **Background Processes**: 如DBWR、LGWR、CKPT、SMON、PMON等。 - **Server Process (SP)**: 每个...
Oracle Streams 是 Oracle 数据库的一个组件,用于在数据库之间实时传输数据。它支持复杂的数据复制场景,包括单向和双向复制,以及同步和异步模式。本文将深入探讨 Streams 的核心概念、创建流程以及如何进行诊断和...
- `STREAM.ncd`可能涉及Oracle Streams,这是一个数据复制解决方案,用于在数据库之间同步数据。 - `mvdata.ncd`可能涵盖数据迁移和转换的方法,比如使用RMAN(Recovery Manager)或者GoldenGate。 - `myoracle....
- **流池**(Streams Pool):用于Oracle GoldenGate等数据复制功能。 - **后台进程**:负责处理实例中的各种任务,如: - **系统监控器**(SMON, System Monitor):执行实例恢复、合并碎片空间等。 - **进程...
从文本初始化参数文件(init.ora)转换到二进制初始化参数文件(spfile)是Oracle数据库管理中的常见任务。使用`create spfile from pfile`命令可以实现这一转换,确保数据库配置的稳定性和安全性。 #### 4. 数据块...
- `STREAMS_POOL_SIZE`: 分配给Oracle Streams的内存池大小,如1GB。 - `SHARED_POOL_SIZE`: 分配给共享池的大小,如3GB。 - **理解要点**: - 当SGA_TARGET设置后,如果其他组件不够用,SGA最多可扩展到SGA_MAX_...