OracleのEXPとIMPで指定するパラメータのメモ

DBを既に稼動している別サーバに移動するときの、指定したほうが良いパラメータをメモ。
Oracleのバージョンは、共に9i (詳しくは、元が[9.2.0.4.0]で、先が[9.2.0.7.0])


DBの情報は以下を前提としています。

  • ユーザ名
    • USER
  • パスワード
    • PASS
  • 元サーバのTNSNAME
    • TNSDB
  • 先サーバのTNSNAME
    • TNSNEWDB

EXP

先ずはエクスポート。

必要なスキーマのみを抽出するときの例は以下の通り。

EXP USER/PASS@TNSDB BUFFER=409600 FILE=EXPDAT0806.DMP LOG=EXPLOG0806.LOG OWNER=USER

必ず指定するパラメータは以下。

  • USERID
    • USER/PASS@TNSDB の部分
  • BUFFER
  • FILE
    • ファイル名の指定のみだと、実行時のフォルダに配置される。
      • Windowsを例にとると「C:\>EXP 〜」とした場合、C:\ 直下にダンプファイルが作成される。
      • あくまでも EXP を実行するPC(もしくはサーバ)にダンプファイルが作成される。
  • LOG
    • FILE パラメータとファイル配置は同様。
    • エクスポート時のエラー確認用。

状況に応じて変更するパラメータは以下。

  • OWNER
  • FULL=Y
    • 全て(SYSTEMやSYSを含む)のDBを取得する際に使用。


パラメータのヘルプ(「EXP -HELP」を実行)は、以下の通り。

Export: Release 9.2.0.1.0 - Production on 金 Aug 6 16:52:43 2010

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.



EXPを入力するとエクスポートがパラメータ入力を要求します。
コマンドに続いてユーザー名/パスワードを指定してください:

     入力例: EXP SCOTT/TIGER

また、EXPコマンドの後に引数を入力することによって、エクスポートの実行を 
制御できます。パラメータの指定にはキーワードを使用します:

     形式  : EXP KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
     入力例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
          または TABLES=(T1:P1,T1:P2)、ただしT1がパーティション表の場合。

USERIDは、コマンドラインの最初のパラメータである必要があります。

キーワード 摘要(デフォルト)            キーワード    摘要(デフォルト)
--------------------------------------------------------------------------
USERID     ユーザー名/パスワード        FULL         ファイル全体のエクスポート(N)
BUFFER     データ・バッファのサイズ     OWNER        所有者のユーザー名リスト
FILE       出力ファイル(EXPDAT.DMP)    TABLES       表名のリスト
COMPRESS   1エクステントにインポート(Y) RECORDLENGTH IOレコードの長さ
GRANTS     権限のエクスポート(Y)        INCTYPE      増分エクスポートの種類
INDEXES    索引のエクスポート(Y)        RECORD       増分エクスポートの追跡(Y)
DIRECT     ダイレクト・パス(N)          TRIGGERS    トリガのエクスポート(Y)
LOG        画面出力のログ・ファイル     STATISTICS   オブジェクトの分析(ESTIMATE)
ROWS       データ行のエクスポート(Y)    PARFILE      パラメータ・ファイル名
CONSISTENT 表間の一貫性(N) CONSTRAINTS  エクスポート制約(Y)

OBJECT_CONSISTENT    オブジェクトのエクスポート中のみに読み込むトランザクション設定(N)
FEEDBACK             x行ごとに進行状況を表示(0)
FILESIZE             各ダンプ・ファイルの最大サイズ
FLASHBACK_SCN        セッションのスナップショットを戻すために使用するSCN
FLASHBACK_TIME       指定した時間に最も近いSCN取得時間
QUERY                表のサブセットのエクスポートに使用するSelect句
RESUMABLE            領域関連のエラーが発生すると一時停止します(N)
RESUMABLE_NAME       再開可能文の指定に使用するテキスト文字列
RESUMABLE_TIMEOUT    RESUMABLEの待機時間
TTS_FULL_CHECK       TTSの依存性検査の全部または一部を実行する
TABLESPACES          エクスポートする表領域のリスト
TRANSPORT_TABLESPACE トランスポータブル表領域のメタデータのエクスポート(N)
TEMPLATE             iASモードのエクスポートを起動するテンプレート名

