Oracle 11G中的Edition-Based Redefinition(CrossEdition)
来源:互联网 发布:网上找淘宝客服 编辑:程序博客网 时间:2024/06/10 23:54
11.2不但增加了版本的功能,而且还提供了不停机的版本升级功能。为了保证在升级版本的过程中,用户仍然可以访问数据,Oracle提供了CROSSEDITION触发器来处理版本升级或降级过程中的数据问题。
简单的说,CROSSEDITION触发器可以其他的版本中生效,使得登陆到其他版本的会话执行的DML可以正确的将数据应用到当前版本。如果是升级版本,使用FORWARD CROSSEDITION触发器,这个触发器在当前版本的父版本中触发。如果是降级版本,使用REVERSE CROSSEDITION触发器,这个触发器在当前版本和子版本中触发。
CREATE TABLE T_PERSON (ID NUMBER PRIMARY KEY,
FIRST_NAME VARCHAR2(30),
LAST_NAME VARCHAR2(30));
INSERT INTO T_PERSON
SELECT ROWNUM, OBJECT_NAME, OBJECT_TYPE
FROM USER_OBJECTS;
CREATE EDITION E_1;
ALTER SESSION SET EDITION = E_1;
ALTER TABLE T_PERSON ADD FULL_NAME VARCHAR2(60);
CREATE or replace TRIGGER T_CROSSEDITION_PERSON
BEFORE INSERT OR UPDATE ON T_PERSON
FOR EACH ROW CROSSEDITION
BEGIN
:NEW.FULL_NAME := :NEW.FIRST_NAME || :NEW.LAST_NAME;
END;
ALTER SESSION SET EDITION = ORA$BASE;
select * from T_PERSON;
alter user chandler enable editions;--make the schema enabled editions.
INSERT INTO T_PERSON(ID, FIRST_NAME, LAST_NAME, full_name) values(14, 'Tom', 'Bill','Tom Bill');
commit;
INSERT INTO T_PERSON(ID, FIRST_NAME, LAST_NAME) values(15, 'Tom', ' Bill');
commit;
CREATE OR REPLACE PROCEDURE hello IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, edition 2.');
END hello;
begin
hello();
end;
当新版本升级完成,旧版本数据全部转化后,将数据库的默认版本设置为新版本,则升级工作完成,CROSSEDITION触发器的历史使命也最终完成。
SELECT property_value FROM database_properties
WHERE property_name = 'DEFAULT_EDITION';
SELECT * FROM dba_editions;
ALTER DATABASE DEFAULT EDITION = edition-name;
SELECT * FROM dba_editions;
GRANT USE ON EDITION release_v1 TO edition_test;
DROP EDITION release_v2;
- Oracle 11G中的Edition-Based Redefinition(CrossEdition)
- oracle 11g 在线重定义(online redefinition)介绍
- oracle 11g 在线重定义(online redefinition)介绍
- R12.2——adop 数据库 Edition-Based Redefinition (EBR)
- Oracle 11g Express Edition连接(Win8)
- (Windows)安装Oracle 11g Express Edition
- WinXp安装Oracle 11g Express Edition
- Oracle Business Intelligence Enterprise Edition (OBIEE) 11g安装
- 安装oracle 11g express edition 到 ubuntu 系统
- Installation of Oracle 11g Business Intelligence Enterprise Edition
- Linux下安装Oracle Database 11g Express Edition
- oracle express edition 11g无法打开127.0.0.1:8080
- oracle express edition 11g hibernate连接配置
- Oracle Database 11g Express Edition入门(使用SQLPlus)
- Ubuntu14.04 安装 Oracle 11g R2 Express Edition
- Oracle 11g Express Edition 安装及常见问题
- Oracle Database 11g Express Edition 如何创建数据库
- Oracle 11g Express Edition 在Window上的安装
- POJ 3090 Visible Lattice Points 欧拉函数
- 运算时间差好多的语法
- NO.2 验证密码例子
- NO.3 if 语句练习
- Pro ORACLE SQL一书错误之处
- Oracle 11G中的Edition-Based Redefinition(CrossEdition)
- 2011~2012总体计划,以及职业规划
- 灌入电流与输入电流
- 使用Annotation配置Action
- Web应用程序访问过程
- 文件浏览对话框(旧式的文件浏览对话框)
- flex不能正确显示音标解决方法
- JSP技术
- java生成jni头文件