- 浏览: 162548 次
- 性别:
- 来自: 杭州
最新评论
-
逆风翔:
逆风翔 写道怎么分割split() split(str1) ...
arcII码为0x01,0x02作为分隔符 -
逆风翔:
怎么分割split()
arcII码为0x01,0x02作为分隔符 -
jj可爱熊:
希望楼主能多多赐教啊~~~
MyEclipse + AXIS2 -
jj可爱熊:
yumitcd 写道选择services.xm文件,这个xml ...
MyEclipse + AXIS2 -
jj可爱熊:
SayHelloTest.java中总是报错:org.exam ...
MyEclipse + AXIS2
最近两个朋友问我同样的问题,他们发现数据库里面有一个账户总是莫名其妙的被锁住,不知道是什么原因。
我首先想到的是用户default profiles中的failed_login_attempts参数设置问题,然后扩展的问题是这个参数的精确含义及相关值查询。
测试结果如下:
1. 查询failed_login_attempts参数默认值:
10g(备注:9i环境中此参数的值为unlimited)
SQL> conn / as sysdba
Connected.
SQL> desc dba_profiles;
Name Null? Type
----------------------------------------- -------- ----------------------------
PROFILE NOT NULL VARCHAR2(30)
RESOURCE_NAME NOT NULL VARCHAR2(32)
RESOURCE_TYPE VARCHAR2(8)
LIMIT VARCHAR2(40)
SQL> select resource_name, limit from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 10
1 rows selected.
2. 模拟账户被锁现象
(为方便模拟lock现象,修改default profile failed_login_attempts=3 )
a.修改参数failed_login_attempts=3
SQL> conn / as sysdba;
Connected.
SQL>alter profile default limit failed_login_attempts 3;
Profile altered.
b.重现错误登陆
正确登陆
SQL> connecc_view/ecc@devdb1
Connected.
SQL> connecc_view/ecc@devdb1
Connected.
第一次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected toORACLE.
第二次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
第三次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
连续3次登陆失败后,账户被锁住了
SQL> connecc_view/hh@devdb1
ERROR:
ORA-28000: the account is locked
3. 解锁
SQL> conn / as sysdba
Connected.
SQL>alter user ecc_view account unlock;
User altered.
4. 解决方案
(1) 可以考虑查询应用部署中错误的password或者数据库连接等可能导致错误password的地方,彻底的查询问题所在。
(2) 修改参数failed_login_attempts=unlimited
SQL>alter profile default limit failed_login_attempts unlimited;
Profile altered.
SQL> select resource_name, limit from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS UNLIMITED
5. 扩展知识点及备注说明
(1) Q: FAILED_LOGIN_ATTEMPTS=3 3的含义是什么?是累计失败次数还是连续失败次数?
A: FAILED_LOGIN_ATTEMPTS=3的含义是从第一次登录失败开始计算,连续登陆失败的次数。而不是累计失败的次数。
试验如下:
SQL> connecc_view/ecc@devdb1
Connected.
第一次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
第二次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
正确登陆
SQL> connecc_view/ecc@devdb1
Connected.
此时不是累计,而是重新计算
第一次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
第二次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
第三次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
三次登陆失败后,账户被锁
SQL> connecc_view/ecc@devdb1
ERROR:
ORA-28000: the account is locked
(2) Q: 如何从数据库中查询当前FAILED_LOGIN_ATTEMPTS的值?dba_profiles是限额,并不代表当前值,如果查询当前失败的值怎么查?
A: select NAME,LCOUNT from user$,user$为view dba_users的基表,通常可以查询一下试图对应的基表,oracle可能会隐藏一些参数
初始值为0:
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 0
错误登陆一次后,值为1
SQL> connecc_view/h@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 1
错误登陆2次后,值为2
SQL> connecc_view/h@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 2
正确登陆一次后,此值重置为0
SQL> connecc_view/ecc@devdb1
Connected.
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 0
我首先想到的是用户default profiles中的failed_login_attempts参数设置问题,然后扩展的问题是这个参数的精确含义及相关值查询。
测试结果如下:
1. 查询failed_login_attempts参数默认值:
10g(备注:9i环境中此参数的值为unlimited)
SQL> conn / as sysdba
Connected.
SQL> desc dba_profiles;
Name Null? Type
----------------------------------------- -------- ----------------------------
PROFILE NOT NULL VARCHAR2(30)
RESOURCE_NAME NOT NULL VARCHAR2(32)
RESOURCE_TYPE VARCHAR2(8)
LIMIT VARCHAR2(40)
SQL> select resource_name, limit from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 10
1 rows selected.
2. 模拟账户被锁现象
(为方便模拟lock现象,修改default profile failed_login_attempts=3 )
a.修改参数failed_login_attempts=3
SQL> conn / as sysdba;
Connected.
SQL>alter profile default limit failed_login_attempts 3;
Profile altered.
b.重现错误登陆
正确登陆
SQL> connecc_view/ecc@devdb1
Connected.
SQL> connecc_view/ecc@devdb1
Connected.
第一次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected toORACLE.
第二次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
第三次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
连续3次登陆失败后,账户被锁住了
SQL> connecc_view/hh@devdb1
ERROR:
ORA-28000: the account is locked
3. 解锁
SQL> conn / as sysdba
Connected.
SQL>alter user ecc_view account unlock;
User altered.
4. 解决方案
(1) 可以考虑查询应用部署中错误的password或者数据库连接等可能导致错误password的地方,彻底的查询问题所在。
(2) 修改参数failed_login_attempts=unlimited
SQL>alter profile default limit failed_login_attempts unlimited;
Profile altered.
SQL> select resource_name, limit from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS UNLIMITED
5. 扩展知识点及备注说明
(1) Q: FAILED_LOGIN_ATTEMPTS=3 3的含义是什么?是累计失败次数还是连续失败次数?
A: FAILED_LOGIN_ATTEMPTS=3的含义是从第一次登录失败开始计算,连续登陆失败的次数。而不是累计失败的次数。
试验如下:
SQL> connecc_view/ecc@devdb1
Connected.
第一次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
第二次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
正确登陆
SQL> connecc_view/ecc@devdb1
Connected.
此时不是累计,而是重新计算
第一次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
第二次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
第三次登陆失败
SQL> connecc_view/hh@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
三次登陆失败后,账户被锁
SQL> connecc_view/ecc@devdb1
ERROR:
ORA-28000: the account is locked
(2) Q: 如何从数据库中查询当前FAILED_LOGIN_ATTEMPTS的值?dba_profiles是限额,并不代表当前值,如果查询当前失败的值怎么查?
A: select NAME,LCOUNT from user$,user$为view dba_users的基表,通常可以查询一下试图对应的基表,oracle可能会隐藏一些参数
初始值为0:
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 0
错误登陆一次后,值为1
SQL> connecc_view/h@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 1
错误登陆2次后,值为2
SQL> connecc_view/h@devdb1
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 2
正确登陆一次后,此值重置为0
SQL> connecc_view/ecc@devdb1
Connected.
SQL> select NAME,LCOUNT from user$ where name = 'ECC_VIEW';
NAME LCOUNT
------------------------------ ----------
ECC_VIEW 0
发表评论
-
Myeclipse中安装mybatis generator插件
2018-03-14 11:35 9071、下载mybatis generator插件。 2、把 ... -
做exe服务
2018-03-14 11:34 496让程序作为服务运行 ... -
oracle 11g完美导出到oracle10g
2017-02-28 15:22 529oracle11g用exp命令导出的dmp文件10g是不能 ... -
多线程操作hashtable的问题
2017-02-10 11:29 1082大家都知道hashmap是线程不安全的,hashtable是 ... -
redis存储list
2017-02-06 15:01 541把List转换成JSON,存储到Redis,取出来的时候,再 ... -
ActiveMQ例子
2017-01-23 15:36 12421.下载ActiveMQ 去官方网站下载:http:// ... -
redis安装及示例
2017-01-23 14:43 8051.安装Redis 官方网站:http://redis. ... -
redis+spring例子
2017-01-22 17:44 675一、Redis了解 1.1、Redis ... -
Zookeeper的集群配置
2017-01-19 16:29 892一 集群的作用 为了获得可靠的 ZooKeeper 服务, ... -
实现只能一个用户登录
2017-01-19 16:21 742功能:当你在一台电脑上登录了账号,然后又在另外一台电脑上登录 ... -
论如何进行有效的需求管理
2012-06-10 19:51 896通过高级项目经理5天课 ... -
sql2005链接sql2000
2010-10-19 13:04 1013服务器是sql server 2000的,客户端是2005的, ... -
oracle导入备份错误
2010-06-26 17:29 5598IMP-00017: following statement ... -
虚拟机的IP地址为什么和本机不一样?
2010-05-13 16:46 6301最近在配置虚拟机,但发现虚拟机的ip地址和局域网内的其它非 ... -
sql面试题
2010-03-03 13:11 1411昨天去滨江的一个公司面试,遇到一个数据库的题目,总结下 ... -
an error occurred while completing process -java.lang.reflect.InvocationTargetEx
2010-01-29 17:09 1525在使用codegen插件来从WSDL文件生成代码时,到了最后一 ... -
MyEclipse + AXIS2
2010-01-29 17:03 6928一、环境准备 1.1软件下载准备 Tomcat 5.5下载地 ... -
Spring学习笔记:第二章 Spring中IoC的入门实例
2010-01-28 15:14 969第二章 Spring中IoC的入门实例 Spring的模 ... -
Spring学习笔记:1、概念理解
2010-01-28 15:13 850转载自:http://dev.csdn.net/author/ ... -
微软自带jdbc驱动缺陷
2009-07-02 14:15 1181微软自带的3个驱动包分 ...
相关推荐
当出现`ORA-28000: the account is locked`这样的错误提示时,表明当前尝试登录的账户已被锁定。这通常是因为账户密码连续多次输入错误导致的。 #### 查询锁定状态 在解决账户锁定问题之前,首先需要查询默认配置...
最近在操作oracle11g的使用出现错误的现象:ora-28000 the account is locked,既用户无法登录问题,如何解决此问题呢?下面小编给大家带来了oracle11g用户登录时被锁定问题的解决方法,感兴趣的朋友一起看看吧
- **账户被锁定**:在给定内容中提到了一个常见的错误消息:“ORA-28000: the account is locked”。这表示尝试登录的账户当前处于锁定状态,无法进行正常操作。解决此问题的方法是: - 首先,需要以DBA权限连接到...
此时,用户在尝试登录时会收到“ORA-28000: the account is locked”或“ORA-28001: the password has expired”的错误信息,无法进行任何操作。 二、处理密码过期的方法 1. **紧急模式登录(SQL*Plus as SYSDBA)*...
当用户尝试登录并收到"ORA-28000: the account is locked"错误时,有几种方法可以解锁Oracle用户账户。下面将详细介绍这三种解锁方法。 **第一种方法:使用PL/SQL Developer** 1. 以`system`用户身份登录PL/SQL ...
- `[Mercury][Oracle JDBC Driver][Oracle] ORA-28000: the account is locked` 这些问题的出现可能是由两种情况导致的:一是QC登录数据库的用户名被锁定;二是数据库操作人员没有足够的权限。 ##### 原因分析 **...
如果你收到"ORA-28000: the account is locked"的错误信息,可以按照以下步骤操作: 1. 使用具有DBA权限的用户(如`system`)登录PL/SQL Developer,选择连接类型为"Sysdba"。 2. 在对象浏览器中查看"Users",找到...
此外,还有一种情况是当用户尝试多次登录失败后,系统会锁定该用户账户,并给出ORA-28000: The account is locked(账户被锁定)的错误提示。这两种情况都会影响业务正常运行。 #### 解决方案 ##### 密码过期处理 ...
- **Oracle 错误处理**:遇到常见的错误如 ORA-28000: the account is locked 可能是因为账户被锁定,可以通过 `Alter user scott account unlock;` 解锁账户。 - **环境变量问题**:如果遇到 `oracle home is not ...
在 PL/SQL Developer 中,如果使用 scott/tiger 登录时提示 ora-28000 the account is locked,可以使用以下方法来解锁。首先,以 sysdba 身份登录 conn sys/sys as sysdba; 然后,alter user scott account unlock;...
- **Shell命令**:`ps -ef | grep ora_ | grep -v grep && ps -ef | grep ora_ | grep -v grep | wc -l` - 此命令用于列出所有Oracle相关的进程,并通过`wc -l`计算进程总数。 - **进程数**:在生产环境中,此数值...