oracle7

来源:互联网 发布:unity3d ubuntu16.04 编辑:程序博客网 时间:2024/06/05 11:55

数据库高级复制:
先装好两个数据库,设置好两个端口
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


原创粉丝点击