Oracle-11g-R2
想要從 DB 連結中刪除 global_name (Oracle 11g)
我正在嘗試通過呼叫遠端功能
DB LINKS
。但是,我的全域名稱包含字元串
ON
,我相信它會導致錯誤。我的錯誤是……
SQL> var tmp varchar2(2); SQL> execute :tmp := IF_TRX_SKY.CREATEWITH@SKYLBS_LINK2.I-ON.NET('a', 1, 2, 't', 't', 'k', 'm', 'r', 'u', 's', 's', 't', 'k', '00', sysdate, 1); BEGIN :tmp := IF_TRX_SKY.CREATEWITH@SKYLBS_LINK2.I-ON.NET('a', 1, 2, 't', 't', 'k', 'm', 'r', 'u', 's', 's', 't', 'k', '00', sysdate, 1); END; * ERROR at line 1: ORA-06550: line 1, column 52: PLS-00103: Encountered the symbol "ON" when expecting one of the following: ( - + case mod new null <an identifier> <a double-quoted delimited-identifier> <a bind variable> continue avg count current max min prior sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set specification> <an alternatively-quoted SQ
我假設如果我刪除
.I-ON.NET
了一部分,它會起作用。我怎樣才能刪除/逃避這個?Oracle 文件說明
GLOBAL_NAME
了複製所需的內容。那麼如何在不刪除的情況下呼叫這個遠端函式GLOBAL_NAME
呢?這是我要創建的創建語句
DB LINKS
SQL> CREATE PUBLIC DATABASE LINK SKYLBS_LINK2 2 CONNECT TO ICE 3 IDENTIFIED BY ICE1234 4 USING 'ORCL'; Database link created.
這就是我所擁有的
NAME TYPE VALUE ---------------------------- ----------- ---------------- global_names boolean FALSE
僅供參考,我無法更改配置文件或重新啟動數據庫,因為我沒有權限。
概括:
- 如何刪除
GLOBAL_NAME
我DB LINKS
從未在我的創建語句中寫過的內容。- 如何執行包含禁止字元串的遠端功能
從 DB_LINKS 中刪除 DB_DOMAIN。
ALTER SYSTEM SET global_names = false SCOPE = SPFILE; ALTER SYSTEM SET db_domain = '' SCOPE = SPFILE; UPDATE GLOBAL_NAME SET GLOBAL_NAME = [Name without db_domain];
然後重新啟動,DB 和 Listener。
但是,我仍然不知道如何將它與域一起使用。