4

私は下請け業者であり、クライアントはOracleデータベースを9から10にアップグレードしたいと考えています。他のベンダーがアップグレードプロセスを実行する予定であり、アップグレード前に必要なバックアップを作成してから、Oracle10で環境を再作成するように求められました。すべてのデータは、単一のスキーマの個別のデータベースに保存されます。派手な関係やスクリプトなどはありません(実際のアプリは、Oracle、SQL Server、Postgresなどのさまざまなデータベースをサポートしているため、DB固有のコードは避けたいと考えています)。

imp / expを使用したいと思っていましたが、imp / expに下位互換性があるかどうかわかりません(expがO9からimpからO10)?

同様の状況に対処するためのより良い/推奨される方法がある場合は、アドバイスをいただければ幸いです。

4

3 に答える 3

3

はい、imp/expを使用してそれを実現できます。また、Oracle10を使用している場合は、imp/expの代わりにOracleの新しいDataPumpユーティリティを使用してください。

于 2010-03-21T15:34:00.987 に答える
2

確かに、expツールを使用してデータベースをエクスポートしてから、impツールを使用して新しいデータベースにインポートすることができます。

異なるバージョンのOracle間で1つのインポート/エクスポートできますか?

インポートユーティリティのさまざまなバージョンは、上位互換性があります。これは、古いエクスポートバージョンから作成されたエクスポートファイルを取得し、それを新しいバージョンのインポートユーティリティを使用してインポートできることを意味します。これは、データベースをOracleのあるリリースから次のリリースにアップグレードするための非常に効果的な方法です。

Oracleには、ユーザーSYSとして実行できる以前のcatexpX.sqlスクリプトもいくつか付属しており、古いimp / expバージョンを機能させることができます(下位互換性のため)。たとえば、Oracle8データベースで$ORACLE_HOME / rdbms / admin / catexp7.sqlを実行して、Oracle 7.3 exp/impユーティリティをOracle8データベースに対して実行できるようにすることができます。

この問題の詳細については、インポート/エクスポートのFAQを参照してください。

于 2010-03-21T15:35:15.337 に答える
0

exp / impを使用して古いバージョンから「アップグレード」することはできますが、私はそれを行いません。

exp / impを使用すると、新しいデータベースを効果的に作成できます。すべてのテーブル統計を失うことになります。もちろん、それらを再作成できます。しかし、なぜ?また、新しいログイン/パスワードを作成する必要があります。データベースのクエリに使用されるサードパーティのツールが含まれていないことを確認してください。おそらくその間に、「あなたの」アプリケーションテーブルに許可を与える2番目のスキーマ(たとえば、レポート生成用)が作成されました。

私の意見では、oracle 10ソフトウェアをインストールしてから、既存のデータベースをアップグレードする方がよいでしょう。オラクルは十分な移行ツールを提供します。

どの道路を選択する場合でも、「本番」データの全量を使用して、統合サーバーで徹底的にテストする必要があります。また、インポートにはエクスポートよりもはるかに長い時間がかかる可能性があることにも注意してください。

于 2010-03-22T09:37:51.953 に答える