ora -28000 the account is locked

本文介绍了当遇到Oracle数据库账户被锁定的问题时,如何通过三种不同的方法解锁账户,包括使用PL/SQL Developer图形界面操作和SQL命令行方式。

ORA-28000: the account is locked

来源于:http://bbs.youkuaiyun.com/topics/390380762

第一步:使用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 locked
        oracle10g 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//请输入新密码,并确认后OK
Password changed

Connected.



<think>首先,用户的问题是:“ORA-28000 the account is locked solution”,意思是他们遇到了Oracle数据库错误ORA-28000,账户被锁定,需要解决方案。 从系统指令中,我需要: - 使用$...$格式表示行内学表达式,但在这个上下文中,可能没有学表达式,所以我会忽略这一点。 - 独立公式用$$...$$,但同样,可能不适用。 - LaTeX语法正确:确保任何学部分正确,但这里主要是文本。 - 使用中文回答:整个回答要用中文。 - 生成相关问题:在回答末尾添加相关问题。 - 引用中添加引用标识:从提供的引用中引用时,在末尾添加[^1]等。 提供的引用: - 引用[1]: 关于ORA-00020等错误的解决方案,包括更改Oracle账户和设置ORACLE_SID。 - 引用[2]: 关于ORA-12012和ORA-29280错误,涉及目录路径无效。 - 引用[3]: 直接解决ORA-28000错误:解锁DBSNMP用户,更改密码,然后运行emca命令。 - 引用[4]: 关于Database Control启动问题的故障排除。 用户的问题是ORA-28000,所以引用[3]最相关,因为它直接提供了解决方案。 用户说:“我想用户希望解决Oracle数据库账户被锁定的问题”,这确认了焦点是ORA-28000。 所以,我的回答应该: - 结构清晰:逐步指导用户解决问题。 - 保证真实可靠:基于引用[3]的信息。 - 使用中文。 步骤: 1. **确认错误**:解释ORA-28000错误。 2. **解决方案**:提供解锁账户的步骤。 3. **引用**:在适当的地方添加引用标识。 4. **生成相关问题**:在末尾添加相关问题。 从引用[3]: - 检查DBSNMP用户是否被锁定。 - 如果锁定,解锁:ALTER USER DBSNMP ACCOUNT UNLOCK; - 更改密码:ALTER USER DBSNMP IDENTIFIED BY XXXX;(其中XXXX是新密码) - 然后运行emca命令:emca -config dbcontrol db -repos create 这似乎是针对Database Control的,但ORA-28000可以发生在任何账户上。用户可能指定了账户,但问题中是通用的。所以,我应该先给出通用解决方案,然后如果有必要,提到特定账户。 在Oracle中,ORA-28000通常发生在用户尝试登录但账户被锁定时。解决方案是: - 以SYS或SYSDBA权限登录。 - 解锁账户:ALTER USER username ACCOUNT UNLOCK; - 可能需要更改密码。 在引用[3]中,是针对DBSNMP用户,因为它是OEM相关的。但用户的问题没有指定账户,所以我可以先给出通用方法。 为了全面: - 解释错误原因。 - 提供解锁步骤。 - 如果账户是DBSNMP,建议运行emca命令以修复OEM。 但用户可能没有指定账户,所以我应该从通用开始。 最后,生成相关问题: - 基于主题,如Oracle账户管理、其他常见错误等。 回答结构: 1. **介绍错误**:简要解释ORA-28000错误。 2. **解决方案步骤**: - 步骤1: 以SYSDBA权限登录。 - 步骤2: 检查并解锁账户。 - 步骤3: 更改密码(可选)。 - 步骤4: 如果是特定账户如DBSNMP,运行emca命令。 3. **引用**:在描述步骤时引用[3]。 4. **相关问题**:在末尾添加。 确保语言中文。</think>### ORA-28000: the account is locked 解决方案 ORA-28000 错误表示 Oracle 数据库中的某个用户账户被锁定,通常由于多次登录失败或管理员手动锁定导致。这会导致用户无法连接数据库。以下是基于可靠来源的逐步解决方案,请以管理员权限(如 SYSDBA)操作数据库。 #### 步骤-by-步骤解决方案 1. **以 SYSDBA 权限登录数据库** 使用 SQL*Plus 或其他数据库工具,以 `SYS` 或具有 SYSDBA 权限的用户登录。确保设置正确的 `ORACLE_SID`(对于多实例环境): ```bash sqlplus / as sysdba ``` 如果遇到权限问题,参考引用[1]中关于账户和实例设置的解决方案[^1]。 2. **检查并解锁被锁定账户** 首先,查询被锁定的账户(例如,用户名为 `DBSNMP`,但可能是任何账户): ```sql SELECT username, account_status FROM dba_users WHERE account_status LIKE '%LOCKED%'; ``` 如果账户被锁定,执行解锁命令(以 `DBSNMP` 为例): ```sql ALTER USER DBSNMP ACCOUNT UNLOCK; ``` 这直接解决 ORA-28000 错误的核心问题[^3]。 3. **更改账户密码(可选但推荐)** 为防止安全风险,建议重置密码: ```sql ALTER USER DBSNMP IDENTIFIED BY <新密码>; ``` 将 `<新密码>` 替换为强密码(例如 `NewPassword123!`)。 4. **如果涉及 Oracle Enterprise Manager (OEM),运行配置工具** 如果锁定账户是 `DBSNMP`(常见于 OEM),需重新配置 Database Control: ```bash emca -config dbcontrol db -repos create ``` 按提示输入数据库信息(如 SID、端口等)。此步骤修复 OEM 相关的启动问题,引用[4]提供了故障排除细节[^4]。 注意:如果遇到目录路径错误(如 ORA-29280),检查文件权限或参考引用[2][^2]。 5. **验证解决方案** 重新登录测试账户: ```bash sqlplus DBSNMP/<新密码> ``` 如果不再报错 ORA-28000,表示问题已解决。 #### 注意事项 - **原因分析**:账户锁定通常由多次失败登录、密码过期或安全策略触发。建议定期审查 `DBA_USERS` 视图。 - **预防措施**:设置合理的 `FAILED_LOGIN_ATTEMPTS` 参,并监控数据库警报日志。 - **可靠性说明**:本方案基于 Oracle 官方文档和常见实践[^3][^4]。如果问题持续,检查数据库版本兼容性或联系 Oracle 支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值