一, 实施目的
了解密码文件的相关信息
二, 实施环境
|
Item |
System |
|
Platform |
OEL5.4 |
|
Hostname |
Node1 |
|
Database |
Oracle 11.2.0.1 |
|
Character Set |
Zhs16gbk |
|
ORACLE_SID |
test |
|
Listener Name/Port |
LISTENER/1521 |
三, 实施步骤
|
一,数据库管理员的身份验证方式 1,远程登陆操作系统,以操作系统认证的方式获得sysdba权限登陆数据库 2,通过密码文件,获得sysdba权限登陆数据库 |
|
数据库管理员能够执行普通数据库用户不该执行的特殊操作(例如启动或关闭数据库)。Oracle 为数据库管理员用户提供更为安全的身份验证方式 |
|
图 20-1 数据库管理员身份验证方式 |

|
图 20-1 展示了本地数据库管理员及远程数据库管理员的身份验证流程图。 对于远程数据库管理员:首先确定其是否具备安全连接。如果“否”,则使用密码文件进行身份验证。如果“是”,则可选择是否使用操作系统身份验证。如果“是”,则使用操作系统身份验证。如果“否”,则使用密码文件进行身份验证。
对于本地数据库管理员:选择是否使用操作系统身份验证。如果“是”,则使用操作系统身份验证。如果“否”,则使用密码文件进行身份验证。 |
|
通过操作系统对数据库管理员进行身份验证时,通常需要将操作系统用户名放入特殊的用户组,或赋予此用户特殊的权限(在 UNIX 系统上,用户组名为 dba)。 |
|
Oracle 数据库在密码文件(password file)中记录被授予了 SYSDBA 及 SYSOPER 权限的数据库用户,这些权限能够执行以下操作: · 具备 SYSOPER 权限的数据库管理员能够执行 STARTUP,SHUTDOWN,ALTER DATABASE OPEN/MOUNT,ALTER DATABASE BACKUP,ARCHIVE LOG,及 RECOVER 命令,并具备 RESTRICTED SESSION 权限。 · 具备 SYSDBA 权限的数据库管理员拥有所有系统权限(system privilege)及权限的 ADMIN OPTION 选项,还拥有 SYSOPER 所拥有的全部系统权限。此外,能够执行 CREATE DATABASE 命令,并能够执行基于时间的恢复操作(time-based recovery)。 |
二,密码文件相关信息
密码文件的模式
SQL> show parameter remote
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode string TIMESTAMP
remote_listener string
remote_login_passwordfile string EXCLUSIVE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
result_cache_remote_expiration integer 0
注:Exclusive 模式指的是可以向除了sys和sysoper以外的用户授予sysdba权限
2,通过密码文件的方式客户端以sysdba权限远程登陆数据库
创建密码文件
[oracle@node1 dbs]$ orapwd file=orapwtest password=beijing entries=3
[oracle@node1 dbs]$ ls
hc_DBUA0.dat init.ora orapwtest peshm_test_0
hc_test.dat lkTEST peshm_DBUA0_0 spfiletest.ora
[oracle@node1 dbs]$
客户端以sys用户登录

3,普通用户以sysdba权限登陆用户
由于scott用户没有sysdba权限,所以没办法登陆。

可以向scott用户授予sysdba权限,即在密码文件中添加了scott用户
SQL> grant sysdba to scott;
Grant succeeded.

注:使用scott用户的账号和密码远程登陆到数据库也可以获得sysdba权限
回收scott用户的sysdba权限
SQL> revoke sysdba from scott;
Revoke succeeded.

注:回收权限以后scott用户无法以sysdba权限登陆数据库