Oracle数据库之oracle-6-密码文件
小标 2018-08-22 来源 : 阅读 1178 评论 0

摘要:本文主要向大家介绍了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= entries= force= ignorecase= nosysdba=  where    file - name of password file (required),密码文件的名字orapw    password - password for SYS will be prompted if not specified at command line,sys用户的密码    entries - maximum number of distinct DBA (optional),可以有多少个sysdba,sysoper权限用户放到密码文件中去,实际可以放的用户密码文件比这个数大    force - whether to overwrite existing file (optional),  force 默认为n,也可以问为y,是否覆盖原有的密码文件    ignorecase - passwords are case-insensitive (optional),    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).      There must be no spaces around the equal-to (=) character.
 
密码文件的修改:
(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,找不到在找orapwd的,都找不到则密码认证失败
(4)dba用户的认证方式  系统认证和密码文件认证,什么时候用什么认证方式,由两个参数决定
(5)密码文件的建立
(6)密码文件的修改的方式
(7)当sys密码不对的时候,最好不要给他删除重新建立,我么应该用系统认证方式进入之后用alter  user   sys 的方式修改密码,如果密码文件没有了或者是损坏了,只有重新建立了 

本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程