Oracle两类问题求助:ORA-28000账户锁定解决与11g重装卡住
我来帮你搞定这两个Oracle常见问题,都是实操中经常碰到的,一步步来就行:
解决Oracle ORA-28000: the account is locked错误
这个错误就是你的账户被锁定了,大概率是多次登录失败触发了安全策略,或是DBA手动锁了账户,解决步骤很直接:
- 先用有DBA权限的账户(比如sys或者system)登录Oracle,SQL*Plus命令行的话就输:
sqlplus / as sysdba - 先确认下账户的状态,看看是不是真的锁了:
这里把SELECT username, account_status FROM dba_users WHERE username = '你的账户名';你的账户名换成实际要解锁的账户,比如SCOTT - 解锁账户,要是需要重置密码的话可以一起操作:
ALTER USER 你的账户名 ACCOUNT UNLOCK; -- 要是忘了密码,加这句重置,把新密码换成你要设的 ALTER USER 你的账户名 IDENTIFIED BY 新密码; - 最后再查一遍账户状态,确认显示
OPEN就搞定了:SELECT username, account_status FROM dba_users WHERE username = '你的账户名';
要是经常出现锁账户的情况,还可以调整安全策略,比如放宽失败登录次数或者缩短锁定时间:
-- 允许10次失败登录,默认可能是5次 ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 10; -- 锁定1小时(单位是天,1/24就是1小时),默认可能是1天 ALTER PROFILE DEFAULT LIMIT PASSWORD_LOCK_TIME 1/24;
解决Oracle 11g卸载后重新安装卡住的问题
这种情况99%是卸载不干净,残留的文件、注册表或者服务导致安装程序冲突了,得彻底清干净再装:
- 第一步:卸载所有Oracle相关程序
打开控制面板的「程序和功能」,把所有带Oracle字样的程序都删掉,包括数据库、客户端、安装器这些,跟着卸载向导走完流程。 - 第二步:删掉Oracle相关目录
- 删掉原来的安装目录,比如默认的
C:\app,要是提示文件被占用,重启电脑再删就行。 - 删掉系统盘的
C:\Program Files\Oracle和C:\Program Files (x86)\Oracle(64位系统才有这个)。 - 删掉用户目录下的Oracle文件夹,比如
C:\Users\你的用户名\AppData\Roaming\Oracle和C:\Users\你的用户名\AppData\Local\Oracle,AppData是隐藏文件夹,得先显示隐藏文件。
- 删掉原来的安装目录,比如默认的
- 第三步:清理注册表
按下Win+R输入regedit打开注册表编辑器,找到下面这些键值删掉:HKEY_LOCAL_MACHINE\SOFTWARE\Oracle- 64位系统还要删
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oracle HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下所有以Oracle开头的服务项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application里的Oracle相关项
注意:改注册表前最好备份一下,别误删其他东西。
- 第四步:清理环境变量
右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,删掉系统变量里的ORACLE_HOME、ORACLE_SID,再把PATH里所有包含Oracle路径的部分删掉。 - 第五步:重启后重新安装
把上面的步骤都做完,重启电脑,然后运行Oracle 11g的安装程序,选全新安装就行,建议用默认路径或者换个新路径,避免残留影响。
内容的提问来源于stack exchange,提问作者jalil




