• 締切済み

Oracle10gから8iへのデータ移行について

Oracle10g(10.1.0.2)のデータをOracle8i(8.1.6)へ移行する方法を教えていただけないでしょうか? Oracle8iからOracle10gのデータベースへアクセスして,そこでエクスポートすればいいのでしょうか?その方法もいろいろ試しているのですが,解決には至っておりません。 よろしくお願いします。

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.3

初期化パラメータ COMPATIBLE の値 (デフォルトは 8.1.0) が 8.1.6 以下であれば Oracle 8i 以下の exp/imp ユーティリティを使用することで可能でしょう。もし、それよりも大きい場合は、とりあえずダメもとで試してみるのがよいでしょう。統計情報などはどうせ役に立たないでしょうから、statistics=NONE とされるとよいかと思います。

すると、全ての回答が全文表示されます。
回答No.2

10gや9i特有のデータ型や機能(リストパーティションなど)を用いていなければおそらくExport、Importで対応できるかと思いますが日本オラクルからは 正式に「Not Supported」とアナウンスされています。 確実なのは#1さんのおっしゃるようにCSV経由ですが まずは二つのデータベースをデータベースリンクで つないで create 10g_table_name as select * from 8i_table_name@8i_database_link_name; で移行を試してみてはいかがでしょうか。 うまくいけば非常に楽に移行ができます。 もちろんCSV経由と同様に移行はテーブルのみですので インデックスやシーケンス、シノニム、ビューなどは 別途定義する必要があります。

すると、全ての回答が全文表示されます。
回答No.1

10.1.0.2から8.1.6へのデータ移行は、エクスポートユーティリティできないと思います。 (データ型等もいろいろ追加されていますし、仮に8iの頃のデータ型を使用していたとしてもexpユーティリティの互換などもありますので) #バージョンが8.1.6なのがちょっと厄介ですね。 #せめて8.1.7なら・・・ 10gのデータはcsv形式で出力し、SQL*Loaderを使って8iに移行する方法がよいかと思います。 csv形式で出力する場合、oracleの標準ツールとしては無いですが、PL/SQLで自作するか市販のツールを使う などで出力してください。

すると、全ての回答が全文表示されます。

関連するQ&A