Oracle用户被锁定解决方法
Oracle用户连续登录失败次数限制如何取消
2. 输入以下命令,修改“FAILED_LOGIN_ATTEMPTS”的值为“UNLIMITED”: SQL>alter profile default limit failed_login_attempts unlimited; 3. 重新查看“FAILED_LOGIN_ATTEMPTS”的值:
这样不论用户连续登录失败次数是多少,都不会锁定用户账户。 是不是很简单,需要取消用户连续登录失败次数限制的朋友,就按这三步实现吧!
做多选功能时为了简便会在某个字段中存储多个值保存时虽然省事但后续的查询统计时还需要拆分数据才行因此这时需要将字段内的值分成多行以便后续使用这篇文章主要给大家介绍了关于oracle以逗号分隔的字符串拆分为多行数据的相关资料需要的朋友可以参考下
Oracle用 户 连 续 登 录 失 败 次 数 限 制 如 何 取 消
当用户连续登录失败次数过多时,Oracle会锁定该用户,“FAILED_LOGIN_ATTEMPTS”用于设置最大次数,超过该值则锁定 该帐号。 要取消用户连续登录失败次数的限制可以按照以下方法操作: 1. 输入以下命令,查看“FAILED_LOGIN_ATTEMPTS”的值: SQL> select * from dba_profiles s where s.profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
oracle解锁账户语句
oracle解锁账户语句
Oracle数据库中,账户被锁定时,用户无法登录该账户。
这种情况下,可以通过解锁账户来恢复用户的登录权限。
解锁账户的语句如下:
ALTER USER <用户名> ACCOUNT UNLOCK;
其中,<用户名>为被锁定的账户的用户名。
执行该语句后,账户将被解锁,用户可以重新登录该账户。
需要注意的是,如果账户被锁定的原因是由于密码错误次数过多导致的,则需要先重置该账户的密码,然后再执行解锁账户的语句。
具体操作如下:
1.使用sys用户登录Oracle数据库
2.执行以下语句,将被锁定账户的密码重置为新密码:
ALTER USER <用户名> IDENTIFIED BY <新密码>;
3.执行以下语句,解锁该账户:
ALTER USER <用户名> ACCOUNT UNLOCK;
以上就是Oracle解锁账户的语句及操作步骤。
在实际使用中,需要根据实际情况进行操作。
- 1 -。
ORA-28000错误的原因及解决办法
ORA-28000错误的原因及解决办法
当使⽤SQL*Plus登录时,Oracle数据库时提⽰“ORA-28000:帐号被锁定”。
导致出现改错误的原因是:在oracle database 11g中,默认在default概要⽂件中设置了“FAILED_LOGIN_ATTEMPTS=10”,当输⼊密码错误次数达到设置值将导致此问题。
1.确认⽤户所使⽤的概要⽂件:
1SQL> select username,profile from dba_users;
2.查看概要⽂件中有关登录次数的限制:
1SQL> select* from dba_profiles where profile='DEFAULT'and resource_name='FAILED_LOGIN_ATTEMPTS';
3.如果尝试登录次数限制为10次,将尝试登录次数的限制修改为不受限:
1SQL> alter profile default limit failed_login_attempts unlimited;
修改后不需要重启数据库,修改结果即时⽣效。
注意:修改后,还没有被提⽰ORA-28000警告的账户不会再碰到同样的问题,已被锁定⽤户仍需解锁,⽅法如下:
1SQL> alter user user_name account unlock;。
ORA-12514ORA-12541 ORA-12154 忘记密码 锁住用户 解决方案
今天整个一天我都在oracle中晃悠,修复PLSQL无法登陆的问题,到现在终于解决了。
感觉走了很多弯路,希望在这里能给大家一些帮助。
指导一下大家解决:忘记密码、用户被锁住,登陆时出现的ORA-12154 TNS无法解析指定的连接标识符、ORA-12514 TNS:监听进程不能解析描述符和ORA-12541 无监听程序。
这三类错误是经常见的,命名都十分相似。
下面我们来一一解决。
首先我要申明,这里提供多种解决方式,因为每个人电脑环境都不一样,造成这种错误的原因也各不相同,所以大家多尝试肯定会解决你的问题。
第一个问题:忘记密码怎么办?用户锁住了怎么办?1进入cmd2 sqlplus / as sysdba3alter user sys identified by 新密码;(例如:alter user scott identified by tiger) 这句话的意思是将scott用户的密码设置成by后面的字符串tiger。
当然你也可以新建一个用户,步骤如下1 进入cmd2sqlplus / as sysdba或者sqlplus sys/密码as sysdba3 create user 用户名identified by 密码;4grant connect,resource to 用户名;5 conn 用户名/密码说明:如果第5步可以连接成功说明,用户建立成功,就可以用这个用户登录了。
提示:这里的输入口令,你只要输入就可以,它不会显示出来的,输入完密码之后按下Enter就可以了,出现连接到:就说明成功连接数据库。
那么我们用刚刚修改了密码的scott登录时候出现了,用户锁住了,我们可以用sys登录,然后使用Alter user scott account unlock;出现用户已更改,说明解锁成功,可以使用scott用户登陆了。
这样对于密码的问题,我们就已经解决了。
---ORA-12154 TNS无法解析指定的连接标识符。
Oracle死锁的查看以及解决办法
Oracle死锁的查看以及解决办法1、查看死锁是否存在select username,lockwait,status,machine,program from v$session where sid in(select session_id from v$locked_object);Username:死锁语句所⽤的数据库⽤户;Lockwait:死锁的状态,如果有内容表⽰被死锁。
Status:状态,active表⽰被死锁Machine:死锁语句所在的机器。
Program:产⽣死锁的语句主要来⾃哪个应⽤程序2、查看死锁的语句select sql_text from v$sql where hash_value in(select sql_hash_value from v$session where sid in(select session_id from v$locked_object));3、死锁的解决办法1)查找死锁的进程:sqlplus "/as sysdba" (sys/change_on_install)SELECT ername,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESSFROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;2)kill掉这个死锁的进程: alter system kill session ‘sid,serial#’; (其中sid=l.session_id)3)如果还不能解决:select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr; 其中sid⽤死锁的sid替换: exitps -ef|grep spid 其中spid是这个进程的进程号,kill掉这个Oracle进程----------------------------------------------------------------------------------------------------------------------------------"ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效"的快速解决⽅法今天在导⼀个临时表的数据,导出完成后准备清空数据,执⾏truncate命令时,遇到如下问题:ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效解决⽅法如下:=========================================================SQL> select session_id from v$locked_object;SESSION_ID----------56SQL> SELECT sid, serial#, username, osuser FROM v$session where sid = 56;SID SERIAL# USERNAME OSUSER---------- ---------- ------------------------------ ------------------------------56 2088 ghb fySQL> ALTER SYSTEM KILL SESSION '56,2088';System altered执⾏完上述命令后,提⽰会话断开。
oracle数据库锁表解决办法
oracle数据库锁表解决办法Oracle数据库是一款非常流行的数据库管理系统,其优势在于能够支持多用户,并发操作,数据安全稳定。
然而,由于其特殊性,在使用Oracle数据库时,经常会遇到数据库锁表的现象。
当某个表被其他用户锁定时,其他用户就无法访问该表,这给数据管理带来了巨大的困难,本文就介绍Oracle数据库锁表解决办法,希望对大家有所帮助。
1.询该表被锁定的用户在Oracle数据库中,系统提供了一个方法来查询该表被锁定的用户,可以使用如下语句:SELECT SID, SERIAL#, USERNAMEFROM v$LOCKWHERE id1 = 表名其中,SID和SERIAL#分别表示会话ID和会话号;USERNAME表示锁表的用户名。
通过查询,可以知道是哪个用户锁定了该表,这样可以帮助我们更好地分析和解决数据库锁表的问题。
2.决数据库锁表的问题(1)强制结束锁表的会话如果锁表的用户是一个普通的用户,此时可以使用aletr system kill session语句将其会话强制结束,这样就可以释放锁表的资源。
但是,要注意的是,如果锁表的用户是sydba或sysoper之类的特权用户,强制结束会话可能产生不可预料的后果,因此不推荐使用这种方法。
(2)使用rollback释放表锁如果锁表的用户已经执行了一些更新操作,可以使用rollback 语句将其回滚,这样就可以释放表的锁。
另外,在Oracle数据库中,还提供了一种特殊的表锁,叫做DML锁,它是Oracle数据库用来实现多版本控制的,如果遇到这种表锁,只有等当前用户执行commit 操作之后,才能释放锁。
3.防数据库锁表问题上文介绍了如何解决数据库锁表问题,但为了避免系统出现锁表的现象,还需要一些预防性措施。
(1)严格控制访问权限数据库系统为了安全起见,应当严格控制用户的访问权限,只允许被授权的用户拥有该表的读写权限,这样就可以限制非认证用户对表的访问,从而减少锁表的可能性。
Oracle常见死锁发生的原因以及解决方法
Oracle常见死锁发生的原因以及解决方法死锁是指在并发程序中,两个或多个进程因为争夺系统资源而陷入无限等待的状态,从而无法继续执行下去。
在Oracle数据库中,死锁是一个非常常见的问题,它会导致系统性能下降,甚至造成系统崩溃。
本文将详细介绍Oracle常见死锁发生的原因以及解决方法。
一、死锁发生的原因1.竞争资源:当多个进程同时请求相同的资源时,可能会导致死锁的发生。
例如,如果两个进程同时请求一个表的写锁,那么它们就会陷入死锁状态。
2.锁的顺序:当多个进程按照不同的顺序请求锁时,可能会导致死锁的发生。
例如,如果进程A先请求资源X,再请求资源Y,而进程B先请求资源Y,再请求资源X,那么它们就会陷入死锁状态。
3.锁的持有时间:当一个进程持有一个锁,并且在等待其他资源时继续保持该锁,可能会导致死锁的发生。
例如,如果进程A持有资源X的锁,并且在等待资源Y时继续保持该锁,而进程B持有资源Y的锁,并且在等待资源X时继续保持该锁,那么它们就会陷入死锁状态。
二、死锁的解决方法1. 死锁检测和解除:Oracle数据库提供了死锁检测和解除的机制。
当一个进程请求一个资源时,数据库会检查是否存在死锁。
如果存在死锁,数据库会选择一个进程进行回滚,解除死锁状态,并且通知其他进程重新尝试获取资源。
2.超时设置:为了避免死锁的发生,可以设置超时时间。
当一个进程请求一个资源时,如果在指定的超时时间内无法获取资源,那么就放弃该请求,并且释放已经持有的资源。
这样可以防止死锁的发生,但是会增加系统的开销。
3.锁的顺序:为了避免死锁的发生,可以规定所有进程按照相同的顺序请求锁。
例如,可以规定所有进程按照资源的名称进行排序,然后按照顺序请求锁。
这样可以避免死锁的发生,但是可能会影响系统的性能。
4.锁的粒度:为了避免死锁的发生,可以尽量减小锁的粒度。
例如,可以将一个大的锁分解成多个小的锁,这样可以减少锁的冲突,降低死锁的概率。
但是需要注意的是,锁的粒度过小可能会导致系统的性能下降。
oracle锁等待处理方法
DECODE (l.TYPE, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL)
LOCK_LEVEL,
o.owner,
o.object_name,
SELECT * FROM v$session_wait;
--1.查出锁定object的session的信息以及被锁定的object名
SELECT l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
总结1:Oracle的锁表与解锁
SELECT ername,
DECODE (l.TYPE, 'tm', 'table lock', 'tx', 'row lock', NULL)
lock_level,
o.owner,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
FROM v$sqlarea a, v$session s, v$locked_object l
6, 'Exclusive', 'Unknown') RequestMode,
ctime, block b
from v$lock, all_objects
where sid > 6
and v$lock.id1 = all_objects.object_id;
oracle解锁数据的方法
oracle解锁数据的方法
在Oracle数据库中,解锁数据的方法取决于锁定的类型和锁定的来源。
下面是一些常见的解锁数据的方法:
1. 手动提交或回滚事务:如果数据被锁定是因为当前事务没有完成,则可以手动提交或回滚事务,以释放锁定的数据。
可以使用以下命令提交事务:
```
COMMIT;
```
或者使用以下命令回滚事务:
```
ROLLBACK;
```
2. 等待其他事务完成:如果数据被其他事务锁定,则可以等待其他事务完成并释放锁定的数据。
3. 杀死会话进程:如果无法等待其他事务完成或无法识别锁定的来源,可以使用以下命令杀死锁定会话进程:
```
ALTER SYSTEM KILL SESSION 'sid, serial#';
```
其中'sid'和'serial#'是锁定会话的标识符,在V$SESSION视图中可以找到。
4. 重启数据库实例:如果数据长时间被锁定或无法解锁,可以考虑重启整个数据库实例来释放锁定的数据。
但是,这种解锁方法应该在其他方法失败后才使用,并且需要小心处理,避免数据丢失或影响其他正在进行的操作。
需要注意的是,解锁数据可能会引起数据一致性问题,必须谨慎使用。
在进行任何解锁操作之前,建议先备份数据以防止意外情况发生。
oracle解锁用户
oracle解 锁 用 户
பைடு நூலகம்1、通常我们遇到oracle用户密码输入多次错误,那么改用户就会变锁定,那么解决方法很简单,如下: 使用plsql工具sys用户登录(亦可dos命令输入:sqlplus / as sysdba ) 解锁 ALTER USER 用户名 ACCOUNT UNLOCK; 2、那么遇到这种用户会被锁的情况,我们可以设置用户密码无限次尝试登录,而该用户不会被锁定: ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED; 3、另外,做项目运维的小伙伴经常遇到数据库用户密码过期的情况,要定期去修改密码很麻烦,那么我们可以设置用户密码不过期: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
oracle account is locked-的解决办法
ORA-28000: the account is locked-的解决办法ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba; 第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;第二种ALTER USER username ACCOUNT UNLOCK;第三种在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。
解决办法:新装完Oracle10g后,用scott/tiger测试,会出现以下错误提示:oracle10g the account is lockedoracle10g the password has expired原因:默认Oracle10g的scott不能登陆。
解决:(1)conn sys/sys as sysdba; //以DBA的身份登录(2)alter user scott account unlock;// 然后解锁(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了在运行里面输入cmd在DOS模式下输入sqlplus,以system用户名登录,密码是刚装oracle时自己填写的密码orcl,登录进去以后。
SQL> conn sys/sys as sysdba; (分号是必须的但是我是以system登录的所在这不应该写connsys/sys as sysdba应该写conn system/orcl as sysdba;)Connected.SQL> alter user scott account unlock;User altered.SQL> commit;Commit complete.SQL> conn scott/tiger//请输入新密码,并确认后OKPassword changedConnected.这时再到plsql developer里面以scott/tiger登录就可以了。
oracle账户被锁解决方案
oracle账户被锁解决方案一、【方法1】今天进使用orcle中,发现系统中,system账户登录里提示账户被锁定,后来查了查资料,问题解决,方法如下:Microsoft Windows[版本 5.2.3790](C) 版权所有 1985-2003 Microsoft Corp.C:\Documents and Settings\Administrator>sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on 星期三 6月 24 10:43:39 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn /as sysdba已连接。
SQL> alter user system account unlock;用户已更改。
SQL> exit从 OracleDatabase 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 断开C:\Documents and Settings\Administrator>sqlplusSQL*Plus: Release 10.2.0.1.0 - Production on 星期三 6月 24 10:45:26 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved.请输入用户名: system输入口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>至此账户解锁成功:)二、[方法2]前几天突然发现oracle system用户又被锁住了!在用上次哪儿方法,也不能解开了,在网上又寻找了几次,又发现两个方法可以用。
oracle 解除账户锁定规则
标题:Oracle 解除账户锁定规则一、背景介绍Oracle数据库作为一种重要的关系型数据库管理系统,广泛应用于各行各业的信息管理和数据存储中。
在使用Oracle数据库的过程中,经常会碰到账户被锁定的情况,这给数据库管理人员带来了一定的困扰。
为了解决这一问题,Oracle提供了一定的解除账户锁定规则。
二、账户锁定的原因1. 输入错误超过一定次数2. 管理员手动锁定账户3. 其他未知原因导致的账户锁定三、账户锁定的解除规则1. 通过重置密码解除锁定当账户因为密码输入错误次数过多被锁定时,可以通过重置密码解除锁定。
具体操作步骤如下:(1)使用管理员账户登入Oracle数据库;(2)执行ALTER USER username ACCOUNT UNLOCK语句,将被锁定的账户解锁;(3)执行ALTER USER username IDENTIFIED BY new_password语句,重置该账户的密码。
2. 等待一定时间自动解锁当账户被锁定时,可以选择等待一定时间让系统自动解锁账户。
Oracle默认的自动解锁时间为30分钟,当超过这个时间后,系统会自动解锁账户。
3. 通过SYS用户解锁在特殊情况下,可以使用SYS用户来解锁被锁定的账户。
操作步骤如下:(1)使用SYS用户登入Oracle数据库;(2)执行ALTER USER username ACCOUNT UNLOCK语句,将被锁定的账户解锁。
四、账户锁定规则的设置和管理1. 设置账户锁定策略为了保障数据库的安全性,可以设置账户锁定策略,限制密码错误次数并设置账户锁定时间。
可以通过以下SQL语句设置账户锁定策略:ALTER PROFILE profile_name LIMIT F本人LED_LOGIN_ATTEMPTS n;ALTER PROFILE profile_name LIMIT PASSWORD_LOCK_TIME t;2. 监控账户锁定情况数据库管理员应当定期查看和监控数据库中账户的锁定情况,及时发现并处理异常情况,保障数据库的正常运行。
oracle锁表查询和解锁方法
oracle锁表查询和解锁方法Oracle数据库提供了多种锁表查询和解锁方法,主要包括以下几种:1.查询锁表的方法:-查询数据库中的锁表信息:可以使用`V$LOCKED_OBJECT`视图来查询数据库中当前被锁定的对象和会话信息。
-查看表的锁信息:可以使用`DBA_LOCK`视图来查看指定表被锁定的信息,包括锁定的用户、锁定的模式、锁定的操作等。
-查看表上的锁信息:可以使用`DBA_OBJECTS`视图来查询指定表上的锁信息,包括锁定的用户、锁定的模式、锁定的操作等。
2.解锁表的方法:- 杀死会话:使用`ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;`语句可以立即终止指定会话。
其中,`sid`和`serial#`是要终止会话的标识符。
- 释放表锁:使用`ALTER TABLE table_name ENABLE TABLE LOCK`语句可以释放指定表的锁。
其中,`table_name`是要释放锁的表名。
- 修改会话状态:使用`UPDATE V$SESSION SET STATUS = 'KILLED' WHERE SID = sid AND SERIAL# = serial#;`语句可以将指定会话的状态修改为`KILLED`,从而间接释放表锁。
其中,`sid`和`serial#`是要释放锁的会话的标识符。
3.避免锁表的方法:-尽量使用短事务:短事务可以减少对资源的占用时间,从而降低锁表的风险。
-尽量使用较小的粒度锁:使用较小的粒度锁可以减少锁表的范围,提高并发性能。
-合理调整事务隔离级别:使用合适的事务隔离级别可以在保证数据一致性的前提下减少锁表的发生。
-分表、分区表:将大表进行分表或分区,可以减少锁表的范围,提高并发性能。
4.监控锁表情况:- 监控锁表的工具:可以使用Oracle提供的监控工具,如AWR Report、ASH Report、Enterprise Manager等,来实时监控锁表情况。
oracle数据库死锁解决方法
oracle数据库死锁解决方法
1.优先处理的方法
(1)改变死锁的锁模式
检查哪些锁是行级锁、表级锁或表空间级锁,针对这些锁可以:
1. 将行级锁转换为表级锁或表空间级锁;
2. 将低级锁转换为高级锁;
(2)定位死锁的用户
检查哪些用户下的会话产生死锁,并从此用户中终止其中某一会话,释放其锁资源,就可以结束死锁。
2.预防性方法
(1)避免给表加存储过程同时加多个锁
在更新表和写存储的内容的时候,尽量避免给表加多个锁,这会显著的增加死锁的几率。
(2)避免给表同时加读锁和写锁
同时加入读锁和写锁也会导致死锁,尽可能避免此类锁类型的使用。
(3)避免使用自定义临时表
在调用存储过程过程中,尽量避免使用自定义临时表,因为它虽然避免了很多表间关系,但在给表加锁时容易出现死锁。
3.实施死锁检测与预防
死锁检测和预防可以通过监控数据库的sql命令和页面,来及时的检测当前的死
锁情况,通过检查死锁情况,以及死锁事件的日志来进行分析,从而找出死锁的根本原因。
oracle锁表查询和解锁方法
oracle锁表查询和解锁方法## Oracle 锁表查询和解锁方法Oracle数据库是当今最流行的关系型数据库系统,其中有一种十分重要的特性就是它可以锁定数据库表,防止别人修改该表的内容,又被称为并发控制。
下面我们分别来看看Oracle中查询和解锁表的方法:### 一、Oracle中查询锁表方法1. 使用系统内置函数查询锁表- 以DBA权限登录,使用“select * from v$lock;”查询锁表状态;- 使用“SELECT l.sid, l.type, l.mode, l.id1,ername, s.osuser, s.machine FROM v$lock l,v$session s WHERE l.sid=s.sid;”查询出锁表具体信息,以便确定锁表的具体情况和引起表锁定的原因。
2. 使用dba_dml_locks视图查看锁表- 以DBA账号登录,使用“select * fromdba_dml_locks;”命令查看锁表的状态;- 使用“select * f rom dba_dml_locks where name='表名' and mode_held='锁定模式';”命令查看表名称以及表上锁定的模式。
### 二、Oracle中解锁表方法1. 强制执行表解锁:- 使用“ALTER SYSTEM KILL SESSION'sid,serial#' IMMEDIATE;”命令强制杀死会话占用表的会话,以释放表上的锁定;- 使用“select * from v$lock;”命令查询是否成功释放表的锁定。
2. 将表上锁定的模式转换- 使用Oracle的“alter system 的 kill session 命令”可以将表上的锁定模式转换,将表上的某个类型的锁定模式被另外一种更安全的锁定模式替换; - 使用“Select * from v$lock;” 命令查询是否转换成功。
Oracle锁定和解锁用户的命令
Oracle锁定和解锁⽤户的命令
转:/art/200910/158576.htm
在DBA的⽇常⼯作中,经常遇到为Oracle⽤户解锁的操作;这篇⽂章给出在命令⾏下进⾏Oracle⽤户解锁的操作⽅法,通过⼏条简单的解锁语句就能完成此项⼯作。
下⾯是具体的过程:
默认的scott⽤户是被锁定的,先解锁就能登陆上了。
使⽤下⾯的语句解锁scott:
alter user scott account unlock;
解锁之后可能会要求你该密码:
alter user scott identified by tiger;
再登陆:
sqlplus scott/tiger
就能登陆了
Oracle锁定和解锁⽤户的命令
SQL> conn /as sysdba
已连接。
//scott ⽤户在没有设定tieger默认密码时,登陆不上
锁定⽤户的⽅法:
SQL> alter user test account lock;
⽤户已更改。
-------test⽤户登陆数据库,失败了。
C:\>sqlplus test/test
ERROR:
ORA-28000: the account is locked
Oracle⽤户解锁的⽅法:
SQL> conn /as sysdba
SQL> alter user test account unlock;
⽤户已更改。
这样就完成了Oracle的⽤户解锁操作。
oracle11g用户被锁定the account is locked的解决办法
Oracle11g用户被锁定the account is locked的解决办法用SQL Plus登录时输入:conn scott/tiger给出提示:ERROR:ORA-28000: the account is locked解决方法:解决:(1)以DBA的身份登录另一个用户,输入:c:> sqlplus sys/test1234 as sysdba(2)为scott解锁,输入:alter user scott account unlock;给出提示:用户已更改。
SQL> conn scott/tigerERROR:ORA-28001: the password has expired更改scott 的口令新口令:(3)输入新的密码.测试、运行程序时,一般使用服务器上的oracle服务,2010年春节后第一天来上班,服务器整体down掉了,所以只好使用本机的oracle服务,是两年装的,连system的密码都不记得了。
首先,开启本地的oracle服务,开始-->设置-->按制面板-->管理工具-->服务按字母“O”很快找到oracle 相关的九个服务,OracleOraDb10g_home1TNSListener 服务一般是开着的,因为开发人员一般都要在自己的机子上使用客户端连接远程的数据库服务器,如果大家没有开就开一下吧。
OracleServiceORCL 服务,准确的说应该是OracleServiceSID服务,我的SID是的oracle默认的ORCL,所以就是OracleServiceORCL ,也开启,OK了。
其次,在NET Manager 中配置一个服务命名,记得以前在NET Manager中是会自动配置一个本地的服务命名的,好像是叫LOCAL,但是在oracle 10中没有,应该不会是我两年前删除了!那就自己配置吧,就那么几步,很简单了,到了最后测试,默认使用scott /tiger 进行测试,出现ora-280000 the account is locked 提示,换system /manager 也是ora-280000 the account is locked ,账号也锁定,看来得解决这个问题。
ORA-28000 the account is locked-的解决办法
ORA-28000: the account is locked-的解决办法ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;第二种ALTER USER username ACCOUNT UNLOCK;第三种在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。
解决办法:新装完Oracle10g后,用scott/tiger测试,会出现以下错误提示:oracle10g the account is lockedoracle10g the password has expired原因:默认Oracle10g的scott不能登陆。
解决:(1)conn sys/sys as sysdba; //以DBA的身份登录(2)alter user scott account unlock;// 然后解锁(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了在运行里面输入cmd在DOS模式下输入sqlplus,以system用户名登录,密码是刚装oracle时自己填写的密码orcl,登录进去以后。
SQL> conn sys/sys as sysdba; (分号是必须的但是我是以system登录的所在这不应该写conn sys/sys as sysdba应该写conn system/orcl as sysdba;)Connected.SQL> alter user scott account unlock;User altered.SQL> commit;Commit complete.SQL> conn scott/tiger//请输入新密码,并确认后OKPassword changedConnected.这时再到plsql developer里面以scott/tiger登录就可以了。
Oracle数据库账号被锁定解决方法
Oracle数据库账号被锁定解决⽅法在Oracle数据库操纵中,登录Oracle账号时提⽰失败,并且Oracle账号频繁被锁定。
造成此故障的原因是什么呢?本⽂就介绍了这⼀过程,经由过程慢慢排查我们就能找到该故障的原因了。
下⾯记录下查找这个题⽬的步调。
哄骗sqlplus或者sqldeveloper,查询账号被锁定的时候,相⼲语句如下:--批改当前会话的⽇期显⽰格局alter session set nls_date_format = ""yyyy-MM-dd hh24:mi:ss"";--查询被锁定账号的锁按时候username,lock_date dba_users where username like ""TRSEKPV65_DEMO"";⽐如这⾥的查询到的锁按时候为:20:03:03项⽬组常识库的oracle安装路径为:C:\devsoftware\oracle11g找到C:\devsoftware\oracle11g\diag\tnslsnr\DEV2-216\listener\trace\listener.log⽂件,该⽂件会记录oracle的⼀些跟踪信息找到该⽂件后,发明很⼤,⽆法⽤editplus打开。
把该⽂件上传到linux机械或者在windows机械⾼低载⼀个tail.exe法度,履⾏tail -20 listener.log号令,查看该⽂件的最后20⾏内容。
按照上⽅查询到的时候,在⽇记中找到对应的时候地位,可以定位到当前时候Oracle所履⾏的操纵。
01-8⽉ -2011 20:03:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=portalteam)(CID=(PROGRAM=D:\TRS\TRSGateway4.6\gwserver_x64\TrsAgent.exe)(HOST=DEV2-216)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=fe80::e816:9e03:60ac:fdaa%11)(PORT=13678)) * establish * portalteam * 0从上边可以看到,造成Oracle的账号被锁定的原因是由” TrsAgent.exe”过程造成的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle用户被锁定解决方法
分类:oracle管理2011-12-27 11:183692人阅读评论(0)收藏举报oraclelogindatesessionusersql
1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
2、查看具体的被锁时间
SQL> select username,lock_date from dba_users where username='TEST'; USERNAME LOCK_DATE TEST 2009-03-10 08:51:03
3、解锁
SQL> alter user test account unlock;
User altered.
4、查看是那个ip造成的test用户被锁
查看$ORACLE_HOME/network/admin/log/listener.log日志
10-MAR-2009 08:51:03 *
(CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HO ST=omstestdb)(USER=oraoms))) *
(ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49434)) * establish * lhoms * 0
10-MAR-2009 08:51:03 *
(CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HO ST=omstestdb)(USER=oraoms))) *
(ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49435)) * establish * lhoms * 0
这样可知是上面10.69.1.11的ip尝试多次失败登陆造成的被锁
注:
一般数据库默认是10次尝试失败后锁住用户
1、查看FAILED_LOGIN_ATTEMPTS的值
select * from dba_profiles where RESOURCE_NAME = 'FAILED_LOGIN_ATTEMPTS';
2、修改为30次
alter profile default limit FAILED_LOGIN_ATTEMPTS 30;
3、修改为无限次(为安全起见,不建议使用)
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;。