为什么我不能在没有 AS SYSDBA 的情况下登录到 SYSTEM

Bam*_*kie 1 oracle oracle-11g sqlplus

以 SYSTEM 身份登录 sqlplus 时,如果我不包含“AS SYSDBA”,为什么登录失败并显示无效的用户名/密码错误

C:\Windows\System32>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 16 01:00:13 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn system/password
ERROR: ORA-01017: invalid username/password; logon denied


SQL> conn system/password as sysdba
Connected.
SQL>
Run Code Online (Sandbox Code Playgroud)

我有一个需要在本地运行的脚本。这个脚本在其他机器上运行良好,但对我来说失败并出现上述错误。

Mun*_*chi 6

因为您不是作为用户系统登录的。当您以 sysdba 身份执行 conn system/password 时,Oracle 甚至不会检查用户和密码(--> 来自运行 db 的本地系统)。如果您以 sysdba 身份输入系统/密码,然后执行“show user”,您会注意到您以“SYS”用户身份登录。所以你实际上是在执行conn system/password的时候输入了错误的密码,Oracle不会说谎。

查看http://docs.oracle.com/cd/B28359_01/server.111/b28310/dba006.htm#ADMIN11046了解更多信息。因为我告诉你的并不是故事的全部。