14

我想在 oracle 的 sqlplus 中连接用户 sys,但连接后,我输入如下:

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

  warning:You are no longer to connect oracle.

有人帮我解决我的问题吗?

4

2 回答 2

21

您的示例看起来有些乱码;sys使用用户名和密码通过命令行连接到 sqlplus 123456

sqlplus sys/123456 as sysdba

或者

sqlplus "sys/123456 as sysdba"

在 Oracle 10 之前。如果您已经在 sqlplus 中(我假设您的示例以 SQL> 开头),则使用 connect 命令:

SQL> connect sys/123456 as sysdba

在所有情况下,如果您没有设置环境变量ORACLE_SID,则需要在密码后指定,如下所示:

sqlplus sys/123456@<mydbname> as sysdba

如果您使用<mydbname>的是 Oracle 10 或更高版本,或者是您的文件中的有效条目(位于 中)中的任何一个,则适用于所有版本。<hostname>/<sid>tnsnames.ora$ORACLE_HOME/network/admin

于 2009-06-14T18:34:45.750 回答
7

您的操作系统用户帐户是作为 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 连接。

于 2009-06-13T15:24:11.860 回答