Oracle体系结构之密码文件管理

oracle密码文件主要用来控制sysdba和sysoper用户用于远程登录。通常,oracle用户登录database有两种方式,一种是通过本地操作系统验证登录,一种是通过密码文件验证登录。

操作系统验证方式:#sqlplus / as sysdba

#sqlplus "/as sysdba"

密码文件验证方式:#sqlplus user/password as sysdba

#sqlplus user/password@<sid> as sysdba

#sqlplus user/password@<ip address:1521/sid> as sysdba

oracle密码文件位置通常在:$ORACLE_HOME/dbs/orapw<sid>

oracle用于登录database方式决定于2个参数:

1. 位于$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora参数文件中

remote_login_passwordfile = none | exclusive |shared 

none : 不使用密码文件认证

exclusive :要密码文件认证,自己独占使用(默认值)

shared :要密码文件认证,不同实例dba用户可以共享密码文件

2. $ORACLE_HOME/network/admin/sqlnet.ora下添加如下参数:

SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)

  none : 表示关闭操作系统认证,只能密码认证

  all : 用于linux或unix平台,关闭本机密码文件认证,采用操作系统认证,但远程<异机>可以使用密码文件认证

nts : 用于windows平台

以上两个参数的不同组合即可组成oracle数据库用户登录的不同验证方式。

密码文件损坏或者丢失,需要重建密码文件,重建密码文件语句如下:

SQL>orapwd file=<orapw<sid>> password=<password> entries=<max_user> force=<y/n>;

密码文件查找的顺序

   --->orapw<sid>--->orapw--->Failure

导致密码文件内容修改的几种方式:

   1.使用orapwd建立,修改密码文件,不建议使用

   2.使用alter user sys identified by <password>;

   3.使用grant sysdba to <user>或grant sysoper to <user>或revoke sysdba |sysoper from <user>

查看密码文件内容:

1、#strings orapworcl

2、SQL>ho strings orapworcl

sysdba与sysoper的区别*/

   SQL> select* from system_privilege_mapwhere name like '%SYS%';

    PRIVILEGE NAME                                      PROPERTY

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

          -3 ALTER SYSTEM                                     0

          -4 AUDIT SYSTEM                                     0

         -83 SYSDBA                                            0

         -84 SYSOPER                                           0

查看密码文件视图,可以得到哪些用户为sysdba,哪些用户为sysoper

   SQL> select* from v$pwfile_users;

   USERNAME                       SYSDB SYSOP

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

   SYS                            TRUE  TRUE

   SCOTT                          TRUE  FALSE

   USER1                          FALSE TRUE

原文地址:https://www.cnblogs.com/wcwen1990/p/4112674.html