------------------------------------------------------------------------------------- -- Unix Simple Shell Script ------------------------------------------------------------------------------------- #!/bin/ksh ############################################################################################################################ # Variables ############################################################################################################################ dbConnString="xyz/zyx@${ORACLE_SID}" dbControlFile="./SQLLoaderTest.ctl" sqlldrLogDirectoryFile="./SQLLoaderTest.log" sqlldrRejectedDirectoryFile="./SQLLoaderTest.bad" ############################################################################################################################ ############################################################################################################################ # SQL Loader Definitions ############################################################################################################################ sqlldrCmdOptionsPerformance="parallel=true direct=true skip_index_maintenance=true bindsize=20971520 readsize=20971520" sqlldrCmdOptions="errors=10000 ${sqlldrCmdOptionsPerformance}" ############################################################################################################################ ############################################################################################################################ # SQL Loader Exec ############################################################################################################################ sqlldr ${dbConnString} ${sqlldrCmdOptions} control="${dbControlFile}" log="${sqlldrLogDirectoryFile}" bad="${sqlldrRejectedDirectoryFile}" ############################################################################################################################ ------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------- -- Create Tables ------------------------------------------------------------------------------------- DROP TABLE MASTER_TABLE; DROP TABLE PARENT_TABLE_A; DROP TABLE PARENT_TABLE_B; CREATE TABLE MASTER_TABLE ( MASTER_ID NUMBER(10), DATA VARCHAR2(30) ); CREATE TABLE PARENT_TABLE_A ( MASTER_ID NUMBER(10), DATA VARCHAR2(30) ); CREATE TABLE PARENT_TABLE_B ( MASTER_ID NUMBER(10), DATA VARCHAR2(30) ); SELECT * FROM MASTER_TABLE; SELECT * FROM PARENT_TABLE_A; SELECT * FROM PARENT_TABLE_B; ------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------- -- SQL Loader Control File ------------------------------------------------------------------------------------- LOAD DATA APPEND INTO TABLE MASTER_TABLE WHEN (01) = 'M' AND (2) = 'M' ( MASTER_ID SEQUENCE(MAX, 1), DATA POSITION(3:16) CHAR ) INTO TABLE PARENT_TABLE_A WHEN (01) = 'P' AND (2) = 'A' ( MASTER_ID SEQUENCE(MAX), DATA POSITION(3:18) CHAR ) INTO TABLE PARENT_TABLE_B WHEN (01) = 'P' AND (2) = 'B' ( MASTER_ID SEQUENCE(MAX), DATA POSITION(3:18) CHAR ) BEGINDATA MMMASTER_TABLE1 PAPARENT_TABLE_A1 PBPARENT_TABLE_B1 MMMASTER_TABLE2 PAPARENT_TABLE_A2 PBPARENT_TABLE_B2 MMMASTER_TABLE3 PAPARENT_TABLE_A3 PBPARENT_TABLE_B3 MMMASTER_TABLE4 PAPARENT_TABLE_A4 PBPARENT_TABLE_B4 MMMASTER_TABLE5 PAPARENT_TABLE_A5 PBPARENT_TABLE_B5 -------------------------------------------------------------------------------------