Jac*_*cob 2 oracle oracle-11g-r2 sqlplus
我有一个关于使用正确的 sys 密码启动 oracle 数据库的问题。
我为 sys 用户提供了错误的密码,但我仍然能够启动数据库并执行语句。所以想知道我是否在安装时遗漏了一些东西,或者就是这样?
对此的任何见解都非常值得赞赏,以下是启动数据库的结果。
sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Thu Nov 15 16:50:39 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter user-name: sys/d as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 285215104 bytes
Database Buffers 130023424 bytes
Redo Buffers 6094848 bytes
Database mounted.
Run Code Online (Sandbox Code Playgroud)
当您的 OS 用户来自 DBA 组时,您可以使用 OS 身份验证进行连接AS SYSDBA
:
使用操作系统身份验证时,两个特殊的操作系统组控制数据库管理员连接。这些组通常称为 OSDBA 和 OSOPER。这些组是在数据库安装过程中创建并分配特定名称的。[..]
OSDBA 或 OSOPER 组中的成员资格以下列方式影响您与数据库的连接:
如果您是 OSDBA 组的成员,并且在连接到数据库时指定了 AS SYSDBA,那么您将使用 SYSDBA 系统特权连接到数据库。
如果您是 OSOPER 组的成员,并且在连接到数据库时指定了 AS SYSOPER,那么您将使用 SYSOPER 系统特权连接到数据库。
然后您可以使用CONNECT / AS SYSDBA
或什至CONNECT FOO/ANYTHING AS SYSDBA
,数据库将忽略用户/密码。