PLSQL多次登陆账户被锁和解锁

本文提供了一种简单的方法来解锁因多次输入错误密码而被锁定的PLSQL账户。通过使用管理员账户登录PLSQL Developer,并调整相关设置,可以轻松地解锁账户并重置密码。

今天电脑加域,桌面PLSQL感觉像被重装了一样,打开之后没有默认记录数据库账号与密码,然后自己还忘记了密码,多次尝试登陆之后,账户被锁。

搜了好久,终于搜到对应的解决方法:


解锁方法:

通过PLSQL工具解锁;

1、用管理员账户登录PLSQL Developer(登录名可以为system,选择类型的时候把Normal修改为Sysdba)。

2、左侧选择My Objects,查看Users文件夹。

3、选择Scott用户,右击点击”编辑“;

4、把“帐户被锁住”的勾去掉;(也可以修改密码)。

5、点击“应用”再点击“关闭”;

6、重新登录就可以通过验证了;



在PL/SQL中解锁表有多种方法: 1. **通过查询删除锁住的sessionserial#**: - 执行以下语句可查询被的表: ```sql select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; ``` - 执行以下语句可查询被的sessionserial#: ```sql select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time; ``` - 之后删除锁住的sessionserial# [^1]。 2. **在PL/SQL Developer界面操作**: 在用PL/SQL Developer操作Oracle数据库,若因突然重启电脑等情况导致表被,可在Tools->Sessions中看到PL/SQL正在运行的进程。选中某个进程,在该软件下方切换到Lock选项卡;若某个进程锁住了某张表,Lock选项卡中会列出来,选中进程,点击右键Kill掉该进程,即可解决表被锁住的问题 [^2]。 3. **通过命令行批量解锁**: - 先找到对应的sid进程点击关闭,也可通过以下语句查看被的表: ```sql SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name FROM v$process p, v$session a, v$locked_object b, all_objects c WHERE p.addr = a.paddr AND a.process = b.process AND c.object_id = b.object_id ``` - 然后使用以下命令行批量解锁: ```sql declare cursor mycur is select b.sid,b.serial# from v$locked_object a,v$session b where a.session_id = b.sid group by b.sid,b.serial#; begin for cur in mycur loop execute immediate ( 'alter system kill session '''||cur.sid || ','|| cur.SERIAL# ||''' '); end loop; end; ``` [^4]
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值