首页 > 代码库 > 密码文件管理
密码文件管理
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
密码文件管理