Oracle 10g 创建 DB link
2014-03-13 19:02
531 查看
某些时候,需要关联不同的数据库进行数据查询、操作等。
在Oracle中,关联不同的数据库进行表关联,就要用到了数据库连接(DB link)。
创建DB link有两种方法:通过SQL语句创建,通过可视化界面创建(其实也是执行的SQL语句)。
1.通过PL/SQL Developer 工具建立
Name:此DBLINK的名字,比如:DEMO
UserName:数据库登陆用户名
Password:数据库登陆密码
Database:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DEMO)))
以上红色字体内容从以下地方可查询:\product\10.2.0\client_1\network\admin\tnsnames.ora
将上面的"DEMO="去掉,其余内容把换行符、空格去掉组成一个字符串即可。
然后点击“Apply”按钮即可。
建立好后,会在Database links菜单下显示。
测试DB link是否有效,执行语句:Select * from student@DEMO
其中,student为远程数据库的表名。
2.通过SQL语句创建
create [public] database link V_LINK_NAME connect
to V_USERNAME identified by V_PASSWORD using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=V_SERVICE_NAME)))';
其中:
V_LINK_NAME表示服务名
V_SERVICE_NAME表示服务名,可通过SQL语句查询:SELECT * FROM GLOBAL_NAME; --查看服务名
V_USERNAME表示登录远程数据库的帐号
V_PASSWORD表示登录远程数据库的密码
PS:经本人测试,当tns字符串中带有换行符时,该DB link无效。
当数据库参数global_names=true时, dblink名必须与远程数据库的全局数据库名(global_name)相同;
当数据库参数global_names=false时,不要求dblink和远程数据库全局数据库名相同。
命令行窗口(command window)可查看数据库参数:
SQL> show parameter global_names; --查看数据库参数global_names的值
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean FALSE
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
STOCK.TRAVELSKY
--查看连接
select * from dba_db_links;
select owner,object_name from dba_objects where object_type='DATABASE LINK';
--使用连接
select * from table_name@link_name;
--删除连接
drop [public] database link link_name;
在Oracle中,关联不同的数据库进行表关联,就要用到了数据库连接(DB link)。
创建DB link有两种方法:通过SQL语句创建,通过可视化界面创建(其实也是执行的SQL语句)。
1.通过PL/SQL Developer 工具建立
Name:此DBLINK的名字,比如:DEMO
UserName:数据库登陆用户名
Password:数据库登陆密码
Database:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DEMO)))
以上红色字体内容从以下地方可查询:\product\10.2.0\client_1\network\admin\tnsnames.ora
DEMO = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DEMO) ) )
将上面的"DEMO="去掉,其余内容把换行符、空格去掉组成一个字符串即可。
然后点击“Apply”按钮即可。
建立好后,会在Database links菜单下显示。
测试DB link是否有效,执行语句:Select * from student@DEMO
其中,student为远程数据库的表名。
2.通过SQL语句创建
create [public] database link V_LINK_NAME connect
to V_USERNAME identified by V_PASSWORD using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=V_SERVICE_NAME)))';
其中:
V_LINK_NAME表示服务名
V_SERVICE_NAME表示服务名,可通过SQL语句查询:SELECT * FROM GLOBAL_NAME; --查看服务名
V_USERNAME表示登录远程数据库的帐号
V_PASSWORD表示登录远程数据库的密码
PS:经本人测试,当tns字符串中带有换行符时,该DB link无效。
当数据库参数global_names=true时, dblink名必须与远程数据库的全局数据库名(global_name)相同;
当数据库参数global_names=false时,不要求dblink和远程数据库全局数据库名相同。
命令行窗口(command window)可查看数据库参数:
SQL> show parameter global_names; --查看数据库参数global_names的值
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean FALSE
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
STOCK.TRAVELSKY
--查看连接
select * from dba_db_links;
select owner,object_name from dba_objects where object_type='DATABASE LINK';
--使用连接
select * from table_name@link_name;
--删除连接
drop [public] database link link_name;
相关文章推荐
- Oracle 10g透明网关访问SQL Server 2000之创建DB Link
- Oracle 10g 创建 DB link
- oracle 10g 手动创建scott(tiger)
- Windows Oracle 10G手工创建数据库
- oracle 10g到11g之间创建dblink
- oracle 10g 创建数据库实例卡在3%不动
- Oracle 10g表空间创建的完整步骤
- oracle 10g 创建和删出表空间,用户,表
- Windows 下 Oracle 10g 手工创建数据库
- Oracle 10G 全新创建数据库过程(暂记)
- Oracle 10g ASM - 创建DISKGROUP时无法识别ASM磁盘ORCL:DATA*及无法全部挂载的问题
- oracle 10g 手动创建scott(tiger) schema
- 创建ASM With Oracle 10G
- Oracle 10G手工创建数据库(Helloblock写作)
- oracle 10g 数据库与客户端冲突导致实例创建无监听问题
- oracle 10g中如何创建用户
- Oracle 10G手工创建数据库
- oracle 10g sqlplus 创建和调用存储过程(procedure)
- 在windows中搭建虚拟ASM环境创建Oracle 10G数据库
- oracle 10g 手动创建scott(tiger) schema