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

Oracle と Java は Oracle Corporation 及びその子会社 関連会社の米国及びその他の国における登録商標です 文中の社名 商品名等は各社の商標または登録商標である場合があります 2

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle と Java は Oracle Corporation 及びその子会社 関連会社の米国及びその他の国における登録商標です 文中の社名 商品名等は各社の商標または登録商標である場合があります 2"

Copied!
95
0
0

読み込み中.... (全文を見る)

全文

(1)

<Insert Picture Here>

夜な夜な! なにわオラクル塾

Presented By アシスト #48

(2)

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中 の社名、商品名等は各社の商標または登録商標である場合があります。

(3)

Program Agenda

Oracle Databaseのデータ・ローディング

Export/Import

Oracle Database からのCSVアンロード

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

まとめ

1

2

3

4

5

(4)
(5)

Oracle Databaseのデータ・ローディング

データ・ロードの種類

中間ファイルを利用するもの

exp/impユーティリティ、Data Pump(expdp/impdp)ユーティリティ

SQL*Loaderユーティリティ

外部表機能

トランスポータブル表領域機能 (ソース側のデータベースはEnterprise

Edition必須)

ネットワークを利用するもの

分散処理機能(データベース・リンク + SQL)

Oracle Data Integrator (ETLツール)

Oracle GoldenGate(リアルタイム・レプリケーション・ツール)

(リアルタイムにデータ連携、データ移行、データベース・アップグレード等

で利用)

(6)

Oracle Databaseのデータ・ローディング

主にテキスト・ファイルの内容をロードする

外部ファイルのデータをOracle Databaseの表に格納

ユーティリティ(SQL*Loader)の利用

(7)

SQL*Loaderの概要

Oracle Databaseに付属しているユーティリティのひとつ

SQL*Loaderの制御ファイルを用意することで、

外部ファイルからの柔軟なローディングをおこないます

廃棄ファイル

不良ファイル

ログ・ファイル

制御ファ

イル

Oracle Database

SQL*Loader

外部ファ

イル

•外部ファイルの場所

•ファイル形式(固定長、可変長)

•データの挿入先となる表

•外部ファイル内のデータと表カラムの紐付け

•SQL*Loader実行ログを格納

(ロード件数、エラー情報など)

•条件等が合わず、ローディング

されなかったレコードを格納

•エラーによりローディング

されなかったデータを格納

(8)

SQL*Loaderの実行時モード

従来型パス・モード / ダイレクト・パス・モード

柔軟性、高速性に応じた実行モードを用意

柔軟) 従来型パス・モード

内部的にINSERT文を作成し

INSERTを実行

高速) ダイレクト・

パス・モード

内部的に

INSERTを実行しません

ブロック(ORACLE_BLOCK=I/Oの単位)イメージを生成し、

物理的に

直接

書込みます(=

ダイレクト・ロード

いくつかの制限事項があります

表ロック取得

(9)

SQL*Loaderのパラレル処理

パラレル・ダイレクト・パス

同一の表もしくはパーティション表の同一パーティションに対して

同時にダイレクト・パス・ロードを実行できます

あらかじめ

準備

が必要です

SQL*Loaderの同時実行数分、外部ファイル(データ)を

分割

外部ファイルにあわせて制御ファイルを作成(もしくは実行時にパラメータ DATA で外部

ファイルを指定)

実行時にパラメータ PALALLEL=TRUE を指定します

(10)

SQL*Loader使用例

制御ファイルの作成

外部ファイルのフォーマット、ロード先の表の情報をもとに制御ファイルを作成

emp表の定義

制御ファイル:emp.ctl

LOAD DATA

INTO TABLE emp

APPEND

FIELDS TERMINATED BY ','

(

empno,

ename,

hiredate DATE 'YYYYMMDD',

job,

junk FILLER,

deptno

)

SQL> DESCRIBE emp

名前 NULL? 型

--- --- ---

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

1001,ichiro,20001025,SALESMAN,junk,10 1002,jiro,20011125,ANALYST,junk,20 1003,saburo,20021225,MANAGER,junk,30

外部ファイル:emp.dat

・カンマ区切りの可変長 ・日付は8桁の数字列(YYYYMMDD) ・表のカラムすべてと1:1に紐付けできない ・表にロードすべきでないデータ「junk」が存在する

(11)

SQL*Loader使用例

実行例

従来型パス・モード

ダイレクト・パス・モード

パラレル・ダイレクト・パス・モード

% sqlldr scott/xx CONTROL=emp.ctl DATA=emp.dat

% sqlldr scott/xx CONTROL=emp.ctl DATA=emp.dat DIRECT=true

% sqlldr scott/xx CONTROL=emp.ctl DATA=emp1.dat LOG=emp1.log DIRECT=true PARALLEL=true & % sqlldr scott/xx CONTROL=emp.ctl DATA=emp2.dat LOG=emp2.log DIRECT=true PARALLEL=true &

事前に主キーを無効にしておくか、

(12)

SQL*Loaderのロード方式性能比較

従来型パス・モード vs ダイレクト・パス・モード

ダイレクト・パス・モードは従来型パス・モードに比べ非常に高速

0.19

1.00

0.00 0.20 0.40 0.60 0.80 1.00

ダイレクト・パス・ロード

従来型パス・ロード

emp表(カラム構成が単純)へのロード(10,000,000件)の比較例

(13)

外部表

外部ファイルにあるデータをデータベース内に表があるかのようにアクセスする

既存のSQL*Loader機能を補足する機能

データベースに表がある場合と同様に、外部ソースのデータにア

クセス可能

テキストファイル or バイナリファイル

外部

ファイ

Oracle Database

外部表

INSERT

INTO

SELECT

任意のSQL関数を利用した変換処理

ダイレクト・パス・インサート

パラレル・ロード

圧縮済ファイルの使用(11g R2以降)

利用例:ステージング表を作成しないデータロード

(14)

テキストファイル or バイナリファイル

アクセス・ドライバの利用イメージ

ORACLE_LOADER

外部ファイルはテキスト・データ・ファイルのみ

圧縮されたテキスト・データ・ファイルも利用可能

PREPROCESSOR指定

ORACLE_DATAPUMP

当アクセス・ドライバでUNLOADしたファイルを利用

外部ファイルは

プラットフォーム非依存

バイナリ・ファイル

Data Pump(expdp)のdmpファイルは利用できません

ORACLE_LOADERアクセス・ドライバに比べ高速

外部ファイルの圧縮、暗号化が可能

UNLOADで生成した外部ファイルは、

Oracle Database相互のデータ交換で利用します

(15)

外部表の使用例(1)

使用前の準備

外部表を置くOS上のディレクトリを決め、Oracle Databaseの

ディレクトリ・オブジェクトを作成します

外部表を作成するOracle Database上のユーザに対し、

ディレクトリ・オブジェクトの権限を付与します

% sqlplus / as sysdba

SQL> CREATE DIRECTORY

ext_tbls

AS '/app/oracle/admin/orcl/ext_tbls';

SQL> GRANT

READ

ON DIRECTORY ext_tbls TO scott;

SQL> GRANT

WRITE

ON DIRECTORY ext_tbls TO scott;

(16)

外部表の使用例(2)

ORACLE_LOADERアクセス・ドライバを使用した定義

外部ファイル(テキスト・ファイル)の構

造をもとに外部表を定義します

1001,ichiro,20001025,SALESMAN,junk,10

1002,jiro,20011125,ANALYST,junk,20

1003,saburo,20021225,MANAGER,junk,30

外部ファイル:ext_emp.dat

•カンマ区切りの可変長 •日付は8桁の数字列(YYYYMMDD) •表のカラムすべてと1:1に紐付けできない •表にロードすべきでないデータ「junk」が存在する

CREATE TABLE ext_emp ( empno NUMBER(4), ename VARCHAR2(10), job VARCHAR2(9), hiredate DATE, deptno NUMBER(2) )ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER

DEFAULT DIRECTORY ext_tbls

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ','(

empno CHAR(4), ename CHAR(10),

hiredate CHAR(8) date_format DATE mask "YYYYMMDD", job CHAR(9), junk CHAR(4), deptno CHAR(2) ) ) LOCATION ('ext_emp.dat') );

