Oracle数据库创建起来后,会创建很多辅助用户,这些用户帐号如果不去修改密码,他们使用的全部是默认密码,有些帐号的默认密码已经是公开了的密秘,给数据库的安全带来威胁。
1、 使用下面语句可以查询出当前使用默认密码的用户帐号:
SQL> select * fromdba_users_with_defpwd orderby1;
USERNAME
APPQOSSYS
CTXSYS
EXFSYS
MDDATA
dba_users_with_defpwd视图只有一个字段“USERNAME”,当对帐号修改密码后,用户帐随即从dba_users_with_defpwd视图中消失
例如:
(1) 对APPQOSSYS用户修改密码:
SQL> alteruser APPQOSSYS identifiedby pwdpwdpwd;
(2) 再来查询APPQOSSYS用户是否使用的默认密码:
SQL> select * from dba_users_with_defpwd where username='APPQOSSYS';
这时已经从dba_users_with_defpwd视图中查不到APPQOSSYS用户信息,说明APPQOSSYS帐号已经不使用的默认密码了
2、如果要查询使用了默认用户帐号的详细信息,例如锁定状态、创建日期等,可以使用如下语句:
select a.username 帐号名,b.user_id 帐号ID,b.ACCOUNT_STATUS 访问状态,b.LOCK_DATE 锁定时间,
b.expiry_date 过期时间,b.created 创建时间 fromdba_users_with_defpwd a,dba_users b
where a.username=b.username;