Examine the contents of SQL loader control file:
Which three statements are true regarding the SQL* Loader operation performed using the control
file?
A.
An EMP table is created if a table does not exist. Otherwise, if the EMP table is appended with
the loaded data.
B.
The SQL* Loader data file myfile1.dat has the column names for the EMP table.
C.
The SQL* Loader operation fails because no record terminators are specified.
D.
Field names should be the first line in the both the SQL* Loader data files.
E.
The SQL* Loader operation assumes that the file must be a stream record format file with the
normal carriage return string as the record terminator.
Explanation:
A: The APPEND keyword tells SQL*Loader to preserve any preexisting data in the
table. Other options allow you to delete preexisting data, or to fail with an error if the table is not
empty to begin with.
B (not D):
Note:
* SQL*Loader-00210: first data file is empty, cannot process the FIELD NAMES record
Cause: The data file listed in the next message was empty. Therefore, the FIELD NAMES FIRST
FILE directive could not be processed.
Action: Check the listed data file and fix it. Then retry the operationE:
* A comma-separated values (CSV) (also sometimes called character-separated values, because
the separator character does not have to be a comma) file stores tabular data (numbers and text)
in plain-text form. Plain text means that the file is a sequence of characters, with no data that has
to be interpreted instead, as binary numbers. A CSV file consists of any number of records,
separated by line breaks of some kind; each record consists of fields, separated by some other
character or string, most commonly a literal comma or tab. Usually, all records have an identical
sequence of fields.
* Fields with embedded commas must be quoted.
Example:
1997,Ford,E350,”Super, luxurious truck”
Note:
* SQL*Loader is a bulk loader utility used for moving data from external files into the Oracle
database.
I have tested!!
A,D is not correct answers!!
B,E is correct answers only=.=
yes,only two
Agree. Only B,E is correct
A B and E based on providing 3 best answers.
ABE
BE
I agree with john. It’s choose two.
A: An EMP table does not make automatically.
A – no – import result when no EMP table
SQL*Loader: Release 12.1.0.1.0 – Production on Tue Feb 17 08:46:35 2015
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
Path used: Conventional
SQL*Loader-941: Error during describe of table EMP
ORA-04043: object EMP does not exist
I thing
BCE – OK
C – becouse if no end then
Path used: Conventional
SQL*Loader-501: Unable to read file (c:\s2\EMP.dat)
SQL*Loader-566: partial record found at end of datafile
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Table EMP:
0 Rows successfully loaded.
Check the log file:
EMP.log
for more information about the load.
BCK is wrong definately Since I choosed this opetion in Exam in my final feedback report its shown since its was wrong options. So Go with ACE.
Right Answer is ACE
I meant say BCE is wrong. Right answer is ACE
are the exam choices are in same order as this question here?
yes exam choice questions are in the same other as here. All questions here are in exam though u may see additional 3-4 new questions in exam.
A is defintly wrong, because sqlloader doesn’t create any table.
So i think it is BCE
ACE
ABE
E: Correct, If data is specified inside the control file (that is, INFILE * was specified in the control file), then the data is interpreted in the stream record format with the default record terminator.
A: incorrect, cannot read anywhere that EMP will be created.
B:
http://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_field_list.htm#i1008756
If the column’s value is read from the datafile, the data field that contains the column’s value is specified. In this case, the column specification includes a column name that identifies a column in the database table, and a field specification that describes a field in a data record. The field specification includes position, datatype, null restrictions, and defaults.
Correct, csv or dat file requires column names. In this case the field names have no attributes, so that may go wrong.
D: Correct see http://www.orafaq.com/wiki/SQL*Loader otherwise you would see the format in the syntax.
C: Does not have to be correct: terminators can be present in the datafile.
BE definite. CD. next best answer
The clauses, such as, FIELD NAMES first file, FIELDS CSV WITH EMBEDDED DATE FORMAT indicate that this is 12c and not 11g. Therefore the following discussion is for sqlldr 12c.
Choice A can be ruled out, because if the table doesn’t exist, you’ll get the following error message:
SQL*Loader-941: Error during describe of table EMP
ORA-04043: object EMP does not exist.
SQLLDR does not create a table, if it doesn’t exist.
With FIELD NAMES clause, the first record in the data file contains the names and order of the fields
• FIELD NAMES FIRST FILE.
FIRST FILE indicates that the first data file contains a list of field names for the data in the first record. ALL FILES indicates that all data files contain a list of field names for the data in the first record. The first record is skipped in each data file when the data is processed. The fields can be in a different order in each data file.
So B is correct.
A file is in stream record format when the records are not specified by size; instead SQL*Loader forms records by scanning for the record terminator. Stream record format is the most flexible format, but there can be a negative effect on performance. Since in the given control file no terminator is specified, the choice E is correct. So now, B and E are correct. We have to choose one more between C and D. C can be ruled out, because if there is no terminator is specified, sqlldr assumes a stream record format file. Therefore D is correct.
In summary, I would go with B,D,E.
Thanks RS VASAN.
BDE.
Choice D is incorrect since the optional parameter FIRST FILE FIRST NAME indicates that the first data file contains a list of field names for the data in the first record. This list uses the same delimiter as the data in the data file. The record is read for setting up the mapping between the fields in the data file and the columns in the target table. The record is skipped when the data is processed. This can be useful if the order of the fields in the data file is different from the order of the columns in the table, or if the number of fields in the data file is different from the number of columns in the target table
https://docs.oracle.com/cloud/latest/db121/SUTIL/ldr_control_file.htm#SUTIL4216
Choice D would have been correct only if option parameter had ALL FILES-Indicating that all data files contain a list of field names for the data in the first record. The first record is skipped in each data file when the data is processed. The fields can be in a different order in each data file. SQL*Loader sets up the load based on the order of the fields in each data file.
A incorrect
[oracle@oracle12c Load]$ sqlldr system TABLE=hr.tab_vinicius
Password:
SQL*Loader: Release 12.1.0.2.0 – Production on Thu Aug 13 16:29:22 2015
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
SQL*Loader-941: Error during describe of table HR.TAB_VINICIUS
B, D , E
BDE
Ais incorrect
This is from the docs
To begin an INTO TABLE clause, use the keywords INTO TABLE, followed by the name of the Oracle table that is to receive the data.
The table must already exist. The table name should be enclosed in double quotation marks if it is the same as any SQL or SQL*Loader reserved keyword, if it contains any special characters, or if it is case sensitive.
D – (field names in both files) is definitely wrong control file has following statement
FIELD NAMES FIRST FILE
BE
D is wrong
I answered ABE in the test and it was not reported as incorrect. I had only one error in this section and it was in “Allocate DB storage” area.
Still, I think A is wrong.
Choose BDE on exam and got an error.
BE are correct as pointed above.
I prove, that D is incorrect. Better to choose A on exam
BE