oracle数据库密码认证,oracle 数据库操作系统认证和密码文件认证(转)

先总结,后细解:

SQLNET.AUTHENTICATION_SERVICES指$ORACLE_HOME/network/admin/sqlnet.ora配置文件中的参数;

REMOTE_LOGIN_PASSWORDFILE指Oracle的初始化参数,可以在sqlplus里通过show parameter命令查看。

SQLNET.AUTHENTICATION_SERVICES=(NTS)

同时REMOTE_LOGIN_PASSWORDFILE=(’NONE’)

这为OS认证

SQLNET.AUTHENTICATION_SERVICES=(NONE)(或者注释掉了)

同时REMOTE_LOGIN_PASSWORDFILE=(’EXCLUSIVE’)或(’SHARED’)

这为口令文件认证

SQLNET.AUTHENTICATION_SERVICES=(NTS)

同时REMOTE_LOGIN_PASSWORDFILE=(’EXCLUSIVE’)或(’SHARED’)

OS和口令都生效

细解:

1、管理员的权限

SYSDBA: 默认schema 为SYS

SYSOPER: 默认schema 为 PUBLIC

这两种权限允许用户在数据库没有打开的时候就可以登陆数据库,所以这种权限的控制权在数据库之外。通常这种权限也可以被看做一种允许你对数据库进行某种操作的连接,比如CONNECT / AS SYSDBA

SQL> conn /as sysdba

Connected.

SQL> show user

USER is "SYS"

SQL> conn /as sysoper

Connected.

SQL> show user

USER is "PUBLIC"

SQL>

2、两种管理员权限认证方法

1) 操作系统认证

--以下情况使用该方法:

管理远程数据库时,具有安全的网络连接(secure connection)。

管理本地数据库时,想使用OS认证。

--操作步骤:

a.建立一个os系统用户

b.将这个用户加入到DBA或者OPER的OS组(注释:在window下,这个默认的组名为ORA_DBA/ORA_OPER);

c.设置参数REMOTE_LOGIN_PASSWORDFILE=NONE

d.编辑sqlnet.ora文件,增加 SQLNET.AUTHENTICATION_SERVICES= (NTS)

e.CONNECT / AS SYSDBA

--关于OSDBA和OSOPER组

OSDBA对应: UNIX下为DBA; WINDOWS下为ORA_DBA

OSOPER对应:UNIX下为OPER;WINDOWS下为ORA_OPER

这些用户组在安装数据库的时候手工或者自动创建,这些组的成员以 as sysdba/sysoper 连接数据库后,自动授予sysdba/sysoper的管理权限。

2) 口令文件认证

--以下情况使用该方法:

管理远程数据库时,没有安全的网络连接(secure connection),比如TCP/IP和DECnet协议。

管理本地数据库时,不想使用OS认证。

--操作步骤:

a.使用ORAPWD创建密码文件(其中的password选项是为SYS用户设置的)

orapwd file=password=entries=b.设置参数 remote_login_passwordfile=EXCLUSIVE

c.使用sys用户登陆

d.在数据库中创建用户 create user study identified by study;

e.赋予其SYSDBA/SYSOPER权限

grant sysdba to study; 这样就将用户和密码加入到密码文件中。

grant sysoper to study;

f.查看密码文件中的用户:select * from v$pwfile_users;

如果没有对应的用户信息,需要重启DB,否则登陆时会提示无权限。g.使用自己的密码登陆: connect study/study as sysdba;

注意:OS认证优先于密码文件认证,只要OS用户属于OSDBA OR OROPER组,并且使用connect as sysdba / sysoper登录,则可以忽略输入的username/password。3、关于参数remote_login_passwordfile

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值