1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SQL*Loaderメモ書き

Last updated at Posted at 2021-01-16

目的

  1. 業務効率化
  2. お勉強メモ

利用DB

oracle 11g

使用ツール

  1. SQLDeveloper
  2. A5SQL

SQL*Loader ってなに?

SQLLoader制御ファイルは、SQLLoaderジョブ用のデータ定義言語(DDL)命令を含むテキスト・ファイルです。

SQL*Loader制御ファイルとは

  • SQL*Loaderによってロードされるデータの位置
  • SQL*Loaderによるデータ書式設定の方法
  • データのロード時のSQL*Loaderの設定(メモリー管理、拒否レコード、ロード処理の中断など)
  • SQL*Loaderによるロード中のデータの処理方法

サンプル制御ファイルを作成して実行してみる

事前準備

  1. oracleインストール&データベース作成まで行う
  2. 空のテーブルをcreate tableする
  3. csvデータを作成

実践編

sample2.ctl
LOAD DATA CHARACTERSET UTF8
INFILE 'TEST2.csv'
BADFILE 'TEST2.BAD'
DISCARDFILE 'TEST2.DSC'
-- APPEND INTO TABLE TEST2
TRUNCATE INTO TABLE TEST2
-- REPLACE INTO TABLE TEST2
-- INSERT INTO TABLE TEST2
(
TESTCD POSITION(1:4) CHAR,
TESTNM POSITION(5:13) CHAR
)

TEST2.csv
0001あああ
0002いいい
0003かかか
0004かええ
0005おおお

コマンド実行

CMD
sqlldr TESTUSER/Test1234@orcl CONTROL=C:\work\xxx\csv\20210208_172118\sample2.ctl LOG=C:\work\xxx\csv\20210208_172118\TEST2.log
CMD
SQL*Loader: Release 11.2.0.1.0 - Production on29 20:31:31 2021

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

コミット・ポイントに達しました。 - 論理レコード件数4
コミット・ポイントに達しました。 - 論理レコード件数5

C:\work\xxx\csv\20210208_203131>

image.png

日時を取り扱う場合の例

事前準備

  1. 空のテーブルを作成
    image.png

  2. CSVデータ作成

  3. ctlファイル作成

実践

sample2.1.ctl
LOAD DATA CHARACTERSET UTF8
INFILE 'TEST2.1.csv'
BADFILE 'TEST2.1.BAD'
DISCARDFILE 'TEST2.1.DSC'
TRUNCATE INTO TABLE TEST6
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
TESTNM,
NOCOLUMN FILLER,
TESTNOTE CONSTANT 'XXXXX',
TESTDATE1 SYSDATE,
TESTDATE2 CHAR "TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')"
)

TEST2.1.csv
あああ,dummy
いいい,dummy
ううう,dummy
えええ,dummy
おおお,dummy

コマンド実行

CMD
sqlldr TESTUSER/Test1234@orcl CONTROL=C:\work\xxx\csv\20210208_172118\sample2.1.ctl LOG=C:\work\xxx\csv\20210208_172118\TEST2.1.log
CMD
SQL*Loader: Release 11.2.0.1.0 - Production on29 20:50:45 2021

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

コミット・ポイントに達しました。 - 論理レコード件数4
コミット・ポイントに達しました。 - 論理レコード件数5

C:\work\xxx\csv\20210208_205500>

image.png

おまけ1

image.png

初回起動について

→JVMは32bitを指定すること。64bit選択すると、起動してくれませんので注意!!

おまけ2

表領域の容量確認

query.sql
SELECT * FROM dba_free_space;
TABLESPACE_NAME                FILE_ID                BLOCK_ID               BYTES                  BLOCKS                 RELATIVE_FNO           
------------------------------ ---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
SYSTEM                         1                      87968                  786432                 96                     1                      
SYSTEM                         1                      88448                  9437184                1152                   1                      
SYSAUX                         2                      66768                  29753344               3632                   2                      
UNDOTBS1                       3                      4096                   58720256               7168                   3                      
UNDOTBS1                       3                      11392                  7340032                896                    3                      
UNDOTBS1                       3                      12416                  3145728                384                    3                      
USERS                          4                      600                    327680                 40                     4                      
EXAMPLE                        5                      480                    1966080                240                    5                      
EXAMPLE                        5                      1408                   589824                 72                     5                      
EXAMPLE                        5                      10392                  19726336               2408                   5                      
USERS                          4                      584                    65536                  8                      4                      
USERS                          4                      568                    65536                  8                      4                      
USERS                          4                      528                    65536                  8                      4                      
USERS                          4                      576                    65536                  8                      4                      
USERS                          4                      520                    65536                  8                      4                      

15 rows selected

スキーマ一覧を取得

query2.sql
SELECT DISTINCT owner  FROM all_objects order by owner;
・
・
・
TESTUSER                       
WMSYS                          
XDB                            
・
・
・
30 rows selected

DBの文字コード確認

query3.sql
SELECT VALUE FROM nls_database_parameters
WHERE parameter='NLS_CHARACTERSET'
VALUE                                    
---------------------------------------- 
JA16SJISTILDE                            

1 rows selected

参考

SQL*Loader制御ファイル・リファレンス

意外と知らない?!データローディングの基礎

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?