一个守望数据库的老菜鸟
分类: Oracle
2017-10-02 19:22:04
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
完成。