⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3.sql

📁 oracle数据库高级复制脚本实例
💻 SQL
字号:
--设置物化视图站点
--以system 用户连接到物化视图站点
CONN system/lvsm682zzm@dbtest2 as sysdba
--建立物化视图管理员,并授权
CREATE USER mvadmin IDENTIFIED BY mvadmin;
--授予可以操作任何物化视图的权限
BEGIN
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (
username => 'mvadmin');
END;
/
GRANT COMMENT ANY TABLE TO mvadmin;
GRANT LOCK ANY TABLE TO mvadmin;
GRANT SELECT ANY DICTIONARY TO mvadmin;
--建立传播者,并授权,这里使用mvadmin 用户,也可以建立单独的用户
BEGIN
DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username => 'mvadmin');
END;
/
--建立刷新者,并授权,这里使用mvadmin 用户刷新物化视图
--对于mvadmin 而言,不需要create session 权限
--但是这里如果新建用户的话,create session 权限则是必须的
GRANT CREATE SESSION TO mvadmin;
GRANT ALTER ANY MATERIALIZED VIEW TO mvadmin;
--注册接受者
BEGIN
DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
username => 'mvadmin',
privilege_type => 'receiver',
list_of_gnames => NULL);
END;
/
--公共数据库连接。需要每个复制需要创建三个数据库连接。公共数据库连接指定数据库的--全局名称
--1。建立PUBLIC 数据库链
CREATE PUBLIC DATABASE LINK DBTEST1.US.ORACLE.COM  USING 'dbtest1';
--建立到主站点上代理物化视图管理员的数据库链
--以物化视图管理员身份连接到物化视图站点
disconnect;
CONNECT mvadmin/mvadmin@dbtest2 as sysdba;
--2。建立数据库复制管理员到远程数据库的连接
CREATE DATABASE LINK DBTEST1.US.ORACLE.COM CONNECT TO repadmin IDENTIFIED BY repadmin;
--建立到主站点上复制管理员的数据库链
--以传播者身份登陆物化视图站点
--在本例中,这个数据库链与上面的数据库链相同,故省略。
--设置清除延迟序列的job
--如果物化视图站点只包括只读物化视图,这一步可以省略
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PURGE (
next_date => SYSDATE,
interval => '/*10:Mins*/ sysdate + 10/(60*24)',
delay_seconds => 0,
rollback_segment => '');
END;
/
--设置将修改推入到主站点的job
--如果物化视图站点只包括只读物化视图,这一步可以省略
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH (
destination => 'DBTEST1.US.ORACLE.COM',
interval => 'SYSDATE + 10/(60*24)',
next_date => SYSDATE,
stop_on_error => FALSE,
delay_seconds => 0,
parallelism => 0);
END;
/
--如果需要此物化视图站点作为主物化视图站点
--则还需要建立物化视图站点的代理物化视图管理用户以及代理刷新用户
--本例中从略
commit;
--创建reptest@reptest即远程数据库的对应库的账号
disconnect; 
connect system/lvsm682zzm@dbtest2 as sysdba; 
CREATE USER reptest IDENTIFIED BY reptest;
grant alter session to reptest; 
grant create cluster to reptest; 
grant create database link to reptest; 
grant create sequence to reptest; 
grant create session to reptest; 
grant create synonym to reptest; 
grant create table to reptest; 
grant create view to reptest; 
grant create procedure to reptest; 
grant create trigger to reptest; 
grant unlimited tablespace to reptest; 
grant create type to reptest; 
grant create any snapshot to reptest; 
grant alter any snapshot to reptest;
disconnect; 
connect reptest/reptest@dbtest2; 
create database link DBTEST1.US.ORACLE.COM connect to repadmin identified by repadmin;
commit;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -