0

首先,我知道有很多类似的帖子,但我用谷歌搜索了很多,还没有找到这个特定问题的答案。

其次,我对 Oracle 很陌生(我是一名 SQL Server 人员),所以请耐心等待。

好的,几个月后,我有一个客户给了我一个 Oracle 数据库备份,以将其导入 Windows 10 上的 Oracle 18c XE,然后通过使用 ODP.Net 11.2 的 .Net 程序从中提取数据。我安装了 18c XE 和 ODP.Net,创建了一个用户/模式并使用 DBCA 导入了备份,所有这些都使用教程等。我可以连接到 SQL Developer 中的用户/模式并进行查询。我运行了我的 .Net 程序,一切都很好。

那时我可以连接到 SQL 并使用“sys as sysdba”来执行创建用户、授予权限等命令。但是现在当我几个月后登录以对新备份进行相同的练习时,我再也不能连接到 SQLPlus,总是为任何用户收到“ORA-12560: TNS:protocol adapter error”。其他一切仍然有效,但我需要 SQLPlus 删除用户/模式,以便导入新备份。客户的 IT 公司说他们没有接触过 Oracle,因为它只是在我的用户帐户中设置的,除了我之外没有其他人可以登录。

所以这是我到目前为止在搜索和阅读 SO 上的帖子时所做的检查。(我已将主用户和密码更改为下面的 mike,但已使用真实用户和密码进行了尝试)

  • 检查的服务:OracleOraDB18Home1TNSListener 和 OracleServiceXE 都在运行。

  • 运行“lsnrctl status”并得到以下内容,我认为它看起来不错(反正没有错误):

在此处输入图像描述

我的监听器和 tnsnames.ora 文件如下所示:

在此处输入图像描述

在此处输入图像描述

  • ORACLE_SID = XE
  • ORACLE_HOME = C:\app\mike\product\18.0.0\dbhomeXE
  • 使用“sqlplus mike/mike@XE”尝试了 SQLPLus,尽管它给了我一个错误“SP2-0310:无法打开文件“LOGIN.SQL”,但它让我登录了
  • 使用“sqlplus sys as sysdba/mike@XE”尝试了 SQLPLus,但再次出现 TNS-12560 错误。

最后,我查看了 C:\app\mike\product\18.0.0\diag\tnslsnr\APP01\listener\alert 中的侦听器日志文件,得到了以下内容,我也认为它看起来是正确的:

<msg time='2020-05-29T12:38:48.315+10:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='APP01'
 host_addr='fe80::1dfb:94cd:7fac:9551%5' pid='25368'>
 <txt>29-MAY-2020 12:38:48 * service_update * xe * 0
 </txt>
</msg>

但是我仍然无法使用 sys 连接到 SQLPLus - 任何人都可以建议可能是什么问题以及如何解决它?我只需要能够登录以删除我创建的用户,这样我就可以导入新的备份,所以这非常令人沮丧!

TIA 提供任何帮助。

**** 编辑 ****

SQLNet.ORA 文件: 在此处输入图像描述

ORACLE_SID / ORACLE_HOME(尽管我在上面列出了这些) 在此处输入图像描述

4

0 回答 0