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