Database Link详解
来源:互联网 发布:plc编程教学视频教程 编辑:程序博客网 时间:2024/06/05 19:33
创建
CREATE public database link test_link CONNECT TO scott IDENTIFIED BY tiger using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = LEE) ) )'; --使用 select ename from emp@test_link;
删除
drop public database link TEST_LINK;
一:dblink创建:
1、已经配置本地服务
create public database link toBeJing connect to scott identified by tiger using 'BEJING'
数据库连接字符串'BEJING'是当前客户端数据库中TNSNAMES.ORA文件里定义的别名名称.可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.
2、直接建立链接
create database link toBeJing connect to scott identified by tiger using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = X.X.X.X )(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = BJORCL) ) )';
host=数据库的ip地址,service_name=数据库的ssid。
其实两种方法配置dblink是差不多的,我个人感觉还是第二种方法比较好,这样不受本地服务的影响。
注意: 假如创建全局dblink,则必须使用systm或sys用户,在database前加public。
1.先创建PUBLIC DATABASE LINK,不用指定用户和密码
scott@TEST>conn system/test Connected.system@TEST>CREATE PUBLIC DATABASE LINK orcl USING 'BEJING'; Database link created.
2.再在各个用户下创建私有DATABASE LINK(同PUBLIC DATABASE LINK名称相同),指定用户和密码
system@TEST>conn scott/tiger Connected. scott@TEST>CREATE DATABASE LINK orcl CONNECT TO scott IDENTIFIED BY tiger; Database link created.实际上相当于:
CREATE DATABASE LINK orcl USING 'BEJING' CONNECT TO scott IDENTIFIED BY tiger;
db link 有3种类型,我这里只讨论其中两种,connected user和fixed user。
connected user,简单来说,连接方数据库以connected的用户来连接远程数据库。
fixed user,简单来说,连接方数据库以fixed(指定的)用户来连接远程数据库。
看看创建db link语法,你对这两种类型就比较清楚了。创建connected user的db link语法:
create databas link foo connect to scott identified by tiger using 'BEJING' ;
创建fixed user的db link语法:
create databas link foo using 'BEJING' ;所以,oracle模仿域名搞出一个global_name,global_name=db_name+db_domain。
有了global_name,就可以实现数据库命名的全局唯一。例:ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
数据库全局名称可以用以下命令查出
SELECT * FROM GLOBAL_NAME;如果global_names=true,那么db link的命名要和远程数据库的global_name相同;
如果global_names=false,那么你可以随便命名db link。
查询global_names是true还是false,在pl/sql中的命令窗口(不是sql窗口)执行:show parameter global_names
二、dblink查询:
查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';三、dblink删除:
DROP PUBLIC DATABASE LINK toBeJing四、dblink使用:
SELECT……FROM表名@数据库链接名;
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。
例:查询北京数据库中emp表数据select * from emp@toBeJing;
五、同义词配合: 第四点中from emp@toBeJing可以创建同义词来替代:
CREATE SYNONYM同义词名FOR 表名;
CREATE SYNONYM同义词名FOR 表名@数据库链接名;
如:create synonym bj_scott_emp for emp@toBeJing;
于是就可以用bj_scott_emp来替代带@符号的分布式链接操作emp@toBeJing
DB LINK是独立于创建用户(USER_DB_LINKS的USERNAME)起作用的,其他用户无法使用这个连接,无权限也不能删除它。
- Database Link详解
- Database Link详解
- Database Link详解
- Database Link详解
- Database Link 详解
- oracle database link 详解
- Database Link详解
- Database Link详解
- database link详解
- Database Link详解
- Database Link详解
- Database Link详解.
- IT忍者神龟之Database Link详解
- database link
- DATABASE LINK
- DATABASE LINK
- Database link
- database link
- ftp简单配置
- C# 根据字体高度变化的textBox
- 请求发送者与接收者解耦——命令模式(三)
- 百度地图8之城市POI搜索-获取所有结果(Android)
- 第六次课后作业
- Database Link详解
- 构造函数为什么不能是虚函数
- linux 之sed
- opencv 笔记11 Imgproc_Morphology2
- dwr与ssh框架整合教程
- TP-LINK TL-WN725N V2 / rtl8188eu Linux 驱动安装
- Ubuntu设置环境变量
- Android自定义View之一:自定义属性
- 南阳理工ACM 2 括号配对问题