* Oracleインポート・エクスポート [#z4695b49] * [[Oracle>Oracleメモ]]インポート・エクスポート [#z4695b49] #setlinebreak(on); ◆準備 catexp.sql またはcatalog.sqlの実行(以下の処理が行われる) ・必要なエクスポート・ビューの作成 ・ EXP_FULL_DATABASE ロールへのすべての必要な権限の割当て ・DBA ロールへのEXP_FULL_DATABASE の割当て ・インストールされているcatexp.sql のバージョンの記録 ◆エクスポート(expを使用) ・基本構文 exp username/password PARAMETER=value または exp username/password PARAMETER=(value1,value2,...,valuen) ※Oracle Net でのエクスポートおよびインポート username/password@接続修飾文字列 ・対話形式 exp username/password ・対話形式(パラメータファイルの使用) exp PARFILE=filename exp username/password PARFILE=filename exp username/password PARFILE=filename INDEXES=n ※一部のパラメータを上書きする場合 #html(<div style="padding-left:10px;">) [主なエクスポート・パラメータ] |パラメータ|説明|初期値|h |BUFFER|行のフェッチに使用されるバッファのサイズをバイト単位で指定&br;0(ゼロ)を指定すると、1 回に1 行のみフェッチ|| |COMPRESS|表データの初期エクステントの管理方法&br;デフォルトのCOMPRESS=y を指定すると、インポート時に表データを1つの&br;初期エクステントに整理統合するためのフラグが付きます。&br;エクステント・サイズが大きい場合(たとえば、PCTINCREASE が指定されている場合)、&br;データの格納に必要以上の領域が割り当てられます。|y| |CONSTRAINTS|表制約をエクスポートするかどうかを指定します。|y| |DIRECT|ダイレクト・パス・エクスポートと従来型パス・エクスポートの&br;どちらを使用するかを指定します。&br;DIRECT=y を指定すると、エクスポート・ユーティリティが、&br;(バッファを調べ)SQL コマンド処理レイヤーをバイパスしてデータを直接読み込み、&br;データを抽出します。この方法は、従来型パス・エクスポートに比べて非常に高速です。|n| |FILE|エクスポート・ファイル名を指定します。|expdat.dmp| |FULL|エクスポートが、全データベース・モードのエクスポートであること&br;(データベース全体のエクスポート)を示します。|n| |GRANTS|オブジェクト権限をエクスポートするかどうかを指定します。|y| |INDEXES|索引をエクスポートするかどうかを指定します。|y| |LOG|情報メッセージおよびエラー・メッセージを受け取るファイル名を指定します。|なし| |OWNER|ユーザー・モード・エクスポートでエクスポートすることを示します。&br;エクスポートの対象となるオブジェクトを所有するユーザー名のリストを表示します。|なし| |PARFILE|エクスポート・パラメータのリストが格納されているファイルのファイル名を指定します。|なし| |QUERY|表モード・エクスポートを実行するとき、&br;一連の表から行のサブセットを選択できるようにします。&br; 例)&br; exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal\<1600\"|なし| |ROWS|表のデータ行をエクスポートするかどうかを指定します。|y| |STATISTICS|エクスポートされたデータのインポート時に生成される&br;オプティマイザ統計のタイプを指定します。|ESTIMATE| |TABLES|。エクスポートの対象となる表名、パーティション名およびサブパーティション名を指定します。|なし| |TABLESPACES|表領域のすべての表がエクスポートされるように指定します。|なし| |USERID|エクスポートを実行するユーザーのusername/password(およびオプションの接続文字列)を指定します。&br;パスワードを指定しないと、入力するように要求されます。&br; 例)&br; username/password AS SYSDBA&br; または&br; username/password@instance AS SYSDBA|なし| #html(</div>) ・パラメータファイル内での値の指定方法 PARAMETER=value PARAMETER=(value) PARAMETER=(value1, value2, ...) 例) # コメント FULL=y FILE=filename GRANTS=y INDEXES=y CONSISTENT=y ◆インポート(impを使用) ・インポート順序 1. 型定義 2. 表定義 3. 表データ 4. 表索引 5. 整合性制約、ビュー、プロシージャおよびトリガー 6. ビットマップ索引、ファンクション索引およびドメイン索引 ・基本構文 imp username/password PARAMETER=value または imp username/password PARAMETER=(value1,value2,...,valuen) ・対話形式 imp username/password ・対話形式(パラメータファイルの使用) imp PARFILE=filename imp username/password PARFILE=filename imp username/password PARFILE=filename INDEXES=n ※一部のパラメータを上書きする場合 #html(<div style="padding-left:10px;">) [主なインポート・パラメータ] |パラメータ|説明|初期値|h |BUFFER|取り出したデータ行を格納するバッファのバイト数です。|| |COMPILE|パッケージ、プロシージャおよびファンクションを作成時に&br;インポート・ユーティリティでコンパイルするかどうかを指定します。|y| |CONSTRAINTS|表の制約をインポートするかどうかを指定します。|y| |FILE|インポートするエクスポート・ファイル名を指定します。|expdat.dmp| |FULL|エクスポート・ファイル全体をインポートするかどうかを指定します。|n| |GRANTS|オブジェクト権限をインポートするかどうかを指定します。|y| |IGNORE|オブジェクトの作成時に作成エラーが発生しても、このエラーは無視され処理を継続します。|n| |INDEXES|索引をインポートするかどうかを指定します。|y| |LOG|情報メッセージおよびエラー・メッセージを受け取るファイルを指定します。|なし| |PARFILE|インポート・パラメータのリストを格納するファイルのファイル名を指定します。|なし| |ROWS|表のデータ行をインポートするかどうかを指定します。|y| |SHOW|yを指定すると、エクスポート・ファイルの内容が画面に表示されますが、&br;インポートは実行されません。エクスポート・ファイルに含まれるSQL 文は、&br;インポート・ユーティリティがその文を実行する順序で表示されます。&br;SHOW パラメータを指定できるのは、FULL=y、FROMUSER、TOUSER または&br;TABLES パラメータを指定した場合のみです。|n| |STATISTICS|インポート時にデータベース・オプティマイザ統計がどう処理されるかを指定します。&br; ・ALWAYS&br; データベース・オプティマイザ統計に問題があるかどうかにかかわらず、&br; 常にインポートします。&br; ・NONE&br; データベース・オプティマイザ統計をインポートまたは再計算しません。&br; ・SAFE&br; データベース・オプティマイザ統計に問題がない場合のみにインポートします。&br; 問題がある場合は、オプティマイザ統計を再計算します。&br; ・RECALCULATE&br; データベース・オプティマイザ統計をインポートしません。かわりに、&br; インポート時に再計算します。|ALWAYS| |TABLES|インポートの対象となる表名、パーティション名およびサブパーティション名をリストとして指定します。|なし| |TOUSER|オブジェクトがもともと入っていたスキーマと異なるスキーマにインポートする場合に指定します。|なし| |USERID|インポートを実行するユーザーのusername/password(およびオプションの接続文字列)を指定します。|なし| #html(</div>)