在oracle中连接SQLplus

Sop*_*lin 12 oracle sqlplus

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

sqlplus sys as sysdba
password:123456
Run Code Online (Sandbox Code Playgroud)
Error:
  ORA-01030:insufficient privilege

  warning:You are no longer to connect oracle.
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*erg 20

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

sqlplus sys/123456 as sysdba
Run Code Online (Sandbox Code Playgroud)

要么

sqlplus "sys/123456 as sysdba"
Run Code Online (Sandbox Code Playgroud)

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

SQL> connect sys/123456 as sysdba
Run Code Online (Sandbox Code Playgroud)

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

sqlplus sys/123456@<mydbname> as sysdba
Run Code Online (Sandbox Code Playgroud)

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


DCo*_*kie 7

您是以ORA_DBA组(窗口)或DBA组(*nix)的成员身份登录的操作系统用户帐户吗?

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

  • cd ORACLE_HOME\database
  • orapwd file = orapwORCL.ora密码= 123456条目= 10

这将sys密码定义为123456.然后,您应该能够启动数据库并将sys/123456连接为sysdba

在sysdba登录时,密码文件必须存在,才能进行基于密码的身份验证.这样做的原因是,当数据库未启动且数据库无法对您进行身份验证时,必须允许sysdba连接.