Oracle Autnomous Database の操作を行う上で多くの便利な機能が提供されています。本記事では Database Actions 機能の中からデータ・ロード機能を紹介します。Webブラウザから簡単にデータのロード処理を実行することができます。
Database Actions
Database Actionsの画面はAutonomous Database のメイン画面から、上部の「Database Actions」ボタンをクリックすることで表示できます。
表示された画面の「データ・ツール」グループから「データ・ロード」をクリックします。
データ・ロード
「データ・ロード」機能はCSVや他のデータベースからのデータのロードやリンクを作成することができます。本記事ではでは「データのロード」を試します。メインのページから「データ・ロード」を選択し、「次」ボタンをクリックします。
アップロード
画面に対してファイルをアップロードします。複数のファイルをアップロードし、同時に処理することもできます。次の画面ではCSVファイルの「data1_csv1_error.csv」をアップロードしています。
ファイル横の鉛筆アイコンをクリックすると、ファイルの内容を設定できます。
| 設定項目 | 説明 |
|---|---|
| オプション | 表の作成、表への挿入、データの置換など |
| 名前 | データ格納先テーブル名 |
| エンコーディング | 文字コードの指定 |
| テキスト囲み | 文字列の囲み文字 |
| フィールド・デリミタ | 列の区切り文字 |
| スキップする行 | 先頭行をスキップするレコード数 |
| ソース列名 | 列名を移行元のヘッダから取得するか |
| 無効なデータをNULLに変換 | 格納できないデータをNULLに置換するか |
| ソース列 | 移行元の列名 |
| ターゲット列 | 移行先の列名 |
ファイルの情報を更新したら「閉じる」ボタンで画面を閉じ、元の画面から「矢印」ボタンをクリックします。
確認ダイアログが表示されるため、「実行」ボタンをクリックします。実行中は「ファイル」のアイコンをクリックすると実行状況を表示できます。下の画面では「INSERT INTO LOG ERRORS INTO REJECT LIMIT」文が実行されていることがわかります。
処理が完了したら「完了」ボタンがクリックできるようになります。ロード処理に失敗したレコードは、「ADP\$ERR\${ターゲット・テーブル名}」が自動的に作成されて格納されます。以下の例では、C1=500001 のレコードが DATA1 テーブルの主キー違反で格納できなかったことを示します。
SQL> describe ADP$ERR$DATA1
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ORA_ERR_NUMBER$ NUMBER
ORA_ERR_MESG$ VARCHAR2(2000)
ORA_ERR_ROWID$ ROWID
ORA_ERR_OPTYP$ VARCHAR2(2)
ORA_ERR_TAG$ VARCHAR2(2000)
C1 VARCHAR2(4000)
C2 VARCHAR2(32767)
SQL> SELECT COUNT(*) FROM ADP$ERR$DATA1;
COUNT(*)
----------
1
SQL> SELECT ORA_ERR_MESG$, C1, C2 FROM ADP$ERR$DATA1;
ORA_ERR_MESG$ C1 C2
------------------------------------------------------------ ---------- ----------
ORA-00001: unique constraint (ADMIN.SYS_C0032986) violated 500001 data1




