7

ドメイン サーバー名「HBHAWANI」(バージョン Oracle 8i) に「HBHAWANI」という名前のデータベースがあります。ここで dblink を作成しようとすると、エラーが発生します。

Link  : "DBLINK_DOMAINSERVERTOUPASS_PP"  
Error : ORA-02085: database link DBLINK_DOMAINSERVERTOUPASS_PP connects to ORACLE  

DBLink のスクリプトは次のとおりです。

CREATE PUBLIC DATABASE LINK DBLINK_DOMAINSERVERTOUPASS_PP  
CONNECT TO UPASS.HBHAWANI  
IDENTIFIED BY <PWD>  
USING 'UPASS.HBHAWANI';  

私はたくさん試しましたが、同じエラーが発生しました。これについて提案をお願いします。

4

1 に答える 1

17

あなたはおそらく にglobal_names設定していてtrue、あなたが思っているように接続していません. は、アクセスするリモート データベースのユーザー アカウントであり、句で指定connect toしたパスワードに対応します。はエントリidentified byusingように見えますが、SID を指しているエントリです。そのエントリを質問に追加すると役立つ場合があります。現在、節と節の両方でエイリアス名を指定しているようですが、これはおそらく正しくありません。tnsnames.oraconnect_dataORACLEusingconnect to

on の場合、データベース リンク名はリモート データベース名と一致する必要があります。これglobal_namesは実際の名前であり、指定したエイリアスではありません。これは、データベース リンクがである必要があることを意味します。これはORACLE少し混乱するかもしれません。

global_namesデータベース レベルで設定をオフにすることもできますが、それは許可されていないか、望ましくない場合があります。これがめったに使用されないリンクalter session set global_names=falseである場合は、リンクを使用するクエリの前に追加することもできます。ただし、名前に一貫性を持たせることで、長期的には混乱が少なくなる可能性があります。

于 2012-04-03T08:52:15.960 に答える