详情查阅官方文档:SQL*Plus Command Summary (oracle.com)
sqlplus / as sysdba
看看这一句:sqlplus / as sysdba
![]() |
这个 / as sysdba 是个固定的格式。
具体还有以下(除了SYSDBA和SYSOPER是在Oracle12c才新增的):
角色 | 用途 | 连接到的用户/schema | OS组 |
SYSDBA | 万能 | SYS | dba |
SYSOPER | 没什么用 | PUBLIC | oper |
SYSBACKUP | 用于备份恢复 | SYSBACKUP | backupdba |
SYSASM | 用在RAC环境下,管理ASM实例 | SYS | asmadmin |
SYSRAC | 用在RAC环境下,管理RAC实例 | SYSRAC | racdba |
SYSDG | 用在DG环境下,做灾备、故障转移等 | SYSDG | dgdba |
SYSKM | 用于透明数据加密(TDE) | SYSKM | kmdba |
往下看:
再尝试sqlplus / as sysdba:
![]() |
执行这条命令的前提是用户必须属于dba组(Linux/Unix)或ora_dba组(windows)。
报了一个密码错误。
再看:
如果想sqlplus / as sysasm登录ASM实例就必须属于asmadmin组。
这里报了一个权限错误。具体报什么错误取决于环境的配置。
再看看这一句:sqlplus ABC/DEF as sysdba
注意:这个ABC用户是压根儿不存在的,密码也自然是没有意义的,但还是连上SYS用户了。
也就是说:如果指定了 as sysdba 就会忽略前面的用户名和密码。