Managing Database Links
Some quick guidelines to help you manage database links.
oracle miscconfigurationintermediate
by OracleDba
24 views
Some quick guidelines to help you manage database links.
12345678910111213141516171819202122232425
-- Remote Username: scott
-- Remote Password: tiger
-- Private database link to a user in a remote database.
CREATE DATABASE LINK scott_remote
CONNECT TO scott IDENTIFIED BY tiger
USING 'remote_database';
-- Private database link to a user in a remote database, with full connection string.
CREATE DATABASE LINK scott_remote
CONNECT TO scott IDENTIFIED BY tiger
USING '(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=server1.example.com)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=HRDEV1))
)';
-- Public Database link.
CREATE PUBLIC DATABASE LINK scott_remote
CONNECT TO scott IDENTIFIED BY tiger
USING 'remote_database';
-- Private database link to a user in the local database.
CREATE DATABASE LINK scott_local
CONNECT TO scott IDENTIFIED BY tiger
USING 'local';1234567891011121314151617
SELECT * FROM emp@scott_remote;
INSERT INTO emp@scott_remote
(employee_id, last_name, email, hire_date, job_id)
VALUES
(999, 'Claus', '[email protected]', SYSDATE, 'SH_CLERK');
UPDATE emp@scott_remote
SET salary = sal * 1.1
WHERE job = 'SALES';
DELETE FROM emp@scott_remote
WHERE empno = 7788;
EXEC delete_emp@scott_remote(p_empno => 7788);
CREATE SYNONYM emp FOR emp@scott_remote;1234567891011
CONN my_dba_user@my_service
ALTER USER scott GRANT CONNECT THROUGH my_dba_user;
GRANT CREATE DATABASE LINK TO scott;
CONN my_dba_user[scott]@my_service
DROP DATABASE LINK my_db_link;
CREATE DATABASE LINK my_db_link CONNECT TO scott IDENTIFIED BY tiger USING 'remote_db';
CONN my_dba_user@my_service
REVOKE CREATE DATABASE LINK FROM scott;1234567891011
-- Rather than this.
CREATE DATABASE LINK hr_staff CONNECT TO hr_staff_link IDENTIFIED BY Password1 USING 'HRDEV1';
-- Use something link this.
CREATE DATABASE LINK hr_staff CONNECT TO hr_staff_link IDENTIFIED BY Password1 USING 'hr_staff_service';
hr_staff_service=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=server1.example.com)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=HRDEV1))
)123
SELECT /*+ DRIVING_SITE(emp) */ *
FROM emp@scott_remote
JOIN dept on emp.deptno = dept.deptno;Please to add comments
No comments yet. Be the first to comment!