Oracleのexp, impコマンド
ダンプ・ファイルの作成に使用したexpより前のバージョンのimpは使用できないので、注意すること。
エクスポート
エクスポートには、expコマンドを使用する。- ヘルプオプション
- $ exp help=y
データベース全体をEXPORT
EXP_FULL_DATABASEロールを付与されているユーザでないと、データベース全体をEXPORTできない。例)$ exp system/manager fully=y
表領域をEXPORT
表領域をEXPORTするには、TABLESPACESオプションを指定する。指定した表領域内のオブジェクトは、全てEXPORTされる。例)$ exp system/manager tablespaces=tbls
ユーザーをEXPORT
ユーザー単位にEXPORTするには、OWNERオプションを指定する。指定したユーザーが保有するオブジェクトは、全てEXPORTされる。例)$ exp usr01/passwd owner=usr01
テーブルをEXPORT
テーブル単位にEXPORTするには、TABLESオプションを指定する。例1)テーブル「emp1」と「emp2」をEXPORTする $ exp usr01/passwd tables=emp1,emp2 例2)テーブル「emp」のパーティション「prt01」をEXPORTする $ exp usr01/passwd tables=emp:prt01
EXPORTするレコードの条件を指定
QUERYオプションで、SQL文のWHERE句を指定する。例)テーブル「emp」の、列「salary」 >= 200 のレコードをEXPORTする $ exp usr01/passwd tables=emp query=\"where salary >= 200 \"
EXPORTするファイルを指定
エクスポートするファイルを指定するには、FILEオプションを指定する。デフォルトのエクスポートファイル名はカレントディレクトリの「expdat.dmp」となる。例)$ exp usr01/passwd tables=emp file=emp.dmp
パラメータ・ファイルの使用
コマンドラインパラメータをファイルで指定するには、PARFILEオプションを指定する。例)ファイル「emp.para」に設定されたパラメータでエクスポートする。 $ exp usr01/passwd parfile=export.par export.parファイルの内容 # Export tables. # TABLES=usr01.table1,usr01.table2 # # default filename is expdat.dmp FILE=expdat.dmp # GRANTS=y INDEXES=y CONSISTENT=y # # log output LOG=export.log
インポート
インポートには、impコマンドを使用する。- ヘルプオプション
- $ imp help=y
データベース全体をIMPORT
データベース全体をIMPORTするには、FULLオプションを指定する。IMP_FULL_DATABASEロールを付与されているユーザでないと、データベース全体をIMPORTできない。例)$ imp system/manager fully=y
表領域をIMPORT
表領域をIMPORTするには、TABLESPACESオプションを指定する。指定した表領域内のオブジェクトは、全てIMPORTされる。例)$ imp system/manager tablespaces=tblsp01
ユーザーをIMPORT
ユーザー単位にIMPORTするには、OWNERオプションを指定する。指定したユーザーが保有するオブジェクトは、全てIMPORTされる。例)$ imp usr01/passwd owner=usr01
テーブルをIMPORT
テーブル単位にIMPORTするには、TABLESオプションを指定する。例1)テーブル「emp」をIMPORTする $ imp usr01/passwd tables=emp 例2)テーブル「emp」のパーティション「prt01」をIMPORTする $ imp usr01/passwd tables=emp:prt01
EXPORTしたユーザと異なるユーザーにIMPORT
EXPORTしたユーザーをFROMUSERオプション、IMPORTするユーザーをTOUSERオプションで指定する。IMP_FULL_DATABASEロールが付与されているユーザーでないと、実効できない。例)$ imp system/manager tables=emp fromuser=usr01 touser=user99
既に存在するオブジェクトを上書きIMPORT
IMPORT先に既に存在するオブジェクトに上書きIMPORTするには、IGNORE=Yオプションを指定する。IGNORE=Yが指定されてなく、IMPORT先に同名のオブジェクトがある場合、エラーとなる。例)$ imp usr01/passwd tables=emp ignore=y
IMPORTするファイルを指定
インポートするファイルを指定するには、FILEオプションを指定する。デフォルトのインポートファイル名はカレントディレクトリの「expdat.dmp」となる。例)$ imp usr01/passwd tables=emp file=emp.dmp
パラメータ・ファイルの使用
コマンドラインパラメータをファイルで指定するには、PARFILEオプションを指定する。$ imp usr01/passwd parfile=import.par import.parファイルの内容 # Import tables. # # default filename is expdat.dmp FILE=expdat.dmp # TABLES=(*) # # log output LOG=import.log