外部ファイルの

定義文

(17)

外部表の使用例(3)

ORACLE_LOADERアクセス・ドライバを使用した実行

外部表へのSELECT文の実行

実行時のログファイル等の出力

SQL> select * from ext_emp;

EMPNO ENAME JOB HIREDATE DEPTNO

--- --- --- --- ---

1001 ichiro SALESMAN 00-10-25 10

1002 jiro ANALYST 01-11-25 20

1003 saburo MANAGER 02-12-25 30

指定ディレクトリに

・ログファイル

・不良ファイル(対象データがあれば)

・廃棄ファイル(対象データがあれば)

が出力されます

(18)

外部表の使用例(4)

ORACLE_DATAPUMPアクセス・ドライバを使用した定義

外部表の作成の一環として外部ファイル(ダンプファイル)を作

成します

作成済外部ファイルを利用して外部表を作成します

CREATE TABLE ext_emp_ul

ORGANIZATION EXTERNAL

(

TYPE

ORACLE_DATAPUMP

DEFAULT DIRECTORY ext_tbls

LOCATION ('

ext_emp_ul.dmp

')

)

AS

SELECT empno, ename, job,

mgr,

hiredate,

sal,

comm,

deptno

FROM emp

;

CREATE TABLE ext_emp (

empno NUMBER(4),

ename VARCHAR2(10),

job VARCHAR2(9),

mgr NUMBER(4), hiredate DATE,

sal NUMBER(7,2),

comm NUMBER(7,2),

deptno NUMBER(2)

)

ORGANIZATION EXTERNAL

(

TYPE

ORACLE_DATAPUMP

DEFAULT DIRECTORY ext_tbls

LOCATION ('

ext_emp_ul.dmp

')

)

(19)

外部表の前処理

ORACLE_LOADERアクセス・ドライバのPREPROCESSOR句

前処理プログラムを使用することで、アクセ

ス・ドライバがサポートしていない形式のファ

イルを外部ファイルとして利用できます

圧縮された外部ファイルを解凍

前処理プログラムを置くディレクトリ・オブジェ

クトの作成、権限付与を行います

CREATE TABLE ext_emp (

empno NUMBER(4),

ename VARCHAR2(10),

job VARCHAR2(9),

hiredate DATE,

deptno NUMBER(2)

)

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER

DEFAULT DIRECTORY ext_tbls

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

PREPROCESSOR

exec_dir:'zcat'

FIELDS TERMINATED BY ','(

...

)

)

LOCATION ('

ext_emp.dat.gz

')

);

外部ファイル

の定義文

% cd /app/oracle/admin/orcl/exec_dir

% ln -s /bin/zcat

% sqlplus / as sysdba

SQL> CREATE DIRECTORY

exec_dir

AS

'/app/oracle/admin/orcl/exec_dir';

SQL> GRANT

READ

ON DIRECTORY

exec_dir

TO scott;

SQL> GRANT

EXECUTE

ON DIRECTORY

exec_dir

TO scott;

(20)

外部表を利用したデータ・ローディング

DML文(INSERT / UPDATE / MERGE / DELETE)をそのまま使用します

アクセス・ドライバ種別も意識せず、透過的に利用できます

SQL*Loaderと同様、ダイレクト・ロードも可能です

SQL*Loaderのダイレクト・パスと同様、HWMより後ろのブロックを使用します

ロード処理をPL/SQLでそのままバッチ処理の一部として取り込む

事ができます

INSERT INTO emp SELECT * FROM

ext_emp

;

外部表

(21)

SQL*Loaderと外部表の比較

ステージング表の利用

業務アプリケーションが利用している表にそのままデータをロードすることは

ほとんどありません

通常、ステージング表(*1)に一度データをロードした後、エラーチェックや変換処理

を行ったあと、業務アプリケーション用の表にロードします

外部表を利用すると、多くの場合でステージング表にロードする工程を

省くことができます

SQL*Loader利用

(ステージング表使用)

外部表利用

(ステージング表未使用)

(22)

SQL*Loaderと外部表の比較

バッファ・キャッシュの利用

ステージング表として利用している永続表への問い合わせ処理は基本的にOracle

Databaseのバッファ・キャッシュを経由します

2回目以降のアクセスは高速化できます

必要に応じて、既存のキャッシュを破棄する場合があります

外部表への問い合わせ処理はOracle Databaseのバッファ・キャッシュを経由しません

既存のキャッシュを破棄せずに処理をおこなうことができます

複数回のアクセスはキャッシュがないため非効率となる場合があります

→ 複数回アクセスする場合はステージング表にロードします

(23)

SQL*Loaderと外部表の比較

外部表のパラレル処理

外部表の参照の場合、永続表と同様にパラレル処理が可能

テーブルの属性としてパラレル度数を設定

セッション単位で設定(ALTER SESSION)

ヒントによる設定

ORACLE_LOADERアクセス・ドライバは制約があるので注意

文字の境界が文字列中の任意のバイトで始まり、境界を判断できないマルチ

バイト・キャラクタ・セット(SJIS、EUC)を含む可変長データはパラレル処理が出

来ません(UTF-8は問題なし)

SQL*Loaderは事前に外部ファイルを分割する必要があるため、手間がか

かります

ALTER SESSION FORCE PARALLEL QUERY;

ALTER SESSION FORCE PARALLEL DDL;

INSERT /*+ APPEND */ INTO emp SELECT * FROM ext_emp;

外部表を使用した

パラレル処理の例

(24)

SQL*Loaderと外部表の比較

SQL*Loaderと外部表の使い分け

SQL*Loaderに適した処理

ネットワークを介したデータのロード

複合オブジェクト・リレーショナル・データの任意のロード

セカンダリ・ファイルを使用したLOBおよびコレクションのロード

定常的ではない、一時的なローディング(手早い)

基本的には外部表を使用したロードをおこないます

任意のSQL関数を利用した変換処理

ダイレクト・パス・インサート

パラレル・ロード(ファイル分割不要)

圧縮済ファイルの使用

(25)

外部表のアクセス・ドライバ性能比較

ORACLE_LOADER vs ORACLE_DATAPUMP

ORACLE_DATAPUMPで利用する外部ファイルは

バイナリであり、型変換がほとんど発生しない

Oracle Database間のデータ連携ではORACLE_DATAPUMPアクセス・ドライ

バの利用を推奨

0.84

1.00

0.00 0.20 0.40 0.60 0.80 1.00

ORACLE_DATAPUMP

ORACLE_LOADER

emp表(カラム構成が単純)へのロード(10,000,000件)の比較例(ORACLE_LOADERアクセス・ドライバを1としたときの相対時間)

(26)

EXPORT/IMPORT

(27)

Export/Importとは

データベース間のデータ の移動を可能にします

データベース間のデータ の移動を可能にしています

エクスポート

インポート

• 通称、このOSファイルのことを

ダンプ・ファイルと呼

んでいます

このダンプファイルはバイナリ形式であり、エクスポー

トインポート

ユーティリティのみで読み書きがなされます

• FTPなどを使用して別サイトに転送、または物理的

に移送(テープの場合)できます

エクスポート対象のオブジェクトを抽出し、

OS上のファイル

に書き込まれます

ダンプ・ファイルからオブジェクトの定

義および表データを読み込みます

(28)

Export/Importの用途

論理バックアップの取得

Database

Backup

Database

論理バックアップは、様々な状況で物理バックアップを補足するために役立ちます

ただ、論理バックアップをリストアするためには物理バックアップを再構築して、

Oracleサーバーで使用できるようにする必要があります

よって、論理バックアップは、物理バックアップを補うために使用する事を推奨します

Exportユーティリティで論理バックアッ

プを取得します

Importユーティリティを使用して、

再インポート可能です

(29)

Export/Importの用途

データベースのバージョンアップ

ハードウェアが老朽化してきたから、そろそ

ろハードウェアのリプレイスをしないと・・・・

このタイミングでOracle Database

バージョンアップ

しよう!

バージョンアップするとなると、

データを移行

する必要がある

な・・・

Export/Importでデータを移行しよう!

(30)

Export/Importの種類

オリジナルのExport/Import

expおよびimpコマンドで起動するオリジナルの

エクスポート・ユーティリティおよびインポート・ユーティリティです

Oracle Database11g では非推奨(原則としてサポートされなくなりました)

Data Pump

Oracle Database10gから搭載されたexpdpおよびimpdpコマンドで起動す

エクスポート・ユーティリティおよびインポート・ ユーティリティです

データのロード・アンロードを高速に行うことができます

(31)

オリジナルのExport/Import 概要図

Import Utility

IMP

Oracle Net

Export Utility

EXP

xxx.dmp

Oracle Database

Oracle Net

ダンプ・ファイル

はクライアント側

に格納されます

(32)

Data Pump 概要図

Oracle Net

PL/SQL Package Access Driver

Oracle Database

expdp/impdpの

実行エンジン

Import Utility

impdp

Oracle Net

Export Utility

expdp

xxx.dmp

ダンプ・ファイルは

サーバー側に

格納されます

(33)

コマンドからのExport/Importの起動

次のコマンドからExport/Importを起動できます

表モード

ユーザー・モード

表領域モード

全データベース・モード

exp(imp)

ユーザ名/パスワード

エクスポートするモード

ダンプファイル

Ex. exp(imp) scott/tiger owner=scott file=exp.dmp

(34)

Export – オリジナル –

モード

機能説明

パラメータ

フル

データベース全体のエクスポート

FULL=y

ユーザー

指定したユーザー全体のエクスポート

OWNER=user[, …]

テーブル

指定したテーブル全体のエクスポート

TABLES=table[, …]

テーブルスペース

指定したテーブルスペース全体のエク

スポート

TABLESPACES=tablespace[, …]

EXPで利用可能なモード

例1: > exp scott/tiger full=y

例2: > exp scott/tiger file=exp.dmp tables=(emp,dept)

フルモード

テーブルモード

Export Utility

EXP

expおよびimpコマンドで起動する

オリジナルのエクスポート・ユーティリティ

フル・モードでの注意点

SYSが所有する オブジェクト、およびORDSYS、CTXSYS、 MDSYS および

ORDPLUGINSスキーマはエクスポートされません

(35)

Import – オリジナル –

Import Utility

IMP

impコマンドで起動する

オリジナルのインポート・ユーティリティ

COMMAND > imp scott/tiger tables=emp,dept

IMPでは、

EXPで使用できたパラメータのほとんどを利用することができます

IMPでパラメータを指定することにより、EXPで作成したダンプファイルからさら

に対象データを絞りこんでインポートすることが可能です

ダンプファイルからemp表と

dept表のみをインポート

COMMAND > imp scott/tiger owner=scott

ダンプファイルからscottユーザーの

オブジェクトをインポート

(36)

Data Pump とは

Oracle Database10gから導入されたユーティリティです

Data Pumpテクノロジを使用すると、

データおよびメタデータをデータベース間で非常に高速に

移動できます

利用方法

• expdp/impdpコマンド

• Oracle Enterprise Manager

• DBMS_Data Pump PL/SQLパッケージ

• その他、外部表などのエンジンとして内部利用

(37)

Data Pumpのここがすごい!

ダイレクトパスAPIの改善による処理速度向上

エクスポート:オリジナルのExportに比べて2倍高速

インポート:オリジナルのImportに比べて15~40倍高速

Data Pumpを使用したら

速くなった!

Data Pumpは、大量データを扱う大きなジョブ向き!

Data Pumpでは、マスター表を作成するためのオーバー

ヘッドによって小さなジョブは遅くなりますが、大量のデー

タを高速に処理することは、中・大規模なジョブにとって

大きなメリットとなります!

Data Pump

(38)

Export/Import – 出力先ディレクトリの指定

Data Pumpではクライアントではなくサーバーにより書き込みが行われるため、

処理を行うディレクトリ位置が特定されている必要があります

ダンプファイルを出力するディレクトリに対して、DB上でディレクトリオブジェクトを作成

します実行時には、ディレクトリオブジェクトを

DIRECTORYパラメータで指定

します

パラメータでディレクトリを指定していない場合、OS環境変数「DATA_PUMP_DIR」、

なければ ディレクトリオブジェクト「DATA_PUMP_DIR」が参照されます

Data Pump

SQL > CREATE DIRECTORY DPUMP_DIR1 AS ‘/home/oracle/oradata/dpump_dir’;

SQL > GRANT READ, WRITE ON DIRECTORY dpump_dir1 TO scott;

COMMAND > expdp scott/tiger tables=emp,dept directory=dpump_dir1

権限付与

ディレクトリオブジェクト作成

環境変数の設定

COMMAND > set DATA_PUMP_DIR=DPUMP_DIR1; export DATA_PUMP_DIR

(39)

Tips

Oracle RAC構成でData Pumpまたは外部表を使用するには、ディレクトリ・

オブジェクトのパスが

クラスタ・ファイル・システム上に存在するようにする必要があります

この目的で使用できる共有ストレージが構成内にない場合にも並列処理

が必要であれば、CLUSTER=noパラメータを使用して、すべてのワー

カー・プロセスを、Data Pumpジョブが開始されたインスタンスのみに置く

ことができます

ASMを使用可能にした場合のディレクトリ・オブジェクトの使用方法

SQL> CREATE or REPLACE DIRECTORY dpump_dir as '+DATAFILES/‘;

ログ・ファイル用の個別のディレクトリ・オブジェクトの作成

SQL> CREATE or REPLACE DIRECTORY dpump_log as

'/homedir/user1/‘;

使用例

> expdp hr DIRECTORY=dpump_dir DUMPFILE=hr.dmp

(40)

Export – Data Pump –

オリジナルのexportと同様の操作性をもった

エクスポートユーティリティ

モード

機能説明

パラメータ

フル

データベース全体のエクスポート

FULL=y

スキーマ

指定したスキーマ全体のエクスポート

SCHEMAS=schema[, …]

テーブル

指定したテーブル全体のエクスポート

TABLES=table[, …]

テーブルスペース

指定したテーブルスペース全体のエク

スポート

TABLESPACES=tablespace[, …]

expdpで利用可能なモード

例1: > expdp scott/tiger full=y

例2: > expdp scott/tiger dumpfile=exp.dmp tables=emp,dept

フルモード

テーブルモード

Export Utility

expdp

(41)

フィルタ処理を行います

エクスポートの対象から除外するオブジェクトを

EXCLUDEパラメータで指定

します

COMMAND > expdp scott/tiger exclude=index:¥”LIKE ¥’EMP%¥’¥”

LIKEやINを指定す

ることも可能です

※空白等を区切り文字にしないためにダブルクオーテーションが

必要ですが、OSによってはエスケープ文字が必要となります従っ

て、通常は

パラメータを記述したファイルを読み込ませる

と便利で

COMMAND > expdp scott/tiger include=index

フィルタ処理を行い、エクスポートの対象となるオブジェクトを

細かく設定することができます

INCLUDE / EXCLUDE

Data Pump

エクスポートの対象オブジェクトを

INCLUDEパラメータで指定

します

(42)

データのフィルタ処理を行います

Data Pump

フィルタ処理を行い、エクスポートの対象となるデータを細かく設定

することができます

エクスポート対象表のセットから行のサブセットを選択できます

例:職種がSALESMANで、給与が1600より少ない従業員のみをエクスポートする場合

COMMAND > expdp scott/tiger TABLES=emp QUERY=¥"WHERE job=¥'SALESMAN¥' and sal ¥<1600¥"

サンプリングしてソース・データベースからアンロードするデータ行の割合を指定できます

例:SCOTTのEMP表の50%がエクスポートされます

COMMAND > expdp scott/tiger tables=emp SAMPLE=“SCOTT"."EMP":50

(43)

ファイルサイズを指定します

Data Pump

各ダンプ・ファイルがそのサイズを上限とし、置換変数(%U)を持つテンプレー

トを指定していてダンプ・ファイルを分割します

サイズが3MBのダンプ・ファイルを設定する

COMMAND > expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_3m.dmp FILESIZE=3MB

3MBでもすべてのエクスポート・データを保持するのに十分でなかった場合、次のエラー

が表示され、ジョブは中止されます

ORA-39095: Dump file space has been exhausted: Unable to allocate 217088 bytes

FILESIZE

ファイル指定に置換変数が含まれている場合は、新しいファイルが作成されます

COMMAND > expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_3m%U.dmp FILESIZE=3MB

キロバイト(KB)、メガバイト(MB)、

(44)

フラッシュバック・モードを指定します

指定したSCNもしくは時刻における一貫性を維持したデータの

エクスポートが可能です

あるSCNにおける一貫性を維持したデータをエクスポートするために

FLASHBACK_SCNパラメータを指定

します

ある時刻における一貫性を維持したデータをエクスポートするために

FLASHBACK_TIMEパラメータを指定

します

COMMAND > cat parfile.txt

FLASHBACK_TIME=“TO_TIMESTAMP(‘2004/03/20 10:00’,’YYYY/MM/DD HH:MI’)”

COMMAND > expdp scott/tiger parfile=parfile.txt

時刻指定

TO_TIMESTAMP()で時刻を指定

エスケープ文字が必要となるので、

パラメータファイルで指定

FLASHBACK_SCN / FLASHBACK_TIME

Data Pump

(45)

パラレル・エクスポートを指定します

Data Pump

エクスポート処理をパラレルで行うことが可能です

並列度を

PARALLELパラメータで指定

します

出力先ディレクトリをそれぞれ指定することも可能です

COMMAND > expdp scott/tiger parallel=3

dumpfile=dpump_dir1:expdat%U.dmp, dpump_dir2%U.dmp

COMMAND > ls –lR

dpump_dir1:

…….expdat01.dmp

…….expdat02.dmp

dpump_dir2:

置き換え変数(%U)を指定しない場合、

dumpfileのファイル数はparallelの値に合わ

せる必要があります指定している場合、

指定されたファイル指定がラウンドロビンに

使用されます

並列度の指定

生成されたダンプ

ファイルセットの確認

PARALLEL

※要Enterprise Edition

(46)

ダンプファイルのサイズの見積もります

ESTIMATE

ダンプファイルを生成せず、生成されるダンプファイルのサイズを

見積もることが可能です

見積もりのモードを

ESTIMATEパラメータで指定します

パラメータ値には次のどちらかを設定します

BLOCKS ・・・ ブロックサイズにオブジェクトのブロック数をかけて見積もります

(精度は高くありません)

STATISTICS ・・・ 統計情報を元に見積もります

見積もりのみ出力する場合には、

ESTIMATE_ONLY=yを指定します

COMMAND > expdp scott/tiger tables=emp,dept estimate=blocks estimate_only=y

(47)

Import – Data Pump –

Data Pump

COMMAND > impdp scott/tiger tables=emp,dept

Import Utility

impdp

impdpでは、

expdpで使用できたパラメータのほとんどを利用することができます

impdpでパラメータを指定することにより、expdpで作成したダンプファイルからさらに対

象データを絞りこんでインポートすることが可能です

ダンプファイルからemp表とdept

表のみをインポート

COMMAND > impdp scott/tiger include=index

(48)

ネットワーク・リンクを使用します

Data Pump

NETWORK_LINK

データベース・リンクを使用して、リモートデータベースから直

接ローカルデータベースにインポートを行うことができます

参考:エクスポートのネットワーク・リンク指定は、リモートデータベース

のデータをローカルにエクスポートする機能ですインポートの場合には

直接ローカルデータベースに書き込むので、ダンプファイルを作成しま

せん

COMMAND > impdp scott/tiger tables=emp,dept directory=dpump_dir

network_link=scott.jp.oracle.com

接続するリモートデータベースを、

NETWORK_LINKパラメータで指定します

指定する値はデータベース・リンク名です

(49)

ORACLE DATABASE からのCSVアン

ロード

(50)

なぜCSVでロード / アンロードしたいのか?

RDBMS製品間のデータ交換

Oracle Database から他社RDBMSへ

他社RDBMSから Oracle Database へ

業務処理(本番環境)としてデータ交換を行なっている

検証・開発用にデータをベンダーに提供する

(51)

CSVロード / アンロードに関する問題

CSVはフォーマット・エラーが発生しやすい

ローディングが行えず、検証/開発が始まらない

Oracle Database には CSVアンローダーが存在しない

どのような手法でアンロードするかが性能に大きく影響する

CSVフォーマット・エラーが発生しやすい

(52)

CSVフォーマットとは

狭義では CSV = Comma-Separated Values [RFC4180]

フィールド終端: , レコード終端: CRLF

広義では CSV = Character-Separated Values

フィールド終端とレコード終端が特定の文字

狭義のCSVを使いがちだが

ほとんどのソフトウェアが広義のCSVに対応している

狭義のCSVはフォーマット・エラーを起こしやすい

(53)

フォーマット・エラーの例

データにフィールド終端が含まれている

abc

def

1,234

uvw

xyz

7,890

abc

def

1

234

uvw

xyz

7

890

abc

,

def

,

1,234

uvw

,

xyz

,

7,890

2列に分割されてしまっている

(54)

望ましい対応例

終端記号をデータに含まれない文字にする

例)フィールド終端: タブ(^I)

