一:查看口令文件中的用户
可以查看v$pwfile_users视图,该视图包含了被授予sysdba或sysoper系统权限的用户。
二:口令文件的维护
a. 当授权给一个用户sysdba或sysoper权限的时候,收到ora-1996的错误,你要创建一个大的口令文件然后在给用户授权。确保entries参数比你需要的要大。
b. 当用户被授予sysdba,sysoper权限的时候,用户的名字和权限信息被加入到口令文件中,前提是在exclusive模式下。
c.删除口令文件,删除口令文件然后设置remote_login_passwordfile为none.
三:REMOTE_LOGIN_ PASSWORDFILE参数
该参数有下面几个值:
1.none 设置成none后,数据库就像没有参数文件一样。
2 exclusive 这个是默认的值,口令文件可以被使用,只有exclusive的文件能够被修改,使用一个exclusive的文件,你可以添加,修改,删除用户,也可以使用alter user命令来改变sys的密码。
3 shared 一个shared文件能被多个数据库使用,然而该文件不能被修改,你不能向一个共享的口令文件添加用户。在exclusize模式下添加好用户后,在变成shared模式。
个人实验:
SQL> alter system set remote_login_passwordfile=none scope=spfile;
系统已更改。
SQL> shutdown immediate
SQL> startup
SQL> select * from v$pwfile_users;
未选定行
看到这时候是查不到记录了。
SQL> grant sysdba to aoerqileng;
grant sysdba to aoerqileng
*
第 1 行出现错误:
ORA-01994: GRANT 失败: 口令文件缺失或已禁用
将windows的操作系统认证去掉
#SQLNET.AUTHENTICATION_SERVICES = (NTS)
SQLNET.AUTHENTICATION_SERVICES = (NONE)
在登录
请输入用户名: sys/ as sysdba
输入口令:
ERROR:
ORA-01031: insufficient privileges
请输入用户名: sys/kobebai as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied
从上面可以看到在设置成none后,并且在禁用操作系统认证后,无论是操作系统认证还是密码认证都无法登录。
将remote_login_passwordfile 设置默认的 EXCLUSIVE,禁用操作系统认证后,通过密码是能登录的。
请输入用户名: sys/kobebai as sysdba
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
上面可以看到口令认证时通过了的。
SQL> alter system set remote_login_passwordfile=shared scope=spfile;
系统已更改。
SQL> shutdown immediate
SQL> startup
SQL> grant sysdba to aoerqileng;
grant sysdba to aoerqileng
*
第 1 行出现错误:
ORA-01999: 口令文件不能在 SHARED 模式下更新
shared模式下无法跟新
注意在linux下面口令文件的命名是有要求的,我在试验的过程中随便起了一个名字,结果找不到口令文件:
SQL> select * from v$pwfile_users;
no rows selected
SQL> grant sysdba to test;
grant sysdba to test
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
linux下的口令命名及发现顺序如下:
Linux下的存放位置:$ORACLE_HOME/dbs/orapw$ORACLE_SID
即:ORACLE_HOME/dbs/orapw<sid>
Windows下的存放位置:$ORACLE_HOME/database/PWD%ORACLE_SID%.ora
密码文件查找的顺序
--->orapw<sid>--->orapw--->Failure
参考:
http://blog.csdn.net/leshami/article/details/5611672
在线文档地址:administrator->creating an oracle database->Creating and Maintaining a Password File