【问题标题】:sqlplus not connecting as "/ AS SYSDBA"sqlplus 未连接为“/AS SYSDBA”
【发布时间】:2021-11-22 11:05:17
【问题描述】:

我安装了 oracle 数据库速成版 18c。我使用的是 Windows 10。

当我在sqlplus中对用户名执行“/ AS SYSDBA”时,它给出了以下错误。

错误:
ORA-28056: 将审核记录写入 Windows 事件日志失败
ORA-28056: 将审核记录写入 Windows 事件日志失败

当我在下面执行时

Enter user-name: SYS AS SYSDBA
Enter password: <password I gave on installation>

它在错误下方打印

错误:
ORA-28056:将审核记录写入 Windows 事件日志失败
OSD-32765:未找到消息 32765;产品=关系型数据库;设施=SOSD
操作系统错误:(操作系统 5)访问被拒绝。
ORA-28056:将审核记录写入 Windows 事件日志失败
OSD-32765:未找到消息 32765;产品=关系型数据库;设施=SOSD
操作系统错误:(操作系统 5)访问被拒绝。

当我尝试在下面执行时

Enter user-name: SYSTEM
Enter password: <password I gave on installation>

它在错误下方打印

错误:
ORA-01034:ORACLE 不可用
ORA-27101:共享 内存领域不存在
进程 ID:0
会话 ID:0 序列号:0

那么我怎样才能连接到数据库呢?

注意:我从事件查看器中清除了所有事件日志。没用!!

此外,默认情况下没有设置环境变量。所以我设置了

set ORACLE_HOME=C:\app\user\product\18.0.0\dbhomeXE
set ORACLE_SID=CLRExtProc

上面设置后会出现以下错误

错误:
ORA-12560: TNS: 协议适配器错误

所以请帮我连接到数据库

谢谢!!!

【问题讨论】:

  • "set ORACLE_SID=CLRExtProc" 肯定不是正确的值。您安装了 express 版本,所以您的 ORACLE_SID 是 XE。
  • 更改为设置 ORACLE_SID=XE。仍然出现同样的错误

标签: oracle sqlplus


【解决方案1】:

可能你没有正确配置sqlnet.ora文件

尝试运行这个

C:\>sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Wed Aug 26 15:49:17 2020
Version 18.4.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied

如果您收到此错误,请打开SQLNET.ORA 文件并将以下参数AUTHENTICATION_SERVICES 值编辑为NTS。保存它。

SQLNET.AUTHENTICATION_SERVICES= (NONE)
to
SQLNET.AUTHENTICATION_SERVICES= (NTS)

再试一次,只要 Windows 服务正在运行,它应该可以工作。不要忘记设置ORACLE_SID 环境变量

set ORACLE_SID=sid 

其中sid 是您要连接的数据库的名称。终于

C:\>sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Wed Aug 26 15:49:34 2020
Version 18.4.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
SQL>

更新

数据库无法写入 Windows 事件日志。

  1. 打开事件查看器,单击开始,单击控制面板,单击性能和维护,单击管理工具,然后双击事件查看器。 您必须以管理员或管理员组成员的身份登录才能释放事件日志。

  2. 然后使用以下任何选项:

当日志已满时,它会停止记录新事件。清除日志是释放日志并开始记录新事件的一种方法。您还可以通过覆盖旧事件释放日志并开始记录新事件。要覆盖事件,请在“操作”菜单上单击“属性”,然后根据需要单击“覆盖事件”。这可确保所有新事件都写入日志,即使日志已满。

您还可以通过增加最大日志大小来开始记录新事件。要增加日志大小,请在操作菜单上单击属性,然后增加最大日志大小。

【讨论】:

  • SQLNET.AUTHENTICATION_SERVICES= (NTS) 它已经存在。仍然没有连接
  • Oracle 服务在运行吗?
  • 是的,当我检查服务 oracleXE 正在运行时
  • 看来oracle软件的用户所有者没有权限写入审计文件。您是否使用管理员用户安装 Oracle?
  • 我更新了答案,可能事件日志已满
猜你喜欢
  • 1970-01-01
  • 2021-02-12
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2013-01-15
  • 1970-01-01
相关资源
最近更新 更多