Oracle创建Database Link的两种方式是静态Database Link和动态Database Link。
1. 静态Database Link:静态Database Link是在创建时指定连接信息的,一旦创建后连接信息不可更改。创建静态Database Link需要使用CREATE DATABASE LINK语句,语法如下:
CREATE DATABASE LINK link_name
CONNECT TO username IDENTIFIED BY password
USING 'TNS_SERVICE_NAME';
其中,link_name为Database Link的名称,username和password为远程数据库的认证信息,'TNS_SERVICE_NAME'为远程数据库的服务名。
2. 动态Database Link:动态Database Link是在连接时指定连接信息的,可以根据需要动态地更改连接信息。创建动态Database Link需要使用EXECUTE IMMEDIATE语句,语法如下:
EXECUTE IMMEDIATE 'CREATE DATABASE LINK link_name
CONNECT TO username IDENTIFIED BY password
USING ''TNS_SERVICE_NAME''';
其中,link_name为Database Link的名称,username和password为远程数据库的认证信息,'TNS_SERVICE_NAME'为远程数据库的服务名。
需要注意的是,创建Database Link需要有足够的权限,通常需要具有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK特权。