Oracle密码文件(一)

2014-11-24 17:47:08 · 作者: · 浏览: 5

--==============================


--==============================


/*


相关阅读:


一、密码文件


作用:主要进行DBA权限的身份认证


DBA用户:具有sysdbasysoper权限的用户被称为dba用户。默认情况下sysdba角色中存在sys用户,sysoper角色中存在system用户



二、Oracle的两种认证方式;


1.使用与操作系统集成的身份验证


2.使用Oracle数据库的密码文件进行身份认证



三、密码文件的位置


Linux下的存放位置:$ORACLE_HOME/dbs/orapw$ORACLE_SID


即:ORACLE_HOME/dbs/orapw


Windows下的存放位置:$ORACLE_HOME/database/PWD%ORACLE_SID%.ora



密码文件查找的顺序


--->orapw--->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 : 用于linuxunix平台,关闭本机密码文件认证,采用操作系统认证,但远程<异机>可以使用密码文件认证


nts : 用于windows平台



不同的组合


12


nonenonesys用户无论是本机还是远程均不可用



判断当前使用的是操作系统认证还是密码认证



四、演示:


1.sqlnet.ora中追加SQLNET.AUTHENTICATION_SERVICES = none*/


[oracle@robinson ~]$ sqlplus / as sysdba /*登陆失败*/



SQL*Plus: Release 10.2.0.1.0- Production on Fri Apr 9 10:41:28 2010



Copyright (c) 1982, 2005, Oracle.All rights reserved.



ERROR:


ORA-01031: insufficient privileges


Enter user-name:


--------------------------------------------------------------------------------



SQL*Plus: Release 10.2.0.1.0- Production on Fri Apr 9 10:42:35 2010



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, OLAPand Data Mining options



SQL>


--=================================================================================



2.SQLNET.AUTHENTICATION_SERVICES的值改为all



[oracle@robinson admin]$ sqlplus / as sysdba /*采用本机认证可以登陆*/



SQL*Plus: Release 10.2.0.1.0- Production on Fri Apr 9 10:46:55 2010



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, OLAPand Data Mining options



SQL>


--------------------------------------------------------------------------------------


[oracle@robinson admin]$ sqlplus sys/redhat@orclas sysdba /*使用密码文件登陆认证失败*/



SQL*Plus: Release 10.2.0.1.0- Production on Fri Apr 9 10:48:35 2010



Copyright (c) 1982, 2005, Oracle.All rights reserved.



ERROR:


ORA-12641: Authenticationservice failed to initialize



Enter user-name:



--注:此时可以使用远程登陆。



--使用#符号将新增的SQLNET.AUTHENTICATION_SERVICES行注释掉恢复到缺省值



/*


五、密码文件的建立:orapwd*/


[oracle@robinson ~]$ orapwd


Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>



where


file - name of password file (mand),/*密码文件的名字orapw*/


password - password for SYS (mand),/*sys用户的密码*/


entries - maximum number of distinct DBA and/*可以有多少个sysdba,sysoper权限用户放到密码文件中去,去掉重复记录*/


/*注意entries中存放的个数但不是实际个数,这个是二进制数据*/


force - whether to overwrite existingfile (opt),/*10g新增的参数,默认值为n ,y表示允许覆盖*/


OPERs (opt),


There are no spaces around the equal-to(=) character.



--修改密码:


[oracle@robinson ~]$ cd $ORACLE_HOME/dbs


[oracle@robinson dbs]$ ll orapworcl


-rw-r----- 1 oracle oinstall 1536 Apr7 15:50 orapworcl


[oracle@robinson dbs]$ orapwd file=orapworcl password=oracle force=y


[oracle@robinson dbs]$ sqlplus sys/oracle@orclas sysdba



SQL*Plus: Release 10.2.0.1.0- Production on Fri Apr 9 11:34:09 2010



Copyright (