ORACLE数据库复制Word文档下载推荐.docx
- 文档编号:6622018
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:35
- 大小:29.87KB
ORACLE数据库复制Word文档下载推荐.docx
《ORACLE数据库复制Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ORACLE数据库复制Word文档下载推荐.docx(35页珍藏版)》请在冰点文库上搜索。
下面使用相同的环境,分别对两种复制功能进行配置介绍,并进行性能压力测试比较。
二、环境描述
配置项
主运行机(简称:
主机)
备用机(简称:
备机)
IP
10.2.11.184
10.2.11.218
Oracle版本
Oracle10.2
Listener端口号
1521
ORACELSID
ora184
ora218
ORACLE全局名(global_name)
master
backup
数据库域名
数据库管理员(sys,system)密码
manager1
自用数据库用户名
ismc
自用数据库用户密码
需要复制的数据表
orig_rept
高级复制任务用户名
repadmin
高级复制任务用户密码
高级复制组名
zz_rept_group
无
流复制用户名
strmadmin
流复制用户密码
三、高级复制配置过程:
高级复制API函数参考网址:
1.配置相互访问:
在主备机的tnsnames.ora里,都分别添加数据库连接字符串,使两个数据库之间可以互相访问。
master=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=10.2.11.184)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ora102)
)
backup=
(ADDRESS=(PROTOCOL=TCP)(HOST=10.2.11.218)(PORT=1521))
(SERVICE_NAME=ora218)
(3)添加完成后,在主备机上分别测试一下数据库的访问是否正常
tnspingmaster
tnspingbackup
出现“OK(xx毫秒)”,就正常了。
(1)用system身份登录主机数据库
sqlplussystem/manager1
SQL>
alterdatabaserenameglobal_nameto;
(2)用system身份登录备机数据库:
(3)用system身份登录主机数据库
createpublicdatabaselinkusing'
backup'
;
(4)用system身份登录备机数据库:
master'
(5)用system身份分别登录主备机数据库,测试数据库全局名称和公共的数据库链接
connsystem/manager1@master
select*fromglobal_name@master;
select*fromglobal_name@;
select*fromglobal_name@backup;
select*fromglobal_name@;
connsystem/manager1@backup
2.在主备机上分别建好自己应用的数据库表,并赋好权限
sqlplus/nolog
connsys/manager1@masterassysdba
dropuserismccascade;
createuserismcidentifiedbyismcdefaulttablespaceuserstemporarytablespacetemp;
grantconnect,resourcetoismc;
grantexecuteonsys.dbms_defertoismc;
connismc/ismc@master
CREATETABLEORIG_REPT(
REPORT_IDNUMBER(5)primarykey,
titlevarchar2(16),
infovarchar2(16)
);
createsequenceseq_rpt_idincrementby1startwith1maxvalue100cyclenocache;
connsys/manager1@backupassysdba
connismc/ismc@backup
--备机上不需要创建不需要的,所以,这里没有创建seq_rpt_id
3.配置与复制相关的内容
(1)建立管理数据库复制的用户repadmin,并赋权。
SQL语句如下:
--用sys身份登录master数据库:
connsys/manager1@masterassysdba
dropuserrepadmincascade;
createuserrepadminidentifiedbyrepadmindefaulttablespaceuserstemporarytablespacetemp;
executedbms_defer_sys.register_propagator('
repadmin'
);
grantexecuteanyproceduretorepadmin;
executedbms_repcat_admin.grant_admin_any_repgroup('
grantcommentanytabletorepadmin;
grantlockanytabletorepadmin;
executeDBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA(username=>
'
--用sys身份登录backup数据库:
connsys/manager1@backupassysdba
(2)在主备机上分别创建私有数据库链接。
--用repadmin身份登录主机数据库。
connrepadmin/repadmin@master
createdatabaselinkconnecttorepadminidentifiedbyrepadmin;
select*fromglobal_name@backup;
select*fromglobal_name@;
--用repadmin身份登录备机数据库。
connrepadmin/repadmin@backup
select*fromglobal_name@master;
(3)在主备机上创建复制组zz_rept_group
--repadmin身份登录master
executedbms_repcat.create_master_repgroup('
zz_rept_group'
--创建的对象放在dba_repobject表中
(4)在复制组zz_rept_group里加入复制对象
executedbms_repcat.create_master_repobject(sname=>
'
ismc'
oname=>
orig_rept'
type=>
table'
use_existing_object=>
true,gname=>
--sname用户名称
--oname对象名称
--type复制对象类别:
表,索引,同义词,触发器,视图,过程,函数,程序包,程序包体
--use_existing_objecttrue使用在主复制节点已经存在的数据库对象
--gname主复制组名
(5)生成复制对象支持,即通知给相关服务器
--产生对数据库对象的复制支持
executedbms_repcat.generate_replication_support('
'
(6)创建主复制节点,此步会将复制信息写入到备机数据库中
--repadmin登录master数据库,创建主复制节点
executedbms_repcat.add_master_database(gname=>
master=>
use_existing_objects=>
true,copy_rows=>
false,propagation_mode=>
asynchronous'
--master加入主复制节点的另一个数据库
--use_existing_objecttrue表示用主复制节点已经存在的数据库对象
--copy_rowsfalse表示第一次开始复制时不用和主复制节点保持一致
--propagation_mode异步地执行
--确认复制的任务队列已经加入数据库的数据字典
--注意:
如果此步报“ORA-23375数据库版本不兼容”问题,
--请在主备机上分别执行executeDBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA(username=>
。
然后,再执行此步。
(7)激活复制组,状态由quiesced改为normal
--检查之前的状态
selectgname,master,statusfromdba_repgroup;
--激活
executedbms_repcat.resume_master_activity('
true);
--过几秒后,再次检查的状态,注意,要过几秒,确保两边都激活成功
(8)创建复制数据库的时间表
--设置为1分钟一次,即1/1440天
--用repadmin身份登录master数据库:
begin
dbms_defer_sys.schedule_push(
destination=>
interval=>
sysdate+1/1440'
next_date=>
sysdate);
end;
/
dbms_defer_sys.schedule_purge(
sysdate,
delay_seconds=>
0,
rollback_segment=>
commit;
--用repadmin身份登录backup数据库:
(9)验证测试(增删改,这里只做增测试)
--验证测试
--用ISMC用户登录master:
connismc/ismc@backup
select*fromorig_rept;
connismc/ismc@master
insertintoorig_reptvalues(seq_rpt_id.nextval,'
zz11_master'
zz12_master'
--过一分钟后,在备机上查看
4.再额外增加复制表举例
根据前面的解释,这里就不解释了,提醒一下,要单步执行。
语句中的一些停止服务,删除表之类的,在首次执行时,会报错,不用理会。
connrepadmin/repadmin@master
executedbms_repcat.suspend_master_activity(gname=>
ismc_mg2'
executedbms_repcat.DROP_MASTER_REPOBJECT(sname=>
dept2'
drop_objects=>
false);
executedbms_repcat.drop_master_repgroup(gname=>
drop_contents=>
TRUE,all_sites=>
true);
connismc/ismc@master
droptabledept2;
createtabledept2
(deptnonumber
(2),
dnamevarchar2(14),
locvarchar2(13));
altertabledept2addconstraintpk_dep_locprimarykey(deptno,loc);
altertabledept2add(constraintpk_dep_locprimarykey(deptno,loc));
--executedbms_repcat.suspend_master_activity(gname=>
--executedbms_repcat.DROP_MASTER_REPOBJECT(sname=>
--executedbms_repcat.drop_master_repgroup(gname=>
executedbms_repcat.r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ORACLE 数据库 复制