dblink是数据库对象、允许你访问远程表及执行远程程序、另外、dblink是单向连接、创建dblink时、oracle在数据字典记录其元数据.
在db link时,必须关心一下global_name.这个缺省下,是作为网络服务名对外提供服务的。但大部分我们是不用的。
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ -----------
global_names boolean FALSE
global_names参数并不是用来控制global_name的,而是用来限制dblink的使用.global_names参数的作用,简单得说来就是:当global_names参数设置为TRUE时,使用dblink的名称必须与被连接库的GLOBAL_NAME一致。
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.ORACLE.COM
dblink共有3类:用户级、数据库级、网络级
public的指定与否:
dblink远程数据库用户验证方法:
创建举例:
简单使用举例:
session_1:sys
SQL> create public database link rmandb connect to hr identified by hr using 'rmandb';
Database link created.
SQL> select * from t@rmandb;
session_2:scott
SQL> select * from t@rmandb;
查看database link的信息:
一:查看系统dblink的基本信息(dba_db_links/all_db_links/user_db_links)
SQL> select * from dba_db_links;
OWNER DB_LINK USERNA HOST CREATED
--------------- ------------------------- ------ ---------- -------------------
PUBLIC RMANDB.ORACLE.COM HR rmandb 2012-10-28:06:15:41
通过dblink远程访问表时、local database也会将此当成一个事务! dblink字符集问题,参见: dblink字符集处理方案