在想要使用dlink的数据库上执行,下面为目标库的一些配置信息
create database link d_erp (dlink名称)
connect to userName(目标用户名) identified by password(目标库密码) using '
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.1.100) --目标库地址
(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = orcl) -- orcl 为目标库sid
) )';
http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm
local to the hr schema on the local database:
CREATE DATABASE LINK local
CONNECT TO hr IDENTIFIED BY hr
USING 'local';
After this database link is created, hr can query tables in the schema hr on the local database in this manner:
SELECT * FROM employees@local;
User hr can also use DML statements to modify data on the local database:
INSERT INTO employees@local
(employee_id, last_name, email, hire_date, job_id)
VALUES (999, 'Claus', 'sclaus@oracle.com', SYSDATE, 'SH_CLERK');
UPDATE jobs@local SET min_salary = 3000
WHERE job_id = 'SH_CLERK';
DELETE FROM employees@local
WHERE employee_id = 999;
Using this fixed database link, user hr on the remote database can also access tables owned by other users on the same database. This statement assumes that user hr has SELECT privileges on the oe.customers table. The statement connects to the user hr on the local database and then queries the oe.customers table:
SELECT * FROM oe.customers@local;
Defining a CURRENT_USER Database Link: Example The following statement defines a current-user database link to the remote database, using the entire service name as the link name:
CREATE DATABASE LINK remote.us.oracle.com
CONNECT TO CURRENT_USER
USING 'remote';