[20140114]从禁用触发器看goldengate.txt

 

昨天看了两篇blog
http://www.pythian.com/blog/disabling-triggers-in-oracle-11-2-0-4/
http://www.pythian.com/blog/disabling-triggers-per-session/

我现在的测试环境是11.2.0.3,无法测试第1篇帖子的内容,不过第2篇的内容倒是可以测试.

重复blog的测试看看:

1.建立测试环境:
SCOTT@test> @ver

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

create table trigger_test as select * from dual;
create or replace trigger trigger_test_aiu
after insert or update on trigger_test
begin
    dbms_output.put_line('Trigger body');
end;
/

2.测试:

SCOTT@test> set serveroutput on
SCOTT@test> insert into trigger_test select * from dual;
Trigger body

1 row created.
--可以发现触发器有效.

--如果执行如下呢?
SCOTT@test> exec sys.dbms_xstream_gg.set_foo_trigger_session_contxt(fire=>true);
PL/SQL procedure successfully completed.

SCOTT@test> insert into trigger_test select * from dual;
1 row created.

--可以发现没有输出Trigger body,使用这个功能可以在会话端禁用触发器,也许在一些维护工作中有用.

3.看goldengate:
--如果仔细看这些就是goldengate的东西.

SCOTT@test> select owner,view_name from dba_views where view_name like '%GOLDENGATE%';
OWNER  VIEW_NAME
------ ------------------------------
SYS    GV_$GOLDENGATE_CAPTURE
SYS    GV_$GOLDENGATE_MESSAGETRACKING
SYS    GV_$GOLDENGATE_TABLE_STATS
SYS    GV_$GOLDENGATE_TRANSACTION
SYS    V_$GOLDENGATE_CAPTURE
SYS    V_$GOLDENGATE_MESSAGE_TRACKING
SYS    V_$GOLDENGATE_TABLE_STATS
SYS    V_$GOLDENGATE_TRANSACTION
SYS    DBA_GOLDENGATE_PRIVILEGES
SYS    USER_GOLDENGATE_PRIVILEGES
SYS    ALL_GOLDENGATE_PRIVILEGES

11 rows selected.

--在11.2.0.3的视图里面已经含有这些有关goldengate的视图,说明oracle对goldengate的重视程度.
--也许oracle 把流会放在次要的位置,而提升goldengate的战略地位.当然goldengate也不便宜.
--看来自己要开始学习一些goldengate的知识.

时间: 2024-09-20 23:34:19

[20140114]从禁用触发器看goldengate.txt的相关文章

[20161003]触发器与redo.txt

[20161003]触发器与redo.txt --对于触发器,我个人认为对于dba是最讨厌的东西,它使得维护变得困难,不小心就陷入陷阱里面. --我曾经跟开发讲过建立一个触发器相当于给表建立一个索引.除非万不得以不要建立触发器. --昨天看了一个例子,重复作者的测试来说明问题: http://orasql.org/2016/09/22/how-even-empty-trigger-increases-redo-generation/ 1.环境: SCOTT@test01p> @ ver1 POR

[20170410]快速找回触发器内容2.txt

[20170410]快速找回触发器内容2.txt --上午登录发现一个是触发器被人为删除了,需要恢复.链接http://www.itpub.net/thread-2084789-1-1.html. --我提供几个方法:1.取出备份的system数据文件,通过bbed之类的工具定位.2使用logminer 应该也可以定位,表sys.source$. --实际上还有1个简单粗暴的方法,直接通过strings查询归档日志.链接: http://blog.itpub.net/267265/viewspa

sqlserver 禁用触发器和启用触发器的语句_MsSql

--禁用 复制代码 代码如下: alter table tb disable trigger tir_name --啟用 复制代码 代码如下: alter table tb enable trigger tir_name

sqlserver 禁用触发器和启用触发器的语句

--禁用 复制代码 代码如下: alter table tb disable trigger tir_name --啟用 复制代码 代码如下: alter table tb enable trigger tir_name

使用SQLServer Audit来监控触发器的启用、禁用情况

原文:使用SQLServer Audit来监控触发器的启用.禁用情况  使用情景:              有时候会发现在触发器中的业务逻辑没有执行,可能是因为触发器的逻辑错误所引起的.但是有时候却是因为一些触发器被禁用了.          由于SQLServer默认不跟踪触发器的启用还是禁用.且禁用触发器的命令(Disable Trigger)不在默认跟踪里面捕获.但是可以在服务器级别的跟踪(不是使用Profiler)获取这些信息,捕获SQL:StmtCompleted并在TextData

详解SQL中的触发器

● 原因 ● 触发器 ○ 简介 ○ 分类 ○ INSERTED和DELETED ○ 优缺点 ● 语法 ○ 建立触发器 ○ 删除触发器 ○ 修改触发器 ○ 开启和禁用 ○ 提醒和保护 ● 示例 原因 今天看教程再次提及触发器,以前看数据库视频.牛腩视频.天轰穿都讲到过触发器,而只知道触发器的几个简单应用,感觉学的甚差,所以借此机会仔细学学触发器. 触发器 触发器简介: 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( ins

数据库程序设计中的约束、触发器和存储过程

上篇博客中所说的对于表操作的几种限制少分析了触发器.这次从对表设计的角度来着重分析约束和触发器的关系,并进一步扩展比较触发器和存储过程.但在看该篇博客前强烈建议大家好好读下我的上一篇博客<约束与数据库对象规则.默认值的探究> 首先,从图上来比较三者的关系: 触发器不仅能够保证数据的完整性,而且还可以封装复杂的T-SQL逻辑处理语句,在功能上类似于存储过程,所以触发器又是一种特殊的存储过程.但是存储过程的执行是我们使用Exec主观调用的,而触发器是经过一种事件操作后自动被调用的. 在拆开分析约束

sql 触发器操作详解

触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create.alter.drop语句.   常见的触发器有三种:分别应用于Inse

unix:行级级触发器变通成语句级触发器-变通处理

unix培训之变通处理:我们不妨做一下变通处理.将行级级触发器变通成语句级触发器.看下面的处理. 1.创建一个package:emp_pkg . CREATE ORREPLACE PACKAGE emp_pkg AS /* ---------------------------------- --Author:Kevin.yuan --create_time: 2008 -07-01 ---------------------------------- */ TYPE crArray IS TA