系统帐户被锁定,权限不足,无法以 sysdba 身份登录

EAm*_*mez 2 oracle oracle-10g sqlplus sysdba

我在网上进行了研究,但找不到与我完全相同的情况,所以我发布了此消息。

我通过远程桌面连接连接到远程服务器(Win2k3 服务器)。该服务器已安装(从 v$version 选择 *):

  • Oracle 数据库 10g 企业版版本 10.2.0.5.0 - 产品
  • PL/SQL 版本 10.2.0.5.0 - 生产
  • 核心10.2.0.5.0生产
  • 适用于 32 位 Windows 的 TNS:版本 10.2.0.5.0 - 生产
  • NLSRTL 版本 10.2.0.5.0 - 生产

运行这两个句子都会返回错误:

c:\> sqlplus
SQL> conn / as sysdba
Insufficient privileges
SQL> connect system/****
Account locked
Run Code Online (Sandbox Code Playgroud)

远程计算机是安装数据库的位置,因此我没有连接到远程数据库。Windows 用户帐户属于 Administrator 和 Ora_DBA Windows 组。

Db 只有一个可用用户(我们开发的应用程序使用的用户),但它没有足够的权限来更改 SYSTEM 帐户并将其解锁。

我不知道我还能做什么,因为我无法以管理员身份连接到 de db。我希望我已经为我的问题提供了足够的数据,如果我遗漏了什么,请询问。

编辑:我再次检查了 Windows 用户成员资格:管理员、ora_dba、用户和“远程工作场所用户”(希望我已经正确翻译了最后一项)。 PWD%ORACLE_SID%.ora文件不存在(假设这是正确的)。

EDIT2:我正在连接到本地数据库。我发现 3 个已安装的 SQLPLUS:一个来自 Oracle Forms 6i(是的,我知道它确实是旧版本),另一个来自 Oracle 10 客户端,最后一个来自 Oracle 10 DB。HKLM/SOFTWARE/ORACLE正如我在评论中读到的那样,我不知道如何在 中查找 ORACLE_HOME 。在注册表中,我找到的所有条目都指向 Oracle Forms 文件夹。我尝试使用完整路径运行sqlplus,sqlplus属于数据库安装,最后我已经连接conn / as sysdba并运行了解锁帐户语句,所以问题解决了,因为我的目标是解锁系统帐户。

Bal*_*app 5

Windows 用户帐户属于 Administrator 和 Ora_DBA Windows 组。

请仔细检查这一点,因为当您不是 ora_dba 组的成员时,您会收到上述错误。

检查%ORACLE_HOME%/network/admin/sqlnet.ora以下行:

SQLNET.AUTHENTICATION_SERVICES=(NTS)

如果将其设置为NONE,则会禁用使用 登录/ as sysdba,但会导致ORA-01017: invalid username/password; logon denied错误。

最后,SYS密码存储在数据库外部的一个文件中,在 Windows 上是%ORACLE_HOME%/database/PWD%ORACLE_SID%.ora. 您可以重新创建它(提供新的 SYS 密码):

orapwd file=%ORACLE_HOME%/database/PWD%ORACLE_SID%.ora force=y

之后,您应该能够使用给定的密码登录:

connect sys/password as sysdba

  • 并不是说“其他版本的 sqlplus 不可靠”,而是在查找相关配置文件时不知道“谁先使用”。我不确定您如何确定 ORACLE_HOME 未定义。在 Windows 中,您必须检查注册表 (HKLM\SOFTWARE\ORACLE) 以及系统设置。您还应该注意到(fwiw)Forms 6i 和 db 10.2 都早已不再支持。 (2认同)