abc

^I

def

^I

1,234

uvw

^I

xyz

^I

7,890

タブ区切りテキスト (TSV) は Microsoft Excel 含め、

対応ソフトウェアが多いので利用しやすい

• 注意:

ユーザーが自由入力できるアプリケーション

(textarea要素を含むWebアプリケーションなど)では

データにタブが含まれることが少なくない

(55)

ORACLE_LOADERの場合のよい対応例

終端記号にマイナーなASCII制御文字を使用する

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

ASCII制御文字を含むあらゆる文字に対応できる

例)フィールド終端: ユニット分離標識(^_)

レコード終端: レコード分離標識(^^)

abc

^_

def

^_

1,234

^^

uvw

^_

xyz

^_

7,890

マイナーなASCII制御文字がデータに含まれている確率はほぼゼロ

Vimでは Ctrl + V → Ctrl + ^ でASCII制御文字を入力可能

(56)

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

エンクロージャでは解決できない

エンクロージャ " を追加する

"

abc

","

def

","

1,234

"

データに " は含まれていないか? → 含まれている → エラー

"

abc

","

def

","

1'23"

"

データに " が含まれていないことが確実なのであれば、

フィールド終端を " にするだけで解決

abc

"

def

"

1,234

(57)

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

エンクロージャをつけても、レコード終端はデータに含められない

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

