Home > OS >  Oracle sqlldr ORA-28009:connection as SYS should be as SYSDBA or SYSOPER
Oracle sqlldr ORA-28009:connection as SYS should be as SYSDBA or SYSOPER

Time:10-30

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.

  • Related