1

あるテーブルのデータを、あるスキーマから別のスキーマに毎日ロードしたいと考えています。

  • テーブルは別のデータベースにあるため、セキュリティ上の理由により、データベース リンクを作成するオプションはありません....
  • 約 100 万件のレコードが処理されます....
  • データベースは別のサーバー上にあり、データベース「A」から、従業員の詳細と従業員のプレゼンステーブルを1か月間組み合わせて、このデータをデータベース「B」の他のテーブルにロードすることにより、従業員のプレゼンスの詳細を取得しています。このアクティビティを毎日実行する必要があります。
  • テーブルの完全なコピーを他のデータベースに取得するには、ピークの低い時間帯に毎日ジョブを実行する必要があります...
  • sqlldr を使用してデータをインポート/エクスポートまたはロードしますか?

正しい方法を教えてください..事前に感謝..

私の最良の選択肢は何ですか?

4

2 に答える 2

3

そうですね、データベースリンクを使用するのがあなたの状況に最も適しているようです。データベースからテーブルを読み取る場合は、読み取り権限が必要です。おそらく、特定のテーブルの読み取り権限しか持たないアカウント(ユーザー)を作成するようにDBAに依頼することができます。次に、新しいユーザーに接続するデータベースリンクを使用できます。接続しているユーザーには書き込み権限がないため、テーブルのデータを更新または削除することはできません。これにより、セキュリティの問題を解決できます。

exp/impとsqlldrは異なるツールです。それらは一緒に機能しません。データはエクスポートファイルからのみインポートできます。sqlldrを使用してエクスポートファイルをロードすることはできません。

于 2012-09-07T00:02:44.597 に答える
1

これを定期的に実行したい場合は、Oracle Scheduler を見てみたいと思うかもしれません。

概要: http://docs.oracle.com/cd/B28359_01/server.111/b28310/schedover001.htm

データをエクスポートして新しいデータベースに追加するには、エクスポートとインポートの両方を安全に実行できる Oracle DataPump を使用することをお勧めします。

データ ポンプ エクスポート: http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm

したがって、データ ポンプを使用してデータベース番号 2 からエクスポート ファイルを作成し、次にデータ ポンプを使用してそのファイルをデータベース番号 1 にインポートするシェル スクリプトを作成することに賭けることができます。そのスクリプトを作成したら、実行するようにスケジュールできます。夜間や交通量の少ない時間に。

よろしく

于 2012-09-07T01:18:37.803 に答える