エンクロージャを使ってもデータにレコード終端を含められない

例)フィールド終端: , レコード終端: 改行 エンクロージャ: “

abc

“,”

def

“,”

12

34

→ エラー: 2番目の囲み文字列がありません

可変レコード形式 (VAR) を使った対応方法もあるが、

レコード終端を改行から別のASCII制御文字に変更したほうが簡単

(58)

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

エスケープ文字は使用できない

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

エスケープ文字でフィールド終端とレコード終端を無効化できない

例)フィールド終端: , レコード終端: 改行

abc

,

def

,

1

¥

,234

uvw

,

xyz

,

78

¥

90

abc

def

,234

uvw

xyz

78¥

90

単なる文字として扱われる

(59)

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

文字列にしても解決できない

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

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

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

abc

,,

def

,,

1,234 ← 一見良さそう

uvw

,,

xy,

,,

7,890 ← 想定外の区切り

uvw

xy

,7,890

区切りがずれている

(60)
(61)

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

オリジナル / Data Pump

複数の表を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し、

(62)

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

オリジナル / Data Pump

誤って一部データを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のデータに関して、 エクスポート時と誤って削除した時が

(63)

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

オリジナル

エクスポート・ファイルのCREATE

TABLE文もコメントとして含まれます

Option

INDEXFILE

