こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

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

Oracle 10G
Windows 2003 Server

投稿日時 - 2010-05-26 21:03:01

QNo.5924031

暇なときに回答ください

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

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

投稿日時 - 2010-05-26 21:54:12

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問