SQL*Loader Enhancements in Oracle Database 12c Release 1 (12.1)
An overview of the enhancements to SQL*Loader in Oracle Database 12c Release 1 (12.1).
oracle 12cconfigurationintermediate
by OracleDba
13 views
An overview of the enhancements to SQL*Loader in Oracle Database 12c Release 1 (12.1).
1234567891011121314151617181920212223242526272829303132333435363738
conn sys@pdb1 as sysdba
@?/rdbms/admin/utlsampl.sql
CONN scott/tiger@pdb1
ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS';
-- Create data file.
SET PAGESIZE 0 LINESIZE 100 TRIMSPOOL ON FEEDBACK OFF
SPOOL /nfs/EMP.dat.tmp
SELECT empno || ',' || ename || ',' || job || ',' || mgr || ',' ||
hiredate || ',' || sal || ',' || comm || ',' || deptno
FROM emp;
SPOOL OFF
SET PAGESIZE 14 FEEDBACK ON
-- Clean up the file.
HOST cat /nfs/EMP.dat.tmp | grep '[0-9]\{4\}' > /nfs/EMP.dat
HOST cp /nfs/EMP.dat /tmp/EMP.dat
CONN sys@pdb1 AS SYSDBA
-- Create a directory pointing to an NFS location.
CREATE OR REPLACE DIRECTORY nfs_dir AS '/nfs/';
GRANT READ,WRITE ON DIRECTORY nfs_dir TO scott;
-- Create a directory pointing to an non-NFS location.
CREATE OR REPLACE DIRECTORY tmp_dir AS '/tmp/';
GRANT READ,WRITE ON DIRECTORY tmp_dir TO scott;
CONN scott/tiger@pdb1
CREATE TABLE emp2 AS
SELECT *
FROM emp
WHERE 1=2;12345678910111213141516171819202122
OPTIONS (
BADFILE '/nfs/EMP.bad'
LOGFILE '/nfs/EMP.log'
DNFS_ENABLE TRUE
DNFS_READBUFFERS 10
)
LOAD DATA
INFILE '/nfs/EMP.dat'
INTO TABLE emp2
TRUNCATE
FIELDS TERMINATED BY ','
(empno,
ename,
job,
mgr,
hiredate DATE "DD-MON-YYYY HH24:MI:SS" ":hiredate",
sal,
comm,
deptno)
$ cd /nfs
$ sqlldr userid=scott/tiger@pdb1 control=EMP.ctl123456789101112131415161718
$ cd /tmp
$ cp EMP.dat EMP2.dat
$ sqlldr scott/tiger@pdb1 TABLE=EMP2 DATE_FORMAT=\"DD-MON-YYYY HH24:MI:SS\"
SQL*Loader: Release 12.1.0.2.0 - Production on Sat Sep 13 22:18:46 2014
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
Express Mode Load, Table: EMP2
Path used: External Table, DEGREE_OF_PARALLELISM=AUTO
Table EMP2:
14 Rows successfully loaded.
Check the log files:
EMP2.log
EMP2_%p.log_xt
for more information about the load.
$12345678
$ sqlldr scott/tiger@pdb1 TABLE=EMP2 DATE_FORMAT=\"DD-MON-YYYY HH24:MI:SS\" \
TRIM=LRTRIM
$ sqlldr scott/tiger@pdb1 TABLE=EMP2 DATE_FORMAT=\"DD-MON-YYYY HH24:MI:SS\" \
DEGREE_OF_PARALLELISM=4
$ sqlldr scott/tiger@pdb1 TABLE=EMP2 DATE_FORMAT=\"DD-MON-YYYY HH24:MI:SS\" \
BAD=TMP_DIR DISCARD=TMP_DIR LOG=TMP_DIR12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
INFILE '/nfs/EMP*.dat'
INFILE '/nfs/EMP?.dat'
LOAD DATA
INFILE '/tmp/EMP.dat'
INTO TABLE emp2
TRUNCATE
FIELDS CSV WITH EMBEDDED
(empno,
ename,
job,
mgr,
hiredate DATE "DD-MON-YYYY HH24:MI:SS" ":hiredate",
sal,
comm,
deptno)
$ sqlldr userid=scott/tiger@pdb1 control=EMP.ctl
LOAD DATA
INFILE '/tmp/EMP.dat'
INTO TABLE emp2
TRUNCATE
FIELDS TERMINATED BY ','
DATE FORMAT "DD-MON-YYYY HH24:MI:SS"
(empno,
ename,
job,
mgr,
hiredate DATE,
sal,
comm,
deptno)
$ sqlldr userid=scott/tiger@pdb1 control=EMP.ctl
LOAD DATA
INFILE '/tmp/EMP.dat'
INTO TABLE emp2
TRUNCATE
FIELDS TERMINATED BY ','
NULLIF = "NONE"
DATE FORMAT "DD-MON-YYYY HH24:MI:SS"
(empno,
ename,
job,
mgr
NO NULLIF
,
hiredate DATE "DD-MON-YYYY HH24:MI:SS" ":hiredate",
sal
NULLIF job="PRESIDENT"
,
comm,
deptno)
$ sqlldr userid=scott/tiger@pdb1 control=EMP.ctl123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
CREATE AUDIT POLICY policy_name
ACTIONS COMPONENT=DIRECT_LOAD [LOAD | ALL];
CONN sys@pdb1 AS SYSDBA
CREATE AUDIT POLICY audit_sl_load_policy ACTIONS COMPONENT=DIRECT_LOAD LOAD;
AUDIT POLICY audit_sl_load_policy BY scott;
OPTIONS (DIRECT=TRUE)
LOAD DATA
INFILE '/tmp/EMP.dat'
INTO TABLE emp2
TRUNCATE
FIELDS TERMINATED BY ','
(empno,
ename,
job,
mgr,
hiredate DATE "DD-MON-YYYY HH24:MI:SS" ":hiredate",
sal,
comm,
deptno)
$ sqlldr userid=scott/tiger@pdb1 control=EMP.ctl
CONN sys@pdb1 AS SYSDBA
-- Flush audit information to disk.
EXEC DBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL;
SET LINESIZE 200
COLUMN event_timestamp FORMAT A30
COLUMN object_schema FORMAT A10
COLUMN object_name FORMAT A30
COLUMN action_name FORMAT A20
SELECT event_timestamp,
object_schema,
object_name,
action_name,
direct_path_num_columns_loaded
FROM unified_audit_trail
WHERE audit_type = 'Direct path API'
ORDER BY 1;
EVENT_TIMESTAMP OBJECT_SCH OBJECT_NAME ACTION_NAME DIRECT_PATH_NUM_COLUMNS_LOADED
------------------------------ ---------- ------------------------------ -------------------- ------------------------------
19-OCT-2015 07:50:08.335507 SCOTT EMP2 LOAD 8
2 rows selected.
SQL>Please to add comments
No comments yet. Be the first to comment!