在10/11g里,oracle的默认账号配置文件的failed_login_attemps是10
select * from dba_profiles
那么如何知道oracle是怎么计数的
1.select * from dba_users;
看下执行计划
可以发现有个user$视图里有个lcount,
找个账号输错密码登陆试试:
select name,lcount,ctime,password from sys.user$
可以发现lcount在增长。但每成功登陆一次就会被清0
2.找到sql.bsq(在$ORACLE_HOME/rdbms/admin里),11g已经把这个文件进行了拆分,找到dcore.bsq
可以找到lcount的相关说明
lcount number default 0 not null, /* count of failed login attempts */
于是乎知道这个failed_login_attemps是怎么来的了。
3.在11g里账号口令是区分大小写的,由参数sec_case_sensitive_logon控制
SQL> show parameter sec_case
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon boolean TRUE
4.查询用缺省口令的账号
select * from dba_users_with_defpwd ;
查询其定义
select * from dba_views where view_name like 'DBA_USERS_WITH%'
5 建立代理用户,由于在11g不再能使用alter user username identified by values 'VASDFASDFASDF123'这种模式.
所以以其他用户身份登陆:
create user proxy identified by proxy;
grant connect to proxy
alter user snowhill grant connect through proxy;
connect proxy[snowhill]/proxy