エクスポートは警告なしで正常終了しました。

IMP

次にインポート。

手順としては

  1. スキーマ(ユーザ)を作成する。
  2. 作成したスキーマへ、移行したいスキーマ分をインポート。

となります。

エクスポートと同じユーザの例は、以下の通り

IMP USER/PASS@TNSNEWDB FROMUSER=USER TOUSER=USER IGNORE=Y COMMIT=Y BUFFER=409600 FILE=EXPDAT0806.DMP LOG=IMPLOG0806.LOG

必ず指定するパラメータは以下。

  • USERID
    • USER/PASS@TNSDB の部分
  • FROMUSER
    • EMP で取得した際に、ダンプに入っているユーザ。(OWNERで指定したのであればそのユーザ)
  • TOUSER
  • IGNORE
    • 表領域名が違ったりすると、エラーとなってインポートできないのを防ぐ。
  • COMMIT
  • BUFFER
  • FILE
  • LOG

パラメータのヘルプ(「IMP -HELP」を実行)は、以下の通り。

Import: Release 9.2.0.1.0 - Production on 金 Aug 6 17:13:35 2010

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.



IMPを入力するとインポートがパラメータ入力を要求します。
コマンドに続いてユーザー名/パスワードを指定してください:

     入力例: IMP SCOTT/TIGER

また、IMPコマンドの後に引数を入力することによって、インポートの実行を 
制御できます。パラメータの指定にはキーワードを使用します:

     形式  : IMP KEYWORD=value または KEYWORD=(value1,value2,...,valueN)
     入力例: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
      または TABLES=(T1:P1,T1:P2)、ただしT1がパーティション表の場合。

USERIDは、コマンドラインの最初のパラメータである必要があります。

キーワード   内容(デフォルト値)        キーワード   内容(デフォルト値)
--------------------------------------------------------------------------
USERID       ユーザー名/パスワード     FULL         全ファイルをインポート(N)
BUFFER       データ・バッファ・サイズ  FROMUSER     所有するユーザーのリスト
FILE         入力ファイル(EXPDAT.DMP)  TOUSER       ユーザー名リスト
SHOW         ファイル内容のリスト(N)   TABLES       表名のリスト
IGNORE       作成時エラー無視(N)       RECORDLENGTH ファイルのI/Oレコード長
GRANTS       権限のインポート(Y)       INCTYPE      増分インポートの種類
INDEXES      索引のインポート(Y)       COMMIT       配列挿入のコミット(N)
ROWS         データ行のインポート(Y)   PARFILE      パラメータ・ファイル名
LOG          画面出力のログ・ファイル  CONSTRAINTS  制約のインポート(Y)
DESTROY                表領域データ・ファイルの上書き(N)
INDEXFILE              指定ファイルへの表/索引情報の書込み
SKIP_UNUSABLE_INDEXES  使用不能な索引のメンテナンスをスキップ(N)
FEEDBACK               x行ごとに進行状況を表示(0)
TOID_NOVALIDATE        指定したタイプIDの妥当性チェックをスキップ
FILESIZE               各ダンプ・ファイルの最大サイズ
STATISTICS             計算済統計情報のインポート(常時)
RESUMABLE              領域関連のエラーが発生すると一時停止します(N)
RESUMABLE_NAME         再開可能文の指定に使用するテキスト文字列
RESUMABLE_TIMEOUT      RESUMABLEの待機時間
COMPILE                プロシージャ、パッケージおよび関数のコンパイル(Y)
STREAMS_CONFIGURATION インポートは一般的なメタデータをストリームします(Y)
STREAMS_INSTANITATION  インポートはインスタンス化メタデータをストリームします(N)

次のキーワードは、トランスポータブル表領域のみに適用されます。
TRANSPORT_TABLESPACEは、インポートするトランスポータブル表領域メタデータ(N)。
TABLESPACESは、データベース内に移送される表領域。
DATAFILESは、データベース内に移送されるデータ・ファイル
TTS_OWNERSは、トランスポータブル表領域セット内にデータを所有するユーザー。

インポートは警告なしで正常終了しました。