2009-06-13 88 views
10

我想sys用户在Oracle的SQLPLUS连接,但我连接后,我像这样输入:连接SQLPLUS在Oracle

sqlplus sys as sysdba 
password:123456 
Error: 
    ORA-01030:insufficient privilege 

    warning:You are no longer to connect oracle. 

有谁帮我解决我的问题?

+0

如果您确定您的权限设置正确,可以尝试以下操作:“在ORA_HOME \ network \ network \ admin目录中创建一个名为sqlnet.ora的文件,并在其中添加以下行:SQLNET.AUTHENTICATION_SERVICES =(NTS)然后保存。“点击此处查看更多信息:http://it.toolbox.com/blogs/david/ora01031-insufficient-privileges-upon-instance-startup-13759 – bernie 2009-06-13 05:51:08

回答

6

是您作为ORA_DBA组(windows)或DBA组(* nix)的成员登录的操作系统用户帐户吗?

如果答案是肯定的,那么接下来要检查的是存在ORACLE_HOME \ database \ orapwORCL.ora文件,该文件包含所有定义为sysdba用户的用户的密码。如果它不存在,则需要关闭数据库,并执行orapwd工具:

  • CD ORACLE_HOME \数据库
  • ORAPWD文件= orapwORCL.ora密码= 123456项= 10

这定义SYS密码为123456。然后,您应该能够启动数据库并连接SYS/123456以SYSDBA

密码文件必须存在于密码=上SYSDBA登录的身份验证。其原因是,当数据库未启动并且数据库无法对您进行身份验证时,必须允许sysdba连接。

18

你的例子看起来有点乱码;连接通过命令行到在sqlplus,与用户sys和密码123456

sqlplus sys/123456 as sysdba 

sqlplus "sys/123456 as sysdba" 

之前甲骨文10.如果已经内部SQLPLUS(如我从事实假定您例如使用SQL启动>),可以使用连接命令:

SQL> connect sys/123456 as sysdba 

在所有情况下,如果你还没有设置环境变量ORACLE_SID,你需要指定密码后,像这样:

sqlplus sys/[email protected]<mydbname> as sysdba 

其中<mydbname>是,如果你使用的是Oracle 10或更高版本,或从您的tnsnames.ora文件的有效条目(位于任一形式<hostname>/<sid>的在$ORACLE_HOME/network/admin)所有版本。