oracle中的口令文件

查看口令文件中的用户,可以查看v$pwfile_users视图,该视图包含了被授予sysdba或sysoper系统权限的用户。

口令文件的维护
当授权给一个用户sysdba或sysoper权限的时候,收到ora-1996的错误,你要创建一个大的口令文件然后在给用户授权。确保entries参数比你需要的要大。
当用户被授予sysdba,sysoper权限的时候,用户的名字和权限信息被加入到口令文件中,前提是在exclusive模式下。

删除口令文件,删除口令文件然后设置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 失败: 口令文件缺失或已禁用

SQL>

将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 模式下更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值