创建数据库的链接

创建dblink语句如下:

create database link linkName
  connect to linkUser identified by linkPwd
  using '(DESCRIPTION =
                (ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST = linkIP)(PORT = 1521))
                )
                (CONNECT_DATA =
                  (SERVICE_NAME = linkServiceName)
                )
              )';

使用dblink例如:select * from tableName@linkName;
 1 -- Drop existing database link 
 2 drop public database link linkName;-- linkName自己命名的链接名称
 3 -- Create database link 
 4 create public database link linkName
 5   connect to UserName
 6   using '(
 7               DESCRIPTION = (
 8                   ADDRESS_LIST = (
 9                       ADDRESS = 
10                           ( PROTOCOL = TCP)
11                           (HOST = 主机IP)
12                           (PORT = 1521)
13                     )
14                ) 
15               (CONNECT_DATA = (SERVICE_NAME = xxx) )
16   )';
17         
View Code
 1 -- Create database link 
 2 create public database link linkName
 3   connect to userName
 4   using '(DESCRIPTION =
 5   (ADDRESS_LIST =
 6      (ADDRESS =
 7         (PROTOCOL = TCP)
 8         (PORT = 1521)
 9         (HOST = 服务器(主机)IP)
10       )
11   )
12         (CONNECT_DATA =
13     (SID = xxx)
14         )
15   )';
View Code

1、SID是一个数据库的唯一标识符!是你在建立一个数据库时系统自动赋予的一个初始ID,虽说他和数据库名(DB_NAME)都是一个数据库的唯一标识符,但是在作用上就有不小区别。

2、SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID,且它在注册表中也是存在的.
3、数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。 

SERVICE_NAME指的网络服务名,它是可以由自己意愿随意设置的,相当于为某个数据库实例取个别名方便自己记忆和访问。
数据库实例名(instance_name)和ORACLE_SID功能类似,都是用于操作系统交互,但区别是instance_name是oracle数据库参数,而ORACLE_SID是操作系统的环境变量。
原文地址:https://www.cnblogs.com/hm1990hpu/p/9371820.html