在Oracle中database link使用

一、Oracle跨数据库查询(database link方式)

[日期:2016-1-7 11:41:59]

 作者:xuchao

[字体:  ]

通过创建database link实现Oracle跨数据库查询的方法

在Oracle本地数据库端执行赋权dbuser帐号

SQL> grant create database link to dbuser; 

配置本地数据库服务器的tnsnames.ora文件 
$ vi $ORACLE_HOME/network/admin/tnsnames.ora

增加需要远程连接服务器的连接配置,如:

ORCL_REMOTE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

登录到本地数据库,创建database link

执行如下查询语句,其中ORCL_LINK为database link名(可自定义),ORCL_REMOTE为先前在tnsnames.ora中定义的连接名,
dbuser为用户名,password为密码

create database link ORCL_LINK connect to dbuser identified by password using 'ORCL_REMOTE';

查询创建database link的2中方式
1)、执行SQL语句。
select * from user_db_links; --用户 DB Link
select * from dba_db_links; --dba DB Link
select * from v$dblink; --当前DB Link

2)、在PL/SQL中,在左边浏览器中点击database links就可以看到数据库链路了。

使用链接的数据库

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@database link名”,如
select * from table_name@ORCL_LINK

其它:

删除database link(本例中是ORCL_LINK)
SQL> Drop database link ORCL_LINK;


 

1.查看db link连接的详情信息

 

本地db linkselect t.* from user_db_links t;

所有db linkselect t.* from dba_db_links t;dba权限

 

 

二、db link的查看创建与删除

2016-1-7 11:50:08        作者:xuchao

db link的查看创建与删除

 

1.查看dblink

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

 

或者 

select * from dba_db_links;  

 

2.创建dblink

前提:

    创建dblink的用户有对应的数据库权限

        create public database link 或者create database link 

        可以使用

[sql] 

grant create public database link,create database link to myAccount;  

 

来授权.

create public database link dblinkname connect to username identified by password

   using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME =servicename)

)

)';

如果在create之后不加public,则创建的dblink就不是公共的,就只有创建者可以使用了.

补充:如何确定数据库的servicename:

    1.在sqlplus中使用

[sql] 

show parameter[s] service_names;  

  注意parameter和parameters都可以

    2.使用

[sql] 

select name,value from v$parameter where name='service_names'  

 

3.使用db link

    例如,在本机数据库上创建了一个scott_rmthost的public dblink(使用远程主机的scott用户连接),则用sqlplus连接到本机数据库,执行select * from scott.emp@scott_rmthot即可以将远程数据库上的scott用户下的emp表中的数据获取到.

    也可以在本地建一个同义词来指向scott.emp@scott_rmthost,这样取值就方便多了.4.删除

    注意:用户有create public database link 或者create database link 权限.

drop public database link dblinkname;

 

三、介绍一下Oracle创建Database Link的两种方式

2016-1-7 14:10:51        author:xuchao

主要介绍了一下Oracle数据库创建Database Link的两种方式,菜单方式和SQL语句的方式,希望能够对您有所帮助。

 

Oracle数据库如何创建Database Link呢?本文我们主要就介绍一下这部分内容,Oracle数据库创建Database Link有两种方式,一种是通过菜单,一种是通过SQL。

创建一个dblink,命名为dblink_name,从A数据库连到B数据库,B数据库的IP为192.168.1.73,端口为1521,实例名为oracle,登录名为test,密码为test。

① 菜单方式:

打开plsql,点击【File】-【New】-【Database link】,打开如下图所示窗口

填好各项信息后,点击【Apply】即可完成Database Link的创建。

② SQL方式

1. -- Drop existing database link   

2. drop public database link dblink_name;  

4. -- Create database link   

5. create public database link dblink_name  

6. connect to SYSTEM  

7. using '192.168.1.73:1521/oracle'; 

 

你可能感兴趣的:(Oracle的database,link,oracle,数据库)