oracle的口令文件

    Oracle中的口令文件存放着系统的特权用户(sysdba, sysoper)用户的用户名及口令,允许用户通过口令文件验证,在数据库未启动之前登陆从而启动数据库。如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.

    口令文件存放路径一般为:

        WINDOWS下:%ORACLE_HOME%\DATABASE\PWD<oracle_sid>.ora

        UNIX/LINUX 下:$ORACLE_HOME/dbsdbs/orapw<oracle_sid>

    如果访问本地的数据库的话,只需要当前用户是被加到操作系统的相应group即可。

 

Operating System GroupUNIX User GroupWindows User Group
OSDBAdbaORA_DBA
OSOPERoperORA_OPER

 

Oracle验证过程:

 

 

 

  

一、设置由操作系统验证的用户

    WINDOWS下改变%ORACLE_HOME%\NETWORK\ADMIN\sqlnet.ora内容:SQLNET.AUTHENTICATION_SERVICES= (NTS)

    UNIX下$ORACLE_HOME/network/admin/sqlnet.ora内容:SQLNET.AUTHENTICATION_SERVICES = (ALL) 就使用了操作系统级别认证,就可以不用输入密码,甚至用户名都不用(sqlplus "/ as sysdba")就可以以sysdba的身份登陆系统(此时不通过口令文件认证).

 

    如果Oracle数据库不允许远程SYSDBA/SYSOPER身份登录远程要使用操作系统的认证。则必须用安全的连接,这个是在管理工具NET8中设。很多普遍的协议,如:tcp/ip,decnet都是不安全的。将oracle启动参数REMOTE_LOGIN_PASSWORDFILE 设置为NONE,对于8.1.x或更高版本此参数的缺省值是EXCLUSIVE,在较早的Oracle 版本中缺省值是NONE

二、设置使用口令文件验证
    把sqlnet.ora内修改:SQLNET.AUTHENTICATION_SERVICES= (NONE)

 

这个时候就需要用到pwd file了,如果这个时候还是任意输入密码,或者用"/" 来登陆就会出现错误

ORA-01031: insufficient privileges
ORA-01017: invalid username/password; logon denied

 

    对于远程用户来说,将REMOTE_LOGIN_PASSWORDFILE 设置为EXCLUSIVE 或SHARED

        EXCLUSIVE:表明只有一个例程可以使用口令文件,并且该口令文件包含除SYS 和INTERNAL以外的名称
        SHARED: 表明可以有多个例程可以使用口令文件口令文件可以识别的用户只有SYS 和INTERNAL

 

三、重建修改口令文件

    由于口令文件是二进制文件,而且密码都是加密的,所以从pwd file是很难看到sys的密码的。这个时候我们可以先重命名备份原pwd file再用orapwd命令来重新创建pwd file,也可以加参数force=y直接覆盖原来的密码(否则如果已经存在密码时会报OPW-00005: File with same name exists - please delete or rename) entries表示允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数超过这个值只能重建口令文件,增大entries。
widows下输入

host orapwd file=<fileName> passwod=<password> entries=<users>

   

    Oracle提供了一个视图v$pwfile_users 来方便查看pwd file里面有哪些特权用户:

select * from v$pwfile_users; 

 

 

也可以通过grant sysdba to 和revoke sysdba from 把一个用户加入或移出口令文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值