Oracleのエクスポート
0.改定履歴
- 1997.01.23 初版
1.はじめに
このドキュメントは,Oracle 7にて,データベースのオブジェクトエクスポート(つまり,データの書き出し)を行なう方法を記述する.
ここでは,バージョンに依存していそうな部分は,それとなく明記しているので参考にしてもらいたい.
また,ここでは次のような環境を用いているので,それを前提とする.
- Windiows NT 3.51 Server
- Oracle 7.2 Workgroup Server
2.Oracle Data Managerを使用した場合
Oracle Data Managerは,GUIを用いたエクスポート・インポートを行なうツールである.
このツールを使えば,とても簡単に作業を行なうことが出きる.
以下に手順を示す.
- Administrator ToolbarからOracle Data Managerを起動する.

- 次のような画面が表示される.

- [接続]フレーム内の[データベース]ボタンを押して,データベースに接続する. この時,エクスポート対象となるオブジェクト(たとえば,表,インデックスなど)に権限のあるユーザによって接続する. データベース全体が目的であれば,DBA権限(DBAロール)を持つユーザで接続する.
- [エクスポート]タブを選択し,エクスポートファイルを指定する.
- [エクスポート対象]フレーム内で,対象を選ぶ. ここでは,[全データベース]を選択する.
- [エクスポートするオブジェクト]から,エクスポートするオブジェクトを選択する.オブジェクトは以下のとおりである.
|
|
|
|
権限情報 |
|
|
インデックス情報 |
|
|
表データ行 |
|
|
表に対する制約 |
|
- 必要に応じて前出の表のオプションを指定する. バックアップ目的であれば,全てを指定する.
- 全て入力し終わったら,右上にある[エクスポート]ボタンを押す.
3.コマンドプロンプトから行なう場合
普通,エクスポート・インポートは,Oracle Data Managerで行なえばよいのであるが,これを使えない場合が有る.
それは,GUIベースのOracle Data Managerを持たない場合が考えられ,また,何らかの環境障害により起動しない時があるからである.
3.1 エクスポート
使用するOracleのバージョンによって違うと思われるが,コマンドラインでexp72.exeを使用して行なう.(使ったOracleのバージョンが7.2だから,ファイル名もexp72となっているのでは?)
- [コマンドプロンプト]を起動する.
$ORACLE_HOME\BIN
にあるexp72.exe
を起動します.($ORACLE_HOME
は,デフォルトだと,C:\ORANT
になっている.UNIXベースでも同じなので$ORACLE_HOME
環境変数をチェックしてもらいたい)
|
- この時,対象とするオブジェクト(テーブルなど)に権限のあるユーザでログオンする必要が有る. ここではsysユーザを使用しているが,全オブジェクトを対象とするならば,dba権限(ロール)が付与されているユーザを使用する.
|
- とりあえず,全てデフォルト(yes)を選択する. すべてのテーブルにアクセス権のあるユーザで接続した場合には,
[モード選択]
部分で,[(1)E (全データベース)]
が選択できる. 権限がないユーザの場合,表示され無いことが有る.(もし表示されても事実上使えない) - すべてを入力し終わると,処理が開始され,次のようにログが表示される. エクスポートする容量によって,当然処理時間がかかる.
|
4.参考
Oracle Data Managerを使う場合でも,exp72.exe
コマンドを使う場合でも,そのオプションが豊富に用意されている.
emp72.exe
をパラメータ付きで実行するには,次のようなスキーマとなる.
形式:
imp keyword=value1 or keyword = (value1,value2....value N)
例 :
imp scott/tiger grants = y tables = (emp,dept,mgr)
以下に,exp32.exe
コマンドで指定するオプションの一覧を記述する.
|
|
|
|
USERID |
ユーザID/パスワード | なし.設定しないと尋ねてくる. |
ユーティリティを実行するユーザ及びパスワード./で区切る. 例: |
BUFFER |
データバッファサイズ | 10240 |
バイト単位のデータバッファサイズ. サイズが大きすぎると利用可能な範囲で実行する. |
FILE |
出力ファイル | EXPDAT.DMP |
書き出されるファイル. 拡張子を指定しないとデフォルトで.dmp が付けられる. |
COMPRESS |
エクステント圧縮 | YES |
データインポート時にすべての表データを一定範囲内に配置する格納パラメータをエクスポートファイルに書き出す. |
GRANTS |
権限のEXPORT | YES |
SQL権限付き付与文をエクスポートファイルに書き出す. |
INDEXES |
索引のEXPORT | YES |
SQL索引作成文をエクスポートファイルに書き出す. |
ROWS |
表データ行のEXPORT | YES |
表の行内のデータと潜在するオブジェクトの定義を書き出す. |
CONSTRAINTS |
表に対する制約のEXPORT | YES |
オブジェクトインポート時に宣言の完全性を再構築するために必要なSQL文をエクスポートファイルに書き出す. 例:主キーと参照文 |
LOG |
画面出力のログファイル | なし | 画面出力をファイルに書き出す. |
FULL |
全エクスポートモード | NO | Oracleがシステムに関するすべてのデータファイル,表領域,ロールバックセグメントなどを再構築するためにSQL文をエクスポートファイルに書き出すかどうかを制御する. |
OWNER |
所有するユーザリスト | なし | 書き出されるオブジェクトを含むOracleのアカウントリストを出力する. |
TABLES |
表名リスト | なし | 書き出される定義又はデータを含む票のリストを出力する. |
RECORDLENGTH |
ファイルレコード長 | OSによる | 書き出されるレコードの長で,バイト単位で表現される. |
INCTYPE |
増分EXPORTの種類 | なし | 実行される増分エクスポートの種類. |
RECORD |
増分EXPORTをDBに記録 | YES |
Oracleに一部のデータディクショナリビュー内に書き出される増分エクスポートの種類を追随するように命令する.この情報は増分エクスポートファイルからインポートを実行する際に使用される. |
PARFILE |
パラメータファイル | なし | エクスポートに提供されるパラメータを含むファイルの名前. |
CONSISTENT |
表相互の一貫性 | NO |
Oracleに表相互間の一貫性を維持するように命令する.これによって,エクスポートされる表がエクスポートの実行中に使用される場合でも表データのコピーがエクスポート開始時間付けで作成される |
STATISTICS |
オブジェクトの分析 | ESTIMETE |
SQL分析文をエクスポートファイルに書き出す. |
参考文献:
ORACLE データベースビギナーズガイド
ISBN4-88135-344-6 C3055 P5000E