收藏 分销(赏)

Oracle口令文件介绍.doc

上传人:xrp****65 文档编号:6165661 上传时间:2024-11-28 格式:DOC 页数:8 大小:99.19KB 下载积分:10 金币
下载 相关 举报
Oracle口令文件介绍.doc_第1页
第1页 / 共8页
Oracle口令文件介绍.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
============================== Oracle 密码文件 ============================== 一、密码文件      oracle的口令文件的作用是存放所有以sysdba或sysoper权限连接数据库用户的口令,如果想以sysdba或sysoper权限远程连接数据库,必须使用口令文件,否则不能连接,由于sys用户在连接数据库时必须以sysdba or sysoper方式,也就是说sys用户要想远程连接数据库必须使用口令文件,因此可以认为在数据库中存放sys用户的口令其实没有任何意义,因为你本机其实还是可以登陆的!使用口令文件的好处是即使数据库不处于open状态,依然可以通过口令文件验证来连接数据库。开始安装完oracle,没有给普通用户授予sysdba或sysoper权限,口令文件中只存放了sys与system的口令,如果之后把sysdba或sysoper权限授予了普通用户,那么此时会把普通用户的口令从数据库中读到口令文件中保存下来,当然这时必须要求数据库处于open状态。 二、Oracle的两种认证方式;     1.使用与操作系统集成的身份验证     2.使用Oracle数据库的密码文件进行身份认证 三、密码文件的位置     Linux下的存放位置:$ORACLE_HOME/dbs/orapw$ORACLE_SID                   即:ORACLE_HOME/dbs/orapw<sid>     Windows下的存放位置:$ORACLE_HOME/database/PW%ORACLE_SID%.ora       密码文件查找的顺序 --->orapw<sid>--->orapw--->Failure       两种认证方式:类型与SQL server中的windows认证和SQL server认证     决定在两个参数中     1.remote_login_passwordfile = none | exclusive |shared  位于$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora参数文件中        none : 不使用密码文件认证        exclusive :使用密码文件认证,自己独占使用(默认值)        shared :使用密码文件认证,不同实例dba用户可以共享密码文件(如集群)            2. $ORACLE_HOME/network/admin/sqlnet.ora         SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)        none : 表示关闭操作系统认证,只能密码文件认证        all : 用于linux或unix平台,关闭本机密码文件认证采用操作系统认证,但远程 <非本机>可以使用密码文件认证        nts : 用于windows平台            如果使用组合       1           2     none      none      sys用户无论是本机还是远程均不可登陆,但是非sys用户可登陆 四、演示 判断当前使用的是操作系统认证还是密码认证,都是在本机操作实验 remote_login_passwordfile = exclusive     1、在sqlnet.ora 中追加SQLNET.AUTHENTICATION_SERVICES = none       [oracle@wangdm ~ 14:48 #22]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 9月 21 14:48:27 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-01031: insufficient privileges Enter user-name:     --------------------------------------------------------------------------------- [oracle@wangdm ~ 23:49 #35]$ sqlplus sys/oracle@zhqhdb as sysdba /*使用密码文件认证,登陆成功*/ SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 9月 21 23:41:58 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> ---------------------------------------------------------------------------------        2、将SQLNET.AUTHENTICATION_SERVICES的值改为all [oracle@wangdm ~ 23:45 #23]$ sqlplus / as sysdba  /*采用本机认证可以登陆*/ SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 9月 21 23:45:30 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options       SQL>     ---------------------------------------------------------------------------------  [oracle@wangdm ~ 23:47 #27]$ sqlplus sys/oracle@zhqhdb as sysdba  /*使用密码文件登陆认证失败*/ SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 9月 21 23:47:37 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-12641: Authentication service failed to initialize Enter user-name:      /*注:此时可以使用远程登陆*/ /*使用#符号将新增的SQLNET.AUTHENTICATION_SERVICES行注释掉恢复到缺 省值,使用缺省值时系统认证及密码文件认证都可用*/   五、密码文件的建立:orapwd       [oracle@robinson ~]$ orapwd     Usage: orapwd file=<fname>  password=<password>  entries=<max_users_num>  force=<y/n>   参数解释: file - name of password file  /*密码文件的名字orapw<sid>*/ /* The name of the file must be orapwsid, and you must supply the full path name. Its contents are encrypted . Typically, the password file is created in the $ORACLE_HOME/dbs directory. */ password - password for SYS  /*sys用户的密码*/ entries - maximum number of distinct DBA   /*密码文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录 数据库的最大用户数,去掉重复记录; 到底可以有几个用户被授予sysdba或者sysoper权限,说是由创建口令文件时指定的entries数决定的,但实际上貌似不像啊,有人说可能跟os block的大小有关,如果entries指定了5,一个os block可以存放9个用户的口令,那么可以有9个用户被授予sysdba或者sysoper,可是9个用户占用的块空间也不大啊并没有将系统块用完反而还大半是空闲的,所这个地方有疑问一直没搞明白也有人说是按矩阵来算但还也不对啊,请高手指点罗?????*/ force - whether to overwrite existing file   /*10g新增的参数,默认值为n ,y表示允许覆盖*/ OPERS(opt):There are no spaces around the equal-to (=) character.  实例如下图,生成实例为zhqhdb的密码文件,密码为handsome --修改密码:  --演示将entries 改为1,然后将多个用户设置为sysdba或sysoper --给多个用户赋予sysdba角色  会出现错误: ORA-01996: GRANT failed: password file '' is full  --再次查看orapwzhqhdb发现多出几行,即当设置的时候多出了个用户   --注意不要轻易删掉密码文件,以免将其他账户的信息也删除 六、密码文件内容修改的几种方式  1.使用orapwd建立,修改密码文件,不建议使用  2.使用alter user sys identified by <>  3.使用grant sysdba to <> 或grant sysoper to <> 或revoke sysdba |sysoper from <>   七、查看密码文件内容   [oracle@wangdm /u01/app/oracle/product/10.2.0/db/dbs]$ strings orapwzhqhdb ]\[Z ORACLE Remote Password file INTERNAL AB27B53EDC5FEF41 8A8F025737A9097A  --当sys密码不记得可以使用OS系统身份认证登陆到sqlplus,再使用alter user修改密码 SQL> alter user sys identified by handsome; User altered  --再次查看密码文件与上一次对比,已经发生变化 SQL> ho strings orapwzhqhdb ]\[Z ORACLE Remote Password file INTERNAL 42998405ACC04240 4273B1DBEBCE9A20     --通过授予权限来修改密码,密码文件中多出了scott的信息   SQL> grant sysdba to scott;  Grant succeeded.     SQL> ho strings orapworcl     ]/[Z     ORACLE Remote Password file     INTERNAL     AB27B53EDC5FEF41     8A8F025737A9097A     SCOTT     F894844C34402B67   --注意此处中登陆后,显示的账户信息还是sys而不是hs_user,但此时的hs_user已经具备了sys权限  八、sysdba 与sysoper的区别     SQL> select * from system_privilege_map where name like '%SYS%';      PRIVILEGE NAME                                       PROPERTY     ---------- ---------------------------------------- ----------            -3 ALTER SYSTEM                                      0            -4 AUDIT SYSTEM                                      0           -83 SYSDBA                                            0           -84 SYSOPER                                           0               --下面的链接是两者不同的权限说明     The manner in which you are authorized to use these privileges depends upon the method of authentication that you use. When you connect with SYSDBA or SYSOPER privileges,you connect with a default schema,not with the schema that is generally associated with your username.For SYSDBA this schema is SYS; for SYSOPER the schema is PUBLIC.     --两者的schema不同     SQL> show user     USER is "SYS"     SQL> conn / as sysoper     Connected.     SQL> show user     USER is "PUBLIC"       --查看密码文件视图,可以得到哪些用户为sysdba,哪些用户为sysoper     --下面演示了使用不同的角色来登陆    
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服