デフォルト なし

用途

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

(64)

さらにData PumpではすべてのSQL文を

受け取れます

Data Pump

Option

SQLFILE

デフォルト なし

用途

インポートが他のパラメータに基づいて実行するすべてのSQL

DDLの書込み先のファイルを指定します

使用例

impdp scott/tiger TABLES=(wendy.emp)

SQLFILE=‘index.txt’

注意:

パスワードは、SQLファイルに含まれないことに注意してください

たとえば、実行したDDLにCONNECT文が含まれている場合、

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

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

(65)

SQLFILEの一例

Data Pump

CREATE TABLE文や

CREATE INDEX文を

確認する事ができます

さらにINSERT文も

確認する事ができます

(66)

Data Pump 圧縮

データやメタデータを圧縮してダンプファイルにエクスポートできる

COMPRESSION={ALL | DATA_ONLY | METADATA_ONLY | NONE}

NONE...エクスポート操作全体について圧縮が無効

METADATA_ONLY(default)...全ての“メタデータ”が圧縮形式で

ダンプ・ファイルへ書き込み

(以下の操作はAdvanced Compressionオプションが必要)

DATA_ONLY...全ての“データ”が圧縮形式でダンプ・ファイルへ書き込み

ALL...データ、メタデータともに圧縮

(例)スキーマを指定し、メタデータ、データともに圧縮してダンプ・ファイルscott.dmp

