oracle databse link
db_link
Table of Contents
1 創建db_link
create [public] database link <db link name> connect to username identified by passwod/value encryped password using 'connect string or tnsname';
2 注意事項
db_link 連接數據庫,會導致兩個數據庫SCN的同步。對于過低的SCN ,由于迅速增長,可能會導致數據庫無法啟動,或者scn 接近celing值。
3 OPAQUE_TRANSFORM
關于這個hint 是10.2.0.3 之后出現的,在insert into table select * from table@db_link 這一類型的語句, 在執行時,源端數據庫中出現的。
在MOS doc ID 780503.1 中對此有說明。文檔內容如下:
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.3 and later
Information in this document applies to any platform.
Oracle Server Enterprise Edition - Version: 10.2.0.3
***Checked for relevance on 02-MAR-2012***
Goal
What is OPAQUE_TRANSFORM usage :
The OPAQUE_TRANSFORM hint is to help with the transformation of datatype when certain
type of operations are done within the database. For example object types .
It is also used for a insert-as-remote-select operation on a remote database
Example : insert into emp (select * from emp@rep102b) ;
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.50 0 0 0 0
Execute 1 0.00 0.51 0 1 44 12
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.00 1.01 0 1 44 12
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 57 (SCOTT)
Rows Row Source Operation
------- ---------------------------------------------------
12 REMOTE EMP (cr=0 pr=0 pw=0 time=508808 us)
Rows Execution Plan
------- ---------------------------------------------------
0 INSERT STATEMENT MODE: ALL_ROWS
12 REMOTE OF 'EMP' (REMOTE) [REP102B]
SELECT /*+ OPAQUE_TRANSFORM */ "EMPNO","ENAME","JOB","MGR",
"HIREDATE","SAL","COMM","DEPTNO" FROM "EMP" "EMP"
Note : This hint should not interfere with the query optimizer plan.
Solution
The below event can be set on the client (local) in order to turn the opaque_transform hint on and off..
- To switch on :
alter session set events '22825 trace name context off' ;
- To switch off :
1) alter session set events '22825 trace name context forever, level 1' ;
2) or using the following hint : /*+ NO_QUERY_TRANSFORMATION */
3) using RULE hint.
-Note that if local site is 11g and remote is 11g server, this opens 2 sessions
on the remote database and OPAQUE_TRANSFORM hint gives DX LOCK deadlock.
- If the local is 10g client and remote is 11g server, this opens 1 session on
the remote and no DX deadlock.
Created: 2020-07-12 Sun 01:22
===================
天行健,君子以自強不息
地勢坤,君子以厚德載物
===================

浙公網安備 33010602011771號