创建oracle dblink
1 在本地服务器上授予创建DBLINK的权限
SQL> conn /as sysdba
已连接。
SQL> grant create public database link to scott;
授权成功。
2 在远程服务器上创建相应的账户
3 在远程服务器上查询GLOBAL_NAME
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------
WNPMPDAT
4 创建DBLINK
A 在本地服务器创建DBLINK(已经配置本地服务)
SQL> conn scott/qilin
已连接。
SQL> create public database link wnpmpdat connect to scott identified by qilin u
sing 'qilin137';
数据库链接已创建。
A wnpmpdat 是远程服务器上查询到的GLOBAL_NAME
B scott 是远程服务器上用户 qilin是远程服务器上scott的密码
C qilin137是本地建立的连接到远程服务器的数据库的服务名
B 在本地服务器创建DBLINK(未配置本地服务)
create database link wnpmpdat
connect to scott identified by scott
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.189.137)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wnpmpdat)
)
)';
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
6 在远程数据库服务器SCOTT的用户表DEPT上插入一条记录
SQL> conn scott/qilin
已连接。
SQL> insert into dept values(80,'wang','li');
已创建 1 行。
SQL> commit;
提交完成。
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> conn scott/qilin
已连接。
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
8 查询已经建立的远程连接名
SQL> col owner for a20;
SQL> col object_name for a40;
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
-------------------- ----------------------------------------
PUBLIC DBMS_CLRDBLINK
PUBLIC WNPMPDAT
9 查看Global_name参数是true还是False
SQL> col parameter for a20;
SQL> col value for a10;
SQL> select * from v$option where PARAMETER='Advanced replication';
PARAMETER VALUE
-------------------- ----------
Advanced replication TRUE
Advanced replication为TRUE,则支持高级复制功能;否则不支持。
SQL> show parameter global_name;
NAME TYPE VALUE
------------------------------------ ----------- --------
global_names boolean FALSE
参数global_name=true时要求数据库链接名称跟远端数据库名称一样
两个同名的数据库间不得建立dblink;
11 查询创建的DBLINK的信息
SQL> desc dba_db_links;
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
会话已更改。
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
-------- ------------ ---------- -------------------- -------------------
PUBLIC DBMS_CLRDBLI ORACLR_CONNECTION_DA 2012-02-08 17:19:57
NK TA
PUBLIC WNPMPDAT SCOTT qilin137 2012-05-16 14:46:31
12 删除DBLINK
SQL>DROP PUBLIC DATABASE LINK wnpmpdat
13 给DBLINK创建同义词,用来查询方便和系统的安全
SQL> select * from
dept@wnpmpdat minus select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
同义词已创建。
SQL> select * from re_scott_dept;
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20976446/viewspace-729929/
,如需转载,请注明出处,否则将追究法律责任。