へエクスポート

$ expdp scott/tiger DIRECTORY=dpump_dir

DUMPFILE=scott.dmp COMPRESSION=ALL SCHEMAS=scott

Data Pump

(67)

Data Pump 暗号化

データやメタデータを暗号化してダンプファイルにエクスポートできる

ENCRYPTION = {ALL | DATA_ONLY | ENCRYPTED_COLUMNS_ONLY |

METADATA_ONLY | NONE}

ALL:すべてのデータおよびメタデータについて暗号化が有効

DATA_ONLY:データのみが暗号化

ENCRYPTED_COLUMNS_ONLY:暗号化された列のみが暗号化される

METADATA_ONLY:メタデータのみが暗号化

NONE:データは暗号化されない

(例)ダンプ・ファイルでデータのみが暗号化されるエクスポート操作

$ expdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=scott_enc.dmp

SCHEMAS=scott ENCRYPTION=data_only ENCRYPTION_PASSWORD=tiger

Data Pump

(68)

Direct NFS(dNFS)の概要

dNFSとは

Oracle Database内部に実装されたNFSクライアント機能

Oracle Database 11g Release 1から使用可能

dNFSの特徴

1.

OSカーネルのNFSクライアント(kNFS)より高いディスクI/O性能

2.

簡単な手順で機能を有効化

アプリケーションの書き換えは必要ない

ストレージの構成や運用に影響はない

複数イーサネット・ポートを使用したネットワーク帯域のスケー

ラビリティの設定が簡単

(69)

SQL*Loader及び外部表でのdNFSの使用

SQL*Loader及び外部表の入力ファイルに対して、dNFSを使用したアクセスが

可能

ファイルサイズに応じて自動でdNFSが利用される

1GB以上の入力ファイルに対しては、自動でdNFSを使用したアクセス

を実行

1GB以下の入力ファイルに対しては、kNFSを使用したアクセスを実行

明示的にdNFSによるアクセスを実行したい場合は、DNFS_ENABLEパラ

メータをENABLEに指定する

dNFSによる読み取りバッファ数に対して制限をかけることも可能

DNFS_READBUFFERSパラメータの値を変更する

(70)

SQL*Loader/外部表での使用方法

明示的な設定方法

SQL*Loader での使用方法

1.

明示的にdNFSを使用して入力ファイルにアクセスする場合

2.

明示的にdNFSを使用せずに入力ファイルにアクセスする場合

外部表での使用方法

access パラメータのDNFS_ENABLE/ DNFS_DISABLEで指定する

外部表でdNFSが利用されるのは、ORACLE_LOADERを使用した場合

ORACLE_DATAPUMPでは使用できない

$ sqlldr username/password control=control_file

DNFS_ENABLE=TRUE

(71)

Data PumpでのLOB記憶域の変更

Data Pump(impdp)で、インポートするLOBをSecureFilesに変更可能

Oracle Database 11gまで:従来のリリースまでは、LOBをインポート

する時に

expdpをしたLOBの属性のままでしかインポートできな

かった

Oracle Database 12cでは:TRANSFORMパラメータの

LOB_STORAGE

オプションでLOBの属性を変更可能

設定方法

TRANSFORM=LOB_STORAGE:[SECUREFILE | BASICFILE |

DEFAULT | NO_CHANGE]をimpdp時に指定する

(72)

