Oracle12c中多宿主环境(CDB&PDB)的数据库触发器(Database Trigger)
Oracle12c中可插拔数据库(PDBs)上的多宿主数据库触发器
随着多宿主选项的引入,数据库事件触发器可以在CDB和PDB范围内创建。
1. 触发器范围
为了在CDB中创建数据库事件触发器,需要以通用用户登录到数据库,且该用户需要被授予ADMINISTER DATABASETRIGGER系统权限。
CONN sys@cdb1 AS SYSDBA
CREATE OR REPLACE TRIGGER cdb1_aftr_strtup_trg
AFTER STARTUP ON DATABASE
BEGIN
--触发器操作代码
NULL;
END;
/
为了在PDB中创建一个数据库触发器,需要以通用用户或本地用户连接该数据库,且该用户需要被授予该数据库范围内的ADMINISTER DATABASETRIGGER系统权限。ON DATABASE 和ON PLUGGABLE DATABASE子句在PDB内作用是一样的,但有些事件要求显式的ON PLUGGABLE DATABASE子句。
CONN sys@pdb1 AS SYSDBA
CREATE OR REPLACE TRIGGER pdb1_aftr_strtup_trg
AFTER STARTUP ON PLUGGABLE DATABASE
BEGIN
-- 触发器操作代码
NULL;
END;
/
CREATE OR REPLACE TRIGGER pdb1_aftr_strtup_trg
AFTER STARTUP ON DATABASE
BEGIN
-- 触发器操作代码
NULL;
END;
/
有些事件触发器也可以用于CDB和PDB的模式层面。功能并未因多宿主选项而改变。
CONN sys@cdb1 AS SYSDBA
CREATE OR REPLACE TRIGGER cdb1_aftr_lgn_trg
AFTER LOGON ON test.SCHEMA
BEGIN
-- 触发器操作代码
NULL;
END;
/
CONN sys@pdb1 AS SYSDBA
CREATE OR REPLACE TRIGGER pdb1_aftr_lgn_trg
AFTER LOGON ON test.SCHEMA
BEGIN
-- 触发器操作代码
NULL;
END;
/
2. 可用事件
1) 下列数据库时间均可用于CDB和PDB层面。
ü AFTER STARTUP :CDB或PDB打开后触发器触发。
ü BEFORE SHUTDOWN :CDB或PDB关闭前触发器触发。
ü AFTER SERVERERROR。可用于PDB当服务器错误信息被记录且触发错误触发器安全时触发器将被触发,可用于数据库或模式层面。
ü AFTER LOGON :当客户端登录到CDB或PDB时触发器触发,可用于数据库或模式层面。
ü BEFORE LOGOFF:客户端退出CDB或PDB时触发,可用于数据库或模式层面。
ü AFTER SUSPEND :当服务器错误引起事务暂停时触发器触发,可用于数据库或模式层面。
ü BEFORE SET CONTAINER:SET CONTAINER命令执行前触发器触发,可用于数据库或模式层面。
ü AFTER SET CONTAINER:SET CONTAINER命令执行后触发器触发,可用于数据库或模式层面。
2) 下列数据库事件仅用于CDB层面。
ü AFTER DB_ROLE_CHANGE:在DG配置环境中,当数据库角色从主库切换为备库或从备库切换为主库时触发。
3) 下列数据库事件只能用于PDB层面,且要求显式的ON PLUGGABLEDATABASE子句,使用ON DATABASE子句会导致报错。
ü AFTER CLONE :克隆操作完成后,触发器就在新PDB中触发,且随后该触发器被删除。如果触发器失败,克隆操作也会失败。
ü BEFORE UNPLUG :在去插拔操作前,触发器在PDB中触发,且随后该触发器被删除。如果触发器失败,去插拔操作也将失败。
Oracle12c中多宿主环境(CDB&PDB)的数据库触发器(Database Trigger)的更多相关文章
- Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本
对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文 ...
- 转 12C 连接CDB和PDB
来源:David Dai -- Focus on Oracle 连接到CDB 和普通实例一样的连接. 指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接. [oracle@Ora1 ...
- 微信小程序开发8-小程序的宿主环境(1)
1.小程序的运行环境分成渲染层和逻辑层,第2章提到过 WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层.小程序的渲染层和逻辑层分离是经过很多考虑得出来的模型 2. 1.渲染层和数据 ...
- 12c debug 转 12C 连接CDB和PDB
来源:David Dai -- Focus on Oracle 连接到CDB 12c debug 和普通实例一样的连接. 指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接. [o ...
- Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)
Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB).本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB).1. 配置CDB中的实例 ...
- Oracle12c多租户CDB 与 PDB 参数文件位置探讨、查询 CDB 与 PDB 不同值的参数
一. Oracle12c多租户CDB 与 PDB 参数文件位置CDB的参数文件依然使用12c以前的SPIFLE,pdb的参数文件不会出现在SPFILE中,而是直接从CDB中继承,如果PDB中有priv ...
- 浅谈Oracle12c 数据库、用户、CDB与PDB之间的关系
名词介绍: 数据库:数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生 于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以 后,数据管理不再仅仅是存储和管理 ...
- ASP.NET Web API WebHost宿主环境中管道、路由
ASP.NET Web API WebHost宿主环境中管道.路由 前言 上篇中说到ASP.NET Web API框架在SelfHost环境中管道.路由的一个形态,本篇就来说明一下在WebHost环境 ...
- ASP.NET Web API Selfhost宿主环境中管道、路由
ASP.NET Web API Selfhost宿主环境中管道.路由 前言 前面的几个篇幅对Web API中的路由和管道进行了简单的介绍并没有详细的去说明一些什么,然而ASP.NET Web API这 ...
随机推荐
- trace
linux 下程序的系统调用和信号调用跟踪工具 http://www.cnblogs.com/qingquan/archive/2011/07/18/2110072.html
- PHP微信公众号后台开发(Yii2实现)
本文内容较多,包括微信接入.获取微信用户信息.微信支付.JSSDK配置参数获取等部分.如果读者对微信开发没有一个主观上的认识,那么建议读者先研读微信公众平台开发者文档,然后再阅读本文,效果更佳!另外本 ...
- 20145317彭垚 MSF基础应用
20145317彭垚 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode? exploit就相当于是载具,将真正要负责攻击的代码传送到靶机中,我觉得老师上课 ...
- Educational Codeforces Round 21 Problem F (Codeforces 808F) - 最小割 - 二分答案
Digital collectible card games have become very popular recently. So Vova decided to try one of thes ...
- C++ tinyXML的使用和字符编码转换
转载:http://jetyi.blog.51cto.com/1460128/761708/ 关于tinyxml使用的文档有很多(这篇文章就写的很好),这里仅提一下字符编码的转换问题,如果你不熟悉字符 ...
- React 回忆录(三)使用 React 渲染界面
Hi 各位,欢迎来到 React 回忆录!
- 主引导记录MBR的结构和作用
MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR.1. MBR的结构MBR扇区位于整个硬盘的第一个扇区:按照C/H/S地址描述,即0柱面〇磁头1扇 区:按照LBA地址描述即0扇区.它是 ...
- 支持github的chrome插件octotree
1.这款插件有何作用? 方便浏览github上的源码 2.安装方法 通过以下链接进行安装: https://chrome.google.com/webstore
- linux下精确替换某个字符串
1.linux下精确替换某个字符串 sed -i 's/\<old\>/new/g' filename.txt 2.举例: 2.1有个文件名为filename.txt,内容如下: newd ...
- win7下把电脑设置成wlan热
有很多公司没有无线网,只有自己的电脑可以上网,现在设置热点,可以手机上网 步骤: 1.看自己的网卡是否支持承载网络,如果不支持,本法就不适用 在CMD里用 netsh wlan show dri ...