知识大全 Oracle的同步复制研究
Posted 数据库
篇首语:与天地兮比寿,与日月兮齐光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle的同步复制研究相关的知识,希望对你有一定的参考价值。
Oracle的同步复制研究 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
数据库支持高级复制功能 您可以用system身份登录数据库 查看v$option视图 如果其中Advanced replication为TRUE 则支持高级复制功能 否则不支持 数据库初始化参数要求 ① db_domain = 指明数据库的域名(默认的是WORLD) 这里可以用您公司的域名 ② global_names = true 它要求数据库链接(database link)和被连接的数据库名称一致 现在全局数据库名 db_name+ +db_domain ③ 有跟数据库job执行有关的参数 job_queue_processes = 定义SNP进程的启动个数为n 系统缺省值为 正常定义范围为 ~ 根据任务的多少 可以配置不同的数值 job_queue_interval = 定义系统每隔N秒唤醒该进程一次 系统缺省值为 秒 正常范围为 ~ 秒 事实上 该进程执行完当前任务后 就进入睡眠状态 睡眠一段时间后 由系统的总控负责将其唤醒 distributed_transactions = open_links = 如果修改了以上这几个参数 需要重新启动数据库以使参数生效 数据库名 ying orcl 数据库域名 数据库sid号 ying orcl Listener端口号 服务器ip地址 改数据库全局名称 建公共的数据库链接 ① 用system身份登录ying数据库 alter database rename global_name to 用system身份登录orcl数据库 alter database rename global_name to ② 用system身份登录ying数据库 create public database link using ying ; select * from globa cn 用system身份登录orcl数据库 create public database link using orcl select * from globa cn 建立管理数据库复制的用户repadmin 并赋权 ① 用system身份登录ying数据库 create user repadmin identified by repadmin default tablespace users temporary tablespace temp begin dbms_defer_sys register_propagator( repadmin ); end; grant execute any procedure to repadmin; begin dbms_repcat_admin grant_admin_any_repgroup( repadmin ); end; grant ment any table to repadmin; grant lock any table to repadmin; ② 同样用system身份登录orcl数据库 运行以上的命令 管理数据库复制的用户repadmin 并赋权 create user repadmin identified by repadmin default tablespace users temporary tablespace temp begin dbms_defer_sys register_propagator( repadmin ); end; grant execute any procedure to repadmin; begin dbms_repcat_admin grant_admin_any_repgroup( repadmin ); end; grant ment any table to repadmin; grant lock any table to repadmin; ********************************************************************* 说明 repadmin用户名和密码可以根据用户的需求自由命名 ********************************************************************* 在数据库复制的用户repadmin下创建私有的数据库链接 ① 用repadmin身份登录ying数据库 create database link connect to repadmin identified by repadmin; select * from globa cn; 测试 ② 用repadmin身份登录orcl数据库 create database link connect to repadmin identified by repadmin; select * from globa cn; 测试 创建或选择实现数据库复制的用户和对象 给用户赋权 数据库对象必须有主关键字 假设我们用ORACLE里举例用的water用户 t_file_all表 ① 用internal身份登录ying数据库 创建water用户并赋权 SQL>create user water identified by water default tablespace water temporary tablespace water; SQL>grant connect resource to water; SQL>grant execute on sys dbms_defer to water; ② 用water身份登录ying数据库 创建表t_file_all ③ 如果数据库对象没有主关键字 可以运行以下SQL命令添加 alter table t_file_all add (constraint t_file_all_key primary key (t_file_all_id)); ④ 在ying数据库water用户下创建主关键字的序列号 范围避免和orcl的冲突 ⑤ 在ying数据库water用户下插入初始化数据 ⑥ 在orcl数据库那边同样运行以上① ② ③ ⑦ 在orcl数据库water用户下创建主关键字的序列号 范围避免和water的冲突 ⑧ 在beijing数据库scott用户下插入初始化数据 创建要复制的组water_t_file_all 加入数据库对象 产生对象的复制支持 ① 用repadmin身份登录ying数据库 创建主复制组water_t_file_all begin dbms_repcat create_master_repgroup( water_t_file_all ); end; ② 在复制组scott_mg里加入数据库对象 begin dbms_repcat create_master_repobject (sname=> water oname=> t_file_all type=> table use_existing_object=>true gname=> water_t_file_all ); end; ******************************* 参数说明 sname 实现数据库复制的用户名称 oname 实现数据库复制的数据库对象名称 (表名长度在 个字节内 程序包名长度在 个字节内) type 实现数据库复制的数据库对象类别 (支持的类别 表 索引 同义词 触发器 视图 过程 函数 程序包 程序包体) use_existing_object true表示用主复制节点已经存在的数据库对象 gname 主复制组名 ******************************* ③ 对数据库对象产生复制支持 begin dbms_repcat generate_replication_support( water t_file_all table ); end; (说明 产生支持water用户下t_file_all表复制的数据库触发器和程序包) ④ 确认复制的组和对象已经加入数据库的数据字典 select gname master status from dba_repgroup 测试 select * from dba_repobject 测试 创建主复制节点 ① 用repadmin身份登录ying数据库 创建主复制节点 begin dbms_repcat add_master_database (gname=> water_t_file_all master=> use_existing_objects=>true copy_rows=>false propagation_mode => asynchronous ); end; ********************************************** 参数说明 gname 主复制组名 master 加入主复制节点的另一个数据库 use_existing_object true表示用主复制节点已经存在的数据库对象 copy_rows false表示第一次开始复制时不用和主复制节点保持一致 propagation_mode 异步地执行 *********************************************** select * from user_jobs; 测试是否在复制任务中 使同步组的状态由停顿(quiesced )改为正常(normal) ① 用repadmin身份登录ying数据库 运行以下命令 begin dbms_repcat resume_master_activity( water_t_file_all false); end; 不行用该命令 begin dbms_repcat resume_master_activity( water_t_file_all true); end; 测试同步是否正常(status为normal) select gname master status from dba_repgroup 创建复制数据库的时间表 我们假设用固定的时间表 分钟复制一次 ① 用repadmin身份登录ying数据库 运行以下命令 begin dbms_defer_sys schedule_push ( destination => interval => sysdate + /( * ) 每隔 分钟 next_date => sysdate); end; / begin dbms_defer_sys schedule_purge ( next_date => sysdate interval => sysdate + /( * ) delay_seconds => rollback_segment => ); end; ② 用repadmin身份登录orcl数据库 运行以下命令 begin dbms_defer_sys schedule_push ( destination => interval => sysdate + /( * ) 每隔 分钟 next_date => sysdate); end; / begin dbms_defer_sys schedule_purge ( next_date => sysdate interval => sysdate + /( * ) 每隔 分钟 delay_seconds => rollback_segment => ); end; 添加或修改两边数据库的记录 跟 cha138/Article/program/Oracle/201311/18695相关参考
UNIX设置MySql数据同步实现复制功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! mys
知识大全 利用SQL Server复制技术实现数据同步更新[1]
利用SQLServer复制技术实现数据同步更新[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 利用SQL Server复制技术实现数据同步更新[2]
利用SQLServer复制技术实现数据同步更新[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Oracle数据库高级复制功能介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle数
实现Oracle数据库复制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们经常希望把各地
Oracle10Gstreams模式级复制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据库
在Oracle中实现数据库的复制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Interne
Oracle远程复制和异地容灾方案分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 目前针对o
Oracle数据库中高级复制的功能介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言 日
知识大全 使用impdp复制oracle的schema数据迁移
测试环境: 源windowsoracle 目标windowsoracle &nbs