数据库高级复制:
先装好两个数据库,设置好两个端口
1 启动数据库
2 在 ORACLE_HOEM/sqlplus/admin/gologin.sql中添加下列来区分用户
column usr new_v usr
column db new_v db
select user usr from dual;
select global_name db from global_name;
set sqlp'&&usr@&&db>'
3设置
show parameters global_names;
alter system set global_names=true scope=spfile;
重启数据库
--可以改global_name
--alter database rename global_name to aaa.oracle.com
4创建两边的管理员(下面的命令两边都要执行)
create user repadmin identified by repadmin default tablespace users temporary tablespace temp;
(这个是注册用户repadmin,propagator)
execute dbms_defer_sys.register_propagator('repadmin');
// 给这个管理员赋予权限
grant execute any procedure to repadmin;
execute dbms_repcat_admin.grant_admin_any_schema(username=>'repadmin');
grant comment any table to repadmin;
grant lock any table to repadmin;
grant select any dictionary to repadmin;
5.netca创建两个服务
两个服务名称为 orcl(源) orcl2(目标)
两个globalname orcl.oracle.com(源) orcl2.oracle.com(目标)
(在源上进行)
create public database link "ORCL2.ORACLE.COM" connect to repadmin identified by repadmin using 'orcl2';
----删除连接用下面的命令
drop public database link "ORCL2.ORACLE.COM" ;
(在目标上进行)
create public database link "ORCL.ORACLE.COM" connect to repadmin identified by repadmin using 'orcl';
测试
在源上
select * from global_name@目标global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL2.ORACLE.COM
表示创建连接成功;
6.在源上
在scott用户下创建表T_table (所建的表必须包含主键,否则会报措的)
conn repadmin/repadmin;
execute dbms_repcat.create_master_repgroup('REP_MYTEST');
删除
--execute dbms_repcat.drop_master_repgroup('REP_TEST');
execute dbms_repcat.create_master_repobject(
sname=>'scott', //用户
oname=>'T_TABLE', //对象名字
type=>'table', //对象类型
use_existing_object=>true, //
gname=>'REP_MYTEST', //所在组的名字
copy_rows=>true); //是否复制
//支持复制操作
execute dbms_repcat.generate_replication_support('scott','T_table','TABLE');
//下面的设置,只需要第一次设置
execute dbms_repcat.add_master_database(gname=>'REP_MYTEST',master=>'ORCL2.ORACLE.COM',use_existing_objects=>true,copy_rows=>true,propagation_mode=>'synchronous');
//激活这个组
execute dbms_repcat.resume_master_activity('REP_MYTEST',true);
//停止这个组
execute dbms_repcat.suspend_master_activity('REP_MYTEST');
在这里结束了
在目标上查看,会出现源上建的表
7.几个有关视图
dba_db_links
dba_repgroup
dba_repobject
dba_repsites
===================================
oracle跟踪会话
select sid,serial#,machine,schemaname,terminal,program from v$session;
找到要跟踪的sid serial#
开启:
execute dbms_system.set_sql_trace_in_session(sid=>133,serial#=>?,true);
关闭
execute dbms_system.set_sql_trace_in_session(sid=>?,serial#=>?.false);
生产最终的txt文件
[oracle@J15 udump]$ pwd
/home/oracle/oracle.10g/admin/orcl/udump
[oracle@J15 udump]$ tkprof orcl_ora_8069.trc result.txt
oracle7
最新推荐文章于 2023-01-12 10:20:44 发布