web-dev-qa-db-ja.com

ORA-02085:データベース・リンクDBLINK_NAMEはORACLEに接続します

ドメインサーバー名「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';  

私はたくさん試しましたが、同じエラーが発生しました。親切にこれに関する提案を提供してください。

6
MAHESH A SONI

おそらくglobal_namestrueに設定されていて、自分の考えに完全に接続していません。 connect toは、アクセスしたいリモートデータベースのユーザーアカウントであり、identified by句で指定したパスワードに対応します。 usingtnsnames.oraエントリのように見えますが、connect_dataOracleのSIDを指しているエントリです。そのエントリを質問に追加すると役立つ場合があります。現在、using句とconnect to句の両方でエイリアス名を指定しているようですが、これはおそらく正しくありません。

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

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

14
Alex Poole