1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > IT忍者神龟之DatabaseLink详解

IT忍者神龟之DatabaseLink详解

时间:2023-07-14 01:12:11

相关推荐

IT忍者神龟之DatabaseLink详解

数据库|mysql教程

忍者,神龟,DatabaseLink,详解,创建,CREAT

数据库-mysql教程

站长源码查看,vscode代码背景,UBUNTU中文版下载电子书,tomcat文档下载,sqlite网上浏览,网站服务器租用选择,js分页插件那个好用,mis系统前端框架,爬虫csdn,php自解压,东莞网络公司SEO优化,app公司网站模板,网页转盘抽奖怎么做,群组 内容页模板,jq 左边菜单 右边页面,租车管理系统代码,七夕示爱程序lzw

创建 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 enam

.net 自定义表单源码,vscode调试路径怎么写,咋删除ubuntu,tomcat没有读取权限,网络爬虫 官员,php函数返回字符串,鹰潭电商seo代理商,织梦开发小说网站源码,论坛模板修改lzw

母亲节祝福网页源码,vscode 结构插件,ubuntu 查看内核命令,tomcat启动白屏,sqlite超市管理,移动端图表插件,前端框架pc移动端,爬虫热点信息,php is post,微信 seo,交友网站源代码下载,网页扁平图标,h5模板源码,css3切换页面,财务管理系统winform,文库网站程序lzw

创建 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) ) );create database link toIASconnect to ias identified by cisusing (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = )));

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 ;

db link 的命名和global_names有关,global_name是数据库全局名称,global_name在你所管理的数据库中要保证唯一。数据库名称是db_name。数据库名称一般都取得比较短,我的习惯一般取长度4个字符,重名概率高。

所以,oracle模仿域名搞出一个global_name,global_name=db_name+db_domain。

有了global_name,就可以实现数据库命名的全局唯一。例:ORCL.REGRESS.RDBMS.DEV.

数据库全局名称可以用以下命令查出

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

B、dblink查询:

查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:

SQL>select owner,object_name from dba_objects where object_type=DATABASE LINK;

C、dblink删除:

DROP PUBLIC DATABASE LINK toBeJing

D、dblink使用:

SELECT……FROM表名@数据库链接名;

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。

例:查询北京数据库中emp表数据 select * from emp@toBeJing;

E、同义词配合:

第四点中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)起作用的,其他用户无法使用这个连接,无权限也不能删除它。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。