2

この質問が何度も聞かれることは知っていますが、この情報を自分の状況に適用する方法がよくわかりません.

DB LINKに接続しようとしている2つのデータベースがあります。これらは:

  • BBEGMTD1
  • OPEGMTP1.WORLD

DB リンクは、誰かによって PE_DBLINK.WORLD という名前で既に定義されています。

私のマシンからこれらのデータベースの両方にアクセスできるので、tnsnames.ora がどのように影響を受けるかわかりません。

ただし、DB LINK をテストすると、次のように有名になります。

リンク: "PE_DBLINK.WORLD" エラー: ORA-12154: TNS: 指定された接続識別子を解決できませんでした

BBEGMTD1 サーバーで tnsnames.ora を変更する必要がありますか?

@Chance コメントに従って、以下をselect * from ALL_DB_LINKS返します。

PUBLIC                        
PE_DBLINK.WORLD                                                                 
PRICING                       
OPEGMTP1.WORLD                                                                  
03-NOV-11

PUBLIC                        
EBPROJ.WORLD                                                                    
EBPROJ                        
MIDGMTP1                                                                        
17-JUN-09

MYOPEGMTP1WORLD.WORLD                                                           
PRICING                       
(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=ORA04SOUK) (PORT=1521) ) (CONNECT_D
ATA= (SERVER=dedicated) (SERVICE_NAME=OPEGMTT1) ) ) )                           
16-DEC-11

これは、詳細が表示されていることを示す TOAD の TNSNames エディターです。

ここに画像の説明を入力

4

6 に答える 6

5
  1. これを実行して、DBLink PE_DBLINK.WORLD のホストを確認します。

    select * from ALL_DB_LINKS

  2. その DBLink の HOST (つまり OPEGMTP1.WORLD ) から tnsnames.ora を確認します。(ロケールマシン)にあります

    %ORACLE_HOME%\network\admin\tnsnames.ora

  3. tnsnames.ora に見つからない場合は、次のように追加します。

    OPEGMTP1.WORLD = (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=ORA04SOUK) (PORT=1521) ) (CONNECT_DATA= (SERVER=専用) (SERVICE_NAME=OPEGMTT1) ) )

  4. または、独自の DBLink を作成します。

    CREATE DATABASE LINK MYOPEGMTP1.WORLD CONNECT TO user IDENTIFIED BY password USING '(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=ORA04SOUK) (PORT=1521) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=OPEGMTT1) ) ) )'

于 2011-12-16T10:30:51.927 に答える
2

ソース DB ホストで有効な TNS エントリを確認します。DB リンクは RDBMS ホストから RDBMS ホストに作成されます。PC は関係ありません。

于 2013-02-03T09:18:53.987 に答える
0

プライベート DB リンクの場合は、DB リンクの所有者としてログインしてテストする必要があります。

于 2014-09-15T20:00:50.123 に答える
-1

db_link are from db server to db server, not from client to server; so please make sure your both database servers have correct tns entries for service.

tnsnames.ora on Database server should have tns entries for service.

于 2015-11-19T19:28:50.837 に答える