Chinaunix首页 | 论坛 | 博客
  • 博客访问: 781028
  • 博文数量: 99
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1163
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-22 09:50
个人简介

一个守望数据库的老菜鸟

文章分类

全部博文(99)

文章存档

2019年(21)

2018年(17)

2017年(37)

2016年(24)

我的朋友

分类: Oracle

2017-10-02 19:22:04

博客文章除注明转载外,均为原创。转载请注明出处。
本文链接地址:http://blog.chinaunix.net/uid-31396856-id-5772867.html

Database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的;database link是单向访问的连接。
   
在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息,比如tnsnames访问相应的远程数据库以完成相应的工作。

1.创建db-link 
建立database link之前需要保证:从local database到remote database的网络连接是正常的,tnsping要能成功;在remote database上面有相应的访问权限。

(1)使用tns字符串
SQL> create database link pps connect to scott identified by tiger using 'orcl';

Database link created.

[oracle@ora11g admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/oracle/product/11.2/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.230)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora11g)
    )
  )


(2)直接创建
    create database link ppt connect to scott identified by tiger 
     using '(
          DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.230)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora11g)
    )
  )';


2.使用同义词访问

同义词拥有如下好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接。
 SQL> conn ppa/ppa
Connected.
SQL> create synonym ppemp  for ;

Synonym created.

3.字典信息查询

SQL> col host for a80
SQL> set linesize 200
SQL>select * from dba_db_links; 

也可以从link$获取相关信息


4.修改db link密码

分别创建2个db link,1个private db link,1个public  link
SQL> create database link tps connect to scott identified by tiger using 'orcl';

Database link created.

SQL> create public  database link pps connect to scott identified by tiger using 'orcl';

Database link created.


现在开始来修改密码,可以选择删除dbalink后重建db link的方式。也可以直接修改。


修改public db link密码,在sys用户下执行:
SQL>  alter public database link pps connect to scott identified by oracle;
Database link altered.

SQL> select count(*) from ;

  COUNT(*)
----------
         4
         
修改private db link的密码

SQL> alter database link tps connect to scott identified by oracle;
alter database link tps connect to scott identified by oracle
                    *
ERROR at line 1:
ORA-01031: insufficient privileges

权限不足的,因此授予权限,登陆dba用户
SQL> grant alter database link to ppa;

Grant succeeded.

SQL> alter database link tps connect to scott identified by oracle;
Database link altered.


SQL> select count(*) from ;    

  COUNT(*)
----------
         4

完成。


---The end
阅读(1041) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~