3

これはおそらく不可能であることを私は知っています。しかし、私はまだここで私の問題を詳しく説明します.誰かが私が必要とするものに似たものを持っていれば、それは素晴らしいことです.

Windows サーバーでホストされているファイル検証システムがあります。このシステムは、フロントエンド ファイル検証アプリケーションがさまざまな種類のデータを検証するために使用するメタデータ テーブルを保持します。現在、メタデータ テーブルと同じデータベースでホストされている単一のアプリケーションに対応しています。

問題は、このシステムをスケーラブルにして、さまざまなアプリケーションのファイルを検証できるようにしたいことです。その一部は異なるデータベースに存在します。メタデータ テーブルのチェックの一部は Pl/SQL に基づいているため、ファイル検証システムとアプリケーション データベースの両方のデータベースが同じでない限り、これらのチェックを実行できません。一度に複数のデータベースでテーブルを共有する方法はありますか? そうでない場合、これに対する可能な回避策は何ですか?

4

2 に答える 2

2

Oracle には DBLink があります。ドキュメントをチェックしてください。

http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm

于 2013-04-26T17:59:12.507 に答える
2

1 つのテーブルであるかのように複数のデータベースの複数のテーブルにアクセスする場合は、データベース リンクを使用するビューを使用する必要があります。最初にデータベース リンクについて学習する必要があります。それから、ビューの作成は問題ではありません。

データベース リンクを使用すると、同じデータベースのテーブルとして、別のデータベース テーブルにアクセスできます。@mydblinkデータベースリンクを作成したら、テーブル名に を追加するだけです。例

CREATE DATABASE LINK mydblink 
CONNECT TO user IDENTIFIED BY password
USING 'name_of_other_db'

SELECT * FROM sometable@mydblink

これはうまく機能し、リモート データベースとローカル データベースの更新には 2 フェーズ コミットさえあります。セットアップに応じて、それについて知っておくべきことがいくつかありますが、それについては oracle ドキュメントですべて読むことができます。私はデータベース リンクを使用して大規模なプロジェクトに幅広く取り組んできましたが、それはあなたがやりたいことに対する正しいアプローチです。

http://docs.oracle.com/cd/E11882_01/server.112/e25494/ds_concepts002.htm#ADMIN12083

http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_5005.htm

これは、複数のデータベースのデータにアクセスし、予想されるパフォーマンスに関する情報を提供するビューを作成する方法をグーグルで調べた後に見つけたリンクです。

http://www.dba-oracle.com/t_sql_dblink_performance.htm

于 2013-04-26T20:44:03.747 に答える