I try to run from DOS sqlldr
with SYS/PASS@
sqlldr.exe 'sys/PASS@orcl' control="D:/test/control_file.dat" log="D:/test/log.log"
And got this error
Oracle sqlldr ORA-28009:connection as SYS should be as SYSDBA or SYSOPER
Is anyone can tell me to specify SYSDBA
or SYSOPER
in command line above ?
CodePudding user response:
You need to add AS SYSDBA
to your connection string. Try this:
sqlldr.exe 'sys/PASS@orcl AS SYSDBA' control="D:/test/control_file.dat" log="D:/test/log.log"
P.S.
NOTE from documentation:
This example shows the entire connect string enclosed in quotation marks and backslashes. This is because the string, AS SYSDBA, contains a blank, a situation for which most operating systems require that the entire connect string be placed in quotation marks or marked as a literal by some method. Some operating systems also require that quotation marks on the command line be preceded by an escape character. In this example, backslashes are used as the escape character. If the backslashes were not present, the command line parser that SQL*Loader uses would not understand the quotation marks and would remove them. See your Oracle operating system-specific documentation for information about special and reserved characters on your system.