PasswordFile 口令文件
位置:$ORACLE_HOME/dbs/orapw<ORACLE_SID>
cd $ORACLE_HOME/dbs
[oracle@RHEL6 dbs]$ ll total 24 -rw-rw----. 1 oracle oinstall 1544 Apr 22 02:47 hc_DBUA0.dat -rw-rw----. 1 oracle asmadmin 1544 May 2 04:50 hc_sundb.dat -rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora -rw-r-----. 1 oracle oinstall 37 Apr 22 03:41 initsundb.ora -rw-r-----. 1 oracle asmadmin 24 Apr 22 03:38 lkSUNDB -rw-r-----. 1 oracle oinstall 1536 May 2 05:11 orapworcl
这里如果口令文件被改名,sys用户是无法正常登录的
cd $ORACLE_HOME/dbs
mv orapwsundb orapwsundb_bak
sqlplus sys/dba as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed May 2 05:58:03 2018 Copyright (c) 1982, 2009, Oracle. All rights reserved. ERROR: ORA-01031: insufficient privileges
修改口令文件名后发现登录报错
在数据库中查看口令文件保存的口令对象是谁
select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS ------------------------------ ----- ----- ----- SYS TRUE TRUE FALSE Elapsed: 00:00:00.01
可以通过用户授权增加口令文件用户条目
grant sysdba to hr;
select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS ------------------------------ ----- ----- ----- SYS TRUE TRUE FALSE HR TRUE FALSE FALSE Elapsed: 00:00:00.00
conn hr/hr as sysdba
Connected.
revoke sysdba from hr;
如果口令文件损坏
file orapwsundb
orapworcl: data
模拟口令文件损坏,可以用Oracle默认程序重建
mv orapwsundb orapwsundb_bak
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=dba force=y
如果将系统审核打开后,用口令审核方式登录时无效的
gpasswd -a oracle dba
Adding user oracle to group dba
su - oracle
sqlplus fafafafafaf/afafafafafafafafaf as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed May 2 06:14:18 2018 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
发现依然可以登录,Oracle数据库在系统认证打开的情况下,连接命令中的用户名和密码将不会被验证,口令文件不会被使用,只要后面跟 as sysdba,登录的用户都是sys。