摘要:本文主要向大家介绍了Oracle数据库之oracle-6-密码文件,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
本文主要向大家介绍了Oracle数据库之oracle-6-密码文件,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
密码文件属于database的一部分
密码文件的作用:DBA用户的身份认证
当具有sysdba和sysoper的权限的时候就是dba 用户
默认情况下
sysdba就是sys,他的权限最大
sysoper就是system
登录Oracle数据库可以有两种身份验证的方法
(1)使用操作系统集成的身份验证
(2)使用Oracle数据库的密码文件进行身份验证
他们连个的应用场景
if 本地登录
(1)使用操作系统认证
(2)密码文件认证
[root@oracle dpdump]# id oracle uid=1101(oracle) gid=1000(oinstall) 组=1000(oinstall),1300(dba),1301(oper)
我们看到oracle 用户是属于dba这个组的,所以具备dba这个组的权限的,默认情况下他具备了操作系统的权限,可以不适用密码就可以登录了(使用操作系统里的用户名和密码,然后就可以进去了)
sqlplus / as sysdba
SQL> 这种情况下我们就是用sys用户登陆进来的SQL> show userUSER is "SYS"
什么是密码文件认证
密码文件目录$ORACLE_HOME/dbs
密码文件是$ORACLE_HOME/dbs/orapw
下面的 orapwesbtest就是esbtest这个实例的密码文件
比如说我现在给这个密码文件删除了,我们来看看
[oracle@oracle dbs]$ sqlplus sys/192.168.110.99@esbtest as sysdba
如果密码文件被删除了,则创建一个密码文件
比如这里的 orapwesbtest 密码文件丢失了,我们用下面的这个方法生成密码文件
orapwd file= orapwesbtest password=yizhenuplooking entries=1
决定是密码文件认证还是OS认证,由两个参数决定
参数(1)
remote/login/passwordfile=none|exclusive|shared
none 不适用密码问津啊认证
execlusive 要密码文件认证,自己独占使用(这个是默认的)
shared 要密码文件认证,不同的实例dba用户可以共享文件
要是有密码文件认证,则sys用户就不能远程登录了
参数(2)
$ORACLE_HOME/network/admin/sqlnet.ora
文件里面添加下面这一行
SQLNET.AUTHENTCICATION_SERVICES=none|all|nts
none 代表关闭操作系统认证,只能密码认证
all 用于linux/unix平台,关闭本机密码文件认证,采用操作系统认证,但是远程(不是自己的机器)可以使用密码文件认证,但是本机是不可以登陆的
nts 是windows 平台的,暂时不做讨论
这两个参数可以配合使用,不同的搭配,会有不同的效果
密码文件的管理:
密码文件的额建立:
看一下怎么使用的 orapwdUsage: orapwd file=
密码文件的修改:
(1)orapwd 建立密码文件(不建议使用)
(2)alter user sys identified by
(3) grant sysdba to 用户
(4)grant sysoper to 用户
(5)revoke sysdba|sysoper from 用户
上面都会使密码文件产生变化
比如说我现在不记得我的sys用户的密码,这个时候我么可以先通过操作系统认证的方式进入
sqlplus / as sysdba
alter user sys identified by 12334234;
比如说我们现在想让一个普通用户拥有部分sysdba的权限
conn / as sysdba;
create user bao identified by yizhenuplooking;
SQL> grant sysdba to bao;Grant succeeded.
我们可以使用密码认证进行登录
sqlplus bao/yizhenuplooking@esbtest as sysdba;
普通用户bao 拥有了sys的权限,但是默认请款下不是bao而是sys用户,可以使用show user看一下,因为你就是用sys用户的权限登录进来的,所以默认情况下是sys用户
看下sysdba 和 sysoper到底有什么区别,他们两个都是系统权限
sysdba 是帮派老大
sysoper 是帮派二当家
怎么查看我当前用户有哪些权限呢?比如说查看当前系统哪些是具有sysdba权限的额,哪些是具有sysoper权限的
我们可以查看密码文件的视图,这个要在sysdba用户下才能查看
conn / as sysdba;
SQL> select * from v$pwfile_users;USERNAME SYSDB SYSOP SYSAS------------------------------ ----- ----- -----SYS TRUE TRUE FALSEBAO TRUE FALSE FALSES1 FALSE TRUE FALSE
总结:
(1)密码文件的作用
(2)密码文件的位置
(3)密码文件的查找先后顺序
首先查找orapw
(4)dba用户的认证方式 系统认证和密码文件认证,什么时候用什么认证方式,由两个参数决定
(5)密码文件的建立
(6)密码文件的修改的方式
(7)当sys密码不对的时候,最好不要给他删除重新建立,我么应该用系统认证方式进入之后用alter user sys 的方式修改密码,如果密码文件没有了或者是损坏了,只有重新建立了
本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号