• 検索結果がありません。

ORACLE_LOADER の場合の間違いやすい対応例 3

ドキュメント内 スライド 1 (ページ 78-86)

 ORACLE_LOADER ドライバー( SQL*Loader 含む)は

文字 “列” に対応できるが、これで常に解決できるわけではない

 例)フィールド終端 : ,,

abc,,def,,1,234 ← 一見良さそう uvw,,xy,,,7,890 ← 想定外の区切り 文字列にしても解決できない

uvw xy ,7,890

区切りがずれている

正しいアプリケーション実装

 終端記号にマイナーな ASCII 制御文字を使用できないシステムでは 少なくとも 2 個の印字可能文字は、データに含まれないように

RDBMS からの入力時 / RDBMS からの出力時に置き換える

– ISO10646 文字実体参照 : , → ,

– SQLインジェクション対策に合わせて実装する

知っておきたい便利な使い方

複数の表を Export し、データのみを Import したい

複数の表をExportし、データの みを

Import

したいが、外部キー が多数あり、整合性制約に違反 してしまう・・・

COMMAND> expdp system/manager ;

SQL> alter table emp disable constraint emp_no_fk ;

・・・関連するすべての参照整合性約を

disable

に設定します

COMMAND> impdp system/manager ;

SQL> alter table emp enable constraints emp_no_fk ;

・・・関連するすべての参照整合性約をenableに設定します

以下のように、関連する参照整合性制約を

disable

し、

Import

後に 参照整合性制約を

enable

にすると、エラーを解消できます

オリジナル / Data Pump

Export ダンプから一部データを取り出す方法

誤って一部データをdeleteし、

commit してしまった!!

エクスポートのダンプ・ファイル から取り出したい・・・

COMMAND> impdp system/manager

remap_schema=oradirect:dummy

SQL> insert into oradirect.emp select * from dummy.emp where emp_id=100;

SQL> drop table dummy.emp

SQL> delete from oradirect.emp

where emp_id=100;

SQL> commit;

以下のように削除したデータを

エクスポートのダンプ・ファイルより取り出せます

!

注)エクスポートした時点のデータと削除したデータが一致するかは不明であるため、

この例の場合emp_id=100のデータに関して、 エクスポート時と誤って削除した時が 同じであったことを前提と しています

オリジナル / Data Pump

索引作成文を受け取る方法 -オリジナル-

エクスポート・ファイルの CREATE TABLE 文もコメ ントとして含まれます!

オリジナル

Option INDEXFILE

デフォルト なし

用途 索引作成文を受け取るファイルを指定します

使用例

imp scott/tiger TABLES=(wendy.emp) INDEXFILE=‘index.txt’

さらに Data Pump ではすべての SQL 文を 受け取れます

Data Pump

Option SQLFILE

デフォルト なし

用途 インポートが他のパラメータに基づいて実行するすべてのSQL DDLの書込み先の ファイルを指定します

使用例

impdp scott/tiger TABLES=(wendy.emp) SQLFILE=‘index.txt’

注意:

パスワードは、SQLファイルに含まれないことに注意してください たとえば、実行したDDLにCONNECT文が含まれている場合、

その文はコメントで置き換えられ、スキーマ名のみが表示されます

例: TEST_TABLE 表をインポートする際の SQLFILE を受け取る場合

impdp oradirect/oradirect dumpfile=test_table.dmp tables=test_table sqlfile=sqlfile.txt

SQLFILE の一例

Data Pump

CREATE TABLE

文や

CREATE INDEX

文を 確認する事ができます

さらに

INSERT

文も 確認する事ができます

Data Pump 圧縮

ドキュメント内 スライド 1 (ページ 78-86)

関連したドキュメント