【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

異なるOracleサーバ上のテーブルを結合する方法

IPアドレスが異なるOracleのテーブルを結合して出力したいのですが可能でしょうか?2つのテーブルをローカルにダウンロードして結合表示するとパフォーマンスが悪いので、2つのサーバから直接データをダウンロードしたいのです。2つのOracleサーバは読み取り権限しか与えられておらず、SELECT文ぐらいしか使えません。

Oracle 10G
Windows 2003 Server

A 回答 (1件)

DATABASE LINK を使用してください。



■作成方法
1.CREATE DATABASE LINK文

  CREATE [PUBLIC] DATABASE LINK dblink
   [CONNECT TO user IDENTIFIED BY password]
   [USING connect_string];

dblink
データベース・リンク名を指定します。
ドメインを省略した場合は、データベース・リンクを作成したインスタンスのデータベース・ドメインが付加されます。

PUBLIC句
 この句を指定するとパブリック・データベース・リンクが作成できます。

CONNECT TO句
接続ユーザを指定する事ができます。CONNECT TO句を指定しないとデータベース・リンクにアクセスした現行セッションのユーザでリンク先へ接続します。
ユーザ名はuserで指定し、パスワードはIDENTIFIED BY句の後のpasswordで指定します。

USING句
リンク先に接続する時の接続文字列を指定します。指定できるのはtnsnames.oraで定義されているネット・サービス名、または簡易接続ネーミングです。

例1
現行セッションのユーザでリンク先に接続するデータベース・リンクの例です。

  CREATE DATABASE LINK remote
   USING remote

例2
固定のユーザでリンク先に接続するデータベース・リンクの例です。
この例だと現行セッションのユーザに関わらず、常にtest/testでリンク先に接続します。

  CREATE DATABASE LINK remote
   CONNECT TO test IDENTIFIED BY test
   USING remote;

■アクセス方法
データベース・リンクを使用してリンク先にアクセスするには@dblinkをオブジェクト名の後に記述します。


remoteインスタンス上のtable1という表にアクセスします。

  select * from table1@remote;

参考URL:http://blogs.yahoo.co.jp/mr_makochi/9103121.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報