使用SYS账号执行sqlldr报ORA-28009如何指定SYSDBA/SYSOPER权限
解决方法
报错原因
Oracle sqlldr ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
该报错是因为SYS是Oracle最高权限内置账号,不允许以普通身份登录,必须显式指定SYSDBA或者SYSOPER系统权限角色。
修改后可正常执行的命令
sqlldr.exe 'sys/PASS@orcl as sysdba' control="D:/test/control_file.dat" log="D:/test/log.log"
注意事项
as sysdba必须和账号密码放在同一对引号内,避免DOS命令行将空格后的内容识别为独立参数,导致解析失败- 如果需要使用SYSOPER权限,直接把
as sysdba替换为as sysoper即可 - 生产环境不建议直接使用SYS账号执行sqlldr导入任务,建议单独创建仅拥有目标表写入权限的普通业务账号执行操作,降低权限泄露风险
内容的提问来源于stack exchange,提问作者Bùi Đức Khánh
相关产品推荐
相关产品推荐

