2、option1.设置相应参数本例的先决条件:你需要设置好相应的参数,job_queue_processes需要大于0,global_name=true,并且建立相应的db linkalter system set global_names=true scope=both;2.创建复制管理员账号在两个数据库上分别创建复制管事员用户REPADMIN(该用户名及密码可以任意设置,建议统一采用该名字,密码统一为orcl)。--创建repadmin用户管理复制环境 CREATE USER REPADMIN IDENTIFIED BY REP
3、ADMIN; ALTER USER REPADMIN DEFAULT TABLESPACE USERS; ALTER USER REPADMIN TEMPORARY TABLESPACE TEMP; GRANT connect, resource TO REPADMIN;--授予repadmin用户权限可以管理当前站点中任何主体组 EXECUTE dbms_repcat_admin.grant_admin_any_schema('REPADMIN'); --授予repadmin用户权限可以为任何表创建snapshot logs G
4、RANT comment any table TO REPADMIN; GRANT lock any table TO REPADMIN; --指定repadmin用户为propagator,并授予执行任何procedure的权限 EXECUTE dbms_defer_sys.register_propagator('REPADMIN'); GRANT execute any procedure TO REPADMIN;1.更改数据库全局名由于后面创建数据库链接(Databaselink)时需要用到数据库全局名,因此遇到同名的数据
5、库全局名时需要更改其数据库名。ThinkPad机器:改为ORCL_THINKPADalter database rename global_name to ORCL_THINKPAD;DELL机器:改为ORCL_DELLalter database rename global_name to ORCL_THINKPAD;2.在两个数据库上分别建立到对方的数据库链接建立数据库链接的前提是两个数据库能互相访问,因此需要在数据库端先建立互相的连接本地命名。由于开启了Global_names为True,因此链接名必须与Global名一致。
6、ThinkPad:建立到DELL的本地命名为ORCL154。create public database link ORCL_DELL connect to REPADMIN identified by orcl using 'ORCL154';DELL:建立到ThinkPad的本地命名为ORCL190。create public database link ORCL_THINKPAD connect to REPADMIN identified by orcl using 'ORCL190';建立好链接后,可以在各自的机器上测试