这篇文章给大家分享的是有关oracle中出现ORA-28000错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

这个毛病特别稀奇,用户好端端的就登陆不上!根据提示 The account is locked 这账户被锁定,啥情况,我们登陆sysdba看一看

格式:

select account_status,lock_date,profile from dba_users where username='USERNAME';

解析:

这句话查询字段account_status(账户状态),lock_date(锁数据),profile配置文件字段,然后dba_users查看所有用户状态的视图表,指定username你的账户名就可以看状态

查看这个状态的时候发现是LOCKED(TIMED),锁(时间)以前没见过这种状态,我就百度了一下,系统默认配置密码登录(错误登录)登录10次,所以就给个时间锁,知道了这些就好办了,我感觉输入10次才给锁太不安全了!

我想把他改成3次,我们首先要知道怎么查看这个系统默认设置,如下

格式:

select resource_name,resource_type,limit from dba_profiles where profile='DEFAULT';

解释:

查询资源名字,类型,限制源表是dba_profiles视图(dba配置文件),指定default,这样就出来了!

格式:

alter profile default limitFAILED_LOGIN_ATTEMPTS unlimit(无限次);--本人为了安全设置了3次(非生产环境下)

解释:

翻译英语 改变配置文件默认的限制 登录失败尝试 为3次!很好理解无难度

这时候我们就可以给用户解锁了

格式:

alter user scott account unlock;--改变用户scott账户解锁

这时候我们在dba_users视图查看发现已经解锁,登录成功,我还特意尝试了3次失败登录,报错ORA-28000看来还是很有效果!这时候问题解决希望对对大家有一些帮助

补录:

因为我其实查看了show parameter resource,这时候我惊奇发现没有开启resource limit,values --> false,这里资源显示没有开启,却10次生效,为什么??

查阅一些资料和了解,FAILED_LOGIN_ATTEMPTS 不为受resource limit的约束,修改用alter profile是用户口令管理,变量是资源管理,口令并不受RESOURCE LIMIT的限制,一些教材中把profile分为管理密码与资源两大类我也查实了。

引用网友的帖子感觉特别好http://www.php.cn/mysql-tutorials-135104.html比我讲解详细 思路明确 特别引用请大家参考 本人看了也有很大知识面提升

最后想查看Oracle中用户已经登录失败几次了?

格式:

selectlcount from user$ where name='USERNAME';--就可以看到统计信息

格式:

SQL> audit session whenever not successful;

审计已成功。

SQL> set linesize 1000;

SQL> col userhost for a20;

SQL> col COMMENT$TEXT for a30;

SQL> col SPARE1 for a20;

SQL> col NTIMESTAMP# for a35

SQL>select sessionid,userid,userhost,comment$text,spare1,to_char(ntimestamp#+1/3,'yyyy-mm-dd hh34:mi:ss') from aud$ where returncode=1017 order by ntimestamp# desc;

user$与aud$的信息非常有用!!

感谢各位的阅读!关于“oracle中出现ORA-28000错误怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!