• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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

関連するQ&A