更多: zhilu jiaocheng

总结

启用 OS 身份验证后(os 用户是 dba 组的成员),在 RDBMS 服务器主机上执行的以下命令将起作用:

SQL> connect / as sysdba
Connected.
SQL> connect who_am_i/does_not_matter as sysdba
Connected.

这是因为操作系统身份验证优先于密码文件身份验证。

检查确认

1.检查用户是否添加到密码文件中:

SQL> select * from V$pwfile_users;
USERNAME                       SYSDB      SYSOP
------------------------------ -------    -------
INTERNAL                       TRUE       TRUE
SYS                            TRUE       TRUE
test                           TRUE       FALSE
test2                          FALSE      TRUE
  1. 检查用户是否可以作为 sysdba 连接:
SQL> connect test/secret@ as sysdba
ORA-01031: insufficient privileges
SQL> connect test/test as sysdba
Connected.
将用户添加到 Oracle 密码文件(Oracle 密码文件身份验证)

在 Unix 环境中,我们可以使用以下命令创建密码文件并将用户 SYS 及其密码添加到文件中:

$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=secret entries=20

在 Windows 上,我们可以使用相同的命令。
唯一的区别是:

  • 密码文件应在 %ORACLE_HOME%\database 中创建。
  • 密码文件的名称应该是 pwd%oracle_sid%.ora。

创建密码文件后,我们可以通过向这些用户授予角色 SYSDBA 或者 SYSOPER 来添加特权用户:

SQL> create user test identified by test; 
SQL> grant sysdba to test;
SQL> create user test2 identified by test2;
SQL> grant sysoper to test2;
日期:2020-09-17 00:11:18 来源:oir作者:oir