Data PumpでのLOB記憶域の変更

実行例

SQL> select table_name,column_name,securefile from user_lobs; TABLE_NAME COLUMN_NAME SEC

--- --- --- T1 C1 NO

$ expdp test/test directory=datapump_dir tables=t1 …中略…

ジョブ"TEST"."SYS_EXPORT_TABLE_01"が月 9月 2 17:59:43 2013 elapsed 0 00:00:24で正常に完 了しました

$ impdp test/test directory=datapump_dir transform=LOB_STORAGE:SECUREFILE …中略…

ジョブ"TEST"."SYS_IMPORT_FULL_01"が月 9月 2 17:33:35 2013 elapsed 0 00:00:02で正常に完了 しました

SQL> select table_name,column_name,securefile from user_lobs; TABLE_NAME COLUMN_NAME SEC

--- --- --- T1 C1 YES

(73)

参考)SQL*LoaderによるLOBのロード

LOB値を別ファイルから読み込むことができます

1 disk.bmp

2 book.bmp

LOAD DATA

INFILE test.dat

INTO TABLE lob_tab

TRUNCATE

FIELDS TERMINATED BY WHITESPACE OPTIONALLY ENCLOSED BY '"'

(

id integer external,

ext_fname FILLER CHAR(10),

blob_col lobfile(ext_fname) terminated by EOF

)

制御ファイル

(74)

参考)DMLエラー・ロギング

INSERT、UPDATE、MERGE、DELETE文で利用可能

これまでは大量の行を対象とした単一のDMLにエラーが発生する

と処理の

すべてがロールバックされていました

上記DMLに「ERROR LOGS」句をつけることで利用します

エラー・ロギング表(上記のERR$_EMP)は DBMS_ERRLOG パッケージ

で作成

実行DMLとエラーロギング表への書き込みトランザクションは分離

DML操作に失敗したデータを記録する為のものであり、

すべてのエラーを書き込むものではありません

例) ORA-01653(領域不足)、ORA-01555

INSERT INTO emp (empno, ename, dptno, sal)

( SELECT empno, ename, dptno, sal FROM ext_emp )

(75)

参考)エラー・ロギング表の例

INSERT INTO emp (empno,ename,dptno,sal)

(SELECT empno,ename,dptno*1000,sal

FROM ext_emp

WHERE empno = 1)

LOG ERRORS INTO ERR$_EMP

('WEEKLY_BATCH') REJECT LIMIT 50;

UPDATE emp

SET dptno = dptno*1000

WHERE empno = 20

LOG ERRORS INTO ERR$_EMP

('WEEKLY_BATCH2') REJECT LIMIT 50;

INSERT でエラー発生

UPDATE でエラー発生

対象となるROWID

(76)

SQL*Loader Express Mode

外部データの取り込み、データ・ローディングが簡単に

シンプルなデータを簡単にロード

制御ファイルの作成が不要、実行時に必要なファイルはデータのみ

(パラメータを指定したカスタマイズも可能)

通常のSQL*Loader よりも高速なロード

外部表を経由したロード

外部表の作成・削除を自動実行

ダイレクト・インサートによりデータをロード

ロードを実行せず、SQL文だけの生成も可能

$ sqlldr scott/tiger table=EMP

制御ファイルは不要 7369,SMITH,CLERK,7902,1980-12-17 00:00:00,800,,20 7499,ALLEN,SALESMAN,7698,1981-02-20 00:00:00,1600,300,30 7521,WARD,SALESMAN,7698,1981-02-22 00:00:00,1250,500,30 ……

EMP.dat

表名.dat

• 列データは「,」で 区切る • 行データは「改 行」で区切る

(77)

SQL*Loader Expressモード

デフォルト動作

外部表を経由したロード

ロード中に外部表の作成・削除を自動実行

外部表を使用して、ロードするデータを参照

ダイレクト・インサートによりデータをロード

ロードを実行せず、SQL文だけの生成も可能

EXTERNAL_TABLE パラメータで制御

EXECUTE (デフォルト) : 外部表を使用してロード

NOT_USED : 従来型モードでロード

GENERATE_ONLY : SQL 文のみ生成

Direct

Insert

参照

EMP

外部表

$ sqlldr scott/tiger

table=EMP

データファイル

emp.dat

1

2

3

4

5

5

ロード完了

6

(78)

SQL*Loader Expressモード

デフォルト動作

データファイルの指定

カレントディレクトリの「<表名>.dat」を読み込む

DATA パラメータで任意のファイルの読み込みも可能

単一ファイルの読み込み

複数ファイルの読み込み

複数ファイルのデータを一括ロード

$ sqlldr scott/tiger table=EMP data=emp.dat

$ sqlldr scott/tiger table=EMP data='emp*.dat'

$ sqlldr scott/tiger table=EMP data='emp?.dat'

任意の値・文字列を含むファイル

(ex) emp.dat, emp1.dat, emp10.dat

任意の値(1文字)を含むファイル

(ex) emp1.dat, emp2.dat, emp3.dat

$ sqlldr scott/tiger table=EMP data='emp1.dat','emp2.dat'

$ sqlldr scott/tiger table=EMP data=emp1.dat data=emp2.dat

(79)

SQL*Loader Expressモード

出力ファイル

実行時に以下のファイルが出力される

<表名>.log

SQL*Loader 実行時のログファイル

SQL*Loader から実行されている SQL 文も参照可能

<表名>_<実行プロセスのPID>.log_xt

Database 上での処理実行時のログファイル

エラー発生時にはそのエラー情報を出力

<表名>_<PID>.bad

ロードできなかったデータ

ロード時にエラーが発生した場合のみ出力される

DATA パラメータ指定時は「 <最初のDATAファイル名>_<PID>.bad」となる

$ sqlldr scott/tiger table=EMP

• emp.log

• emp_21300.log_xt

• emp_21300.bad

$ sqlldr scott/tiger table=EMP

DATA=emp1.dat, emp2.dat

• emp.log

• emp_21301.log_xt

• emp_21302.log_xt

• emp_21301.bad

• emp_21302.bad

(80)

まとめ

Oracle Databaseにおいて2種類のテキスト・ファイルからのデータ・ロード

方法があります

