Oracle sqlldr ORA-28009: 作为 SYS 的连接应该作为 SYSDBA 或 SYSOPER
Oracle sqlldr ORA-28009:connection as SYS should be as SYSDBA or SYSOPER
我尝试使用 SYS/PASS@
从 DOS sqlldr
运行
sqlldr.exe 'sys/PASS@orcl' control="D:/test/control_file.dat" log="D:/test/log.log"
得到这个错误
Oracle sqlldr ORA-28009:connection as SYS should be as SYSDBA or SYSOPER
有谁能告诉我在上面的命令行中指定 SYSDBA
或 SYSOPER
吗?
您需要将 AS SYSDBA
添加到您的连接字符串中。试试这个:
sqlldr.exe 'sys/PASS@orcl AS SYSDBA' control="D:/test/control_file.dat" log="D:/test/log.log"
P.S.
注意 来自 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.
我尝试使用 SYS/PASS@
sqlldr
运行
sqlldr.exe 'sys/PASS@orcl' control="D:/test/control_file.dat" log="D:/test/log.log"
得到这个错误
Oracle sqlldr ORA-28009:connection as SYS should be as SYSDBA or SYSOPER
有谁能告诉我在上面的命令行中指定 SYSDBA
或 SYSOPER
吗?
您需要将 AS SYSDBA
添加到您的连接字符串中。试试这个:
sqlldr.exe 'sys/PASS@orcl AS SYSDBA' control="D:/test/control_file.dat" log="D:/test/log.log"
P.S.
注意 来自 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.