SQL*Loader

外部表を使用したローディング

SQL*Loaderは以前のバージョンから提供されており、馴染み深いのですが、

現在は外部表の利用が主流です

外部表を利用することでデータ・ロードをSQLで柔軟におこなえます

エクスポート・インポートの種類は2種類

• オリジナルのExport/Import

Data Pump

Oracle Database 10gからはData Pumpを使用する

• ダイレクト・パス・ロードで高速な移行を実現

Oracle Database 12cからはSQL*Loader Express Modeも検討

Optionコマンドを使って、最適なExport/Importを実現

• Advanced Compressionで圧縮して高速化を実現

(81)

Appendix

(82)

参考)ダイレクト・ロードとHWM

ハイウォーターマーク(HWM)とは

テーブルに割り当てたブロックの中で、いままでデータが挿入されたことのある最後尾のブロック

ハイウォーターマーク(High Water Mark):高水位標

テーブルのフルスキャン時にはHWMまで読み取ります

メリット:テーブルの大きさに対してデータ量が少ない場合、高速に検索できる

デメリット: 大量削除などでHWM以前の空きが多い場合、実レコード数に比較して時間がか

かる

HWM

データ格納済

ブロック

空き

ブロック

空き

ブロック

テーブルのフルスキャン

HWM

データ格納済

ブロック

空き

ブロック

データ削除

空き

ブロック

HWM

空き

ブロック

テーブルのフルスキャン

(83)

参考)ダイレクト・ロードとHWM

ダイレクト・ロードの書込み

ダイレクト・ロードはHWMの後ろにデータを書き込みます

ブロック・イメージを作成し直接物理的に書き込む為、使用中の

ブロックを利用しません

ダイレクト・ロードは書込み速度は速いが、利用できない空き領域

(HWMよりも前の空き領域)がでてきます

データ削除が頻繁に発生する表にダイレクト・ロードを行う際はHWMを下げ

るような運用も検討します

HWM

データ格納済

ブロック

空き

ブロック

データ書込み開始ブロック

ダイレクト・ロードによる

(84)

HWMを下げるオペレーション

業務的に対象表にアクセスさせない状態で実施

1.

論理バックアップユーティリティ(EMP/IMP) + 元表削除(DROP)

2.

CREATE AS SELECT + TRUNCATE + INSERT SELECT

3.

CREATE AS SELECT + 元表削除(DROP) + RENAME

4.

ALTER TABLE <表名> MOVE TABLESPACE <表領域名>)

※ 索引等のメンテナンスも必須

オンライン状態で実施

1.

オンライン表再定義(Enterprise Edition機能)

(85)

HWMを下げるオペレーション

オンライン・セグメント縮小

オンライン・セグメント縮小

業務でテーブルを利用中でもセグメント縮小が可能

自動セグメント領域管理(ASSM)のみ利用可能

ALTER TABLE <表名> ENABLE ROW MOVEMENT;

ALTER TABLE <表名> SHRINK SPACE[CASCADE];

データの移動

HWMの移動

領域の解放

HWM

空き領域

(86)

Appendix

(87)

エクスポートするオブジェクトを指定します

オリジナル

トリガー:TRIGGERS

オブジェクトの指定

制約、権限、索引、トリガーをエクスポートするか指定します

権限:GRANTS

索引:INDEXES

制約:CONSTRAINTS

COMMAND > EXP scott/tiger TABLES=(wendy.emp) GRANT=n

COMMAND > EXP scott/tiger TABLES=(wendy.emp) TRIGGERS=n

COMMAND > EXP scott/tiger TABLES=(wendy.emp) INDEXES=n

(88)

データの一貫性を維持できるよう指定します

オリジナル

エクスポート・ユーティリティによって読み込まれたデータのある時点におけ

る一貫性を維持し、expコマンドの実行中に変更されないように指定します

COMMAND > EXP scott/tiger TABLES=(wendy.emp) CONSISTENT=n

CONSISTENT指定

CONSISTENT

注意:

ユーザーSYSとして接続しているとき、またはAS SYSDBAを使用しているとき

(あるいはその両方)に実行するエクスポートでは、CONSISTENT=yはサポートされ

ません

デフォルトはCONSISTENT=nです

(89)

2人のユーザーによる更新時のイベントの順序

オリジナル

時系列

ユーザB

TABLE1の

エクスポート開始

TABLE1、TABLE2の更新

トランザクションのコミット

TABLE1の

エクスポート終了

TABLE2の

エクスポート開始

CONSISTENT = n の場合 ・・・ TABLE2の更新は書き込まれますが、

TABLE1の更新は書き込まれません

CONSISTENT = y の場合 ・・・ TABLE1、TABLE2の更新ともに書き込まれません

• 読み取り一貫性の確保を実現

エクスポート開始した時点の整合性が確保できている状態で、

ユーザA

(90)

ダイレクト・パス・エクスポートの使用を指定します

オリジナル

従来型パス・エクスポートに比べて非常に高速なダイレクト・パス・

エクスポートの使用を指定します

COMMAND > EXP scott/tiger TABLES=(wendy.emp) DIRECT=y

ダイレクト・パス・ロードの指定

DIRECT

デフォルトはDIRECT=nです

注意:

次の場合は、ダイレクトエクスポートは使用できません

• 対話方式でのエクスポートの起動

• 表領域モード( TRANSPORT_TABLESPACES=Y )

参照

関連したドキュメント

会社法 22

Microsoft/Windows/SQL Server は、米国 Microsoft Corporation の、米国およびその

REC DATA MASTER L to SD CARD REC DATA MASTER R to SD CARD VOLUME SOUND

問55 当社は、商品の納品の都度、取引先に納品書を交付しており、そこには、当社の名称、商

このマニュアル全体を読んで、Oracle Diagnostics Pack に同梱の Oracle Performance Manager、Oracle Capacity Planner、Oracle TopSessions および Oracle Event

3 当社は、当社に登録された会員 ID 及びパスワードとの同一性を確認した場合、会員に

旅行者様は、 STAYNAVI クーポン発行のために、 STAYNAVI

① 新株予約権行使時にお いて、当社または当社 子会社の取締役または 従業員その他これに準 ずる地位にあることを