ORA-12154: 无法连接到 Windows 10 上的默认 Oracle XE 21c 数据库

ORA-12154: Can't Connect to Default Oracle XE 21c Database on Windows 10

我受够了。我只是无法让它工作。我在 Windows 10 桌面上安装了 Oracle XE 21c。一旦我以管理员身份 运行 安装文件,安装就可以了。我基本上都选择了默认的。

所以现在是 运行,并且 XE 为我创建了一个默认数据库。但是我在尝试使用 SQLPlus:

以 SYSTEM 身份连接时得到了这个

SQL*Plus: Release 21.0.0.0.0 - Production on Mon Nov 1 19:08:25 2021
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Enter user-name: SYSTEM
Enter password:
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified

我看了看,没有 tnsnames.ora 或 listern.ora 文件,所以我尝试创建它们,但我不确定它们是否正确。

C:\app\sysde\productc\dbhomeXE\network\admin\listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

C:\app\sysde\productc\dbhomeXE\network\admin\tnsnames.ora

LISTENER = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

XE = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

然后我停止了监听器如下lsnrctl stop

产生了这个:

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 61: Unknown error

侦听器 OracleOraDB21Home1TNSListener 不再是 运行 services.msc。当尝试重新启动它时,我得到这个...

Error 2: The system cannot find the file specified.

我的环境变量是:

  ORACLE_HOME=C:\app\sysde\productc\dbhomeXE\
  TNS_ADMIN=C:\app\sysde\productc\dbhomeXE\network\admin

我知道有很多“无法连接到 Oracle”的帖子。我已经尝试了其中的一些零碎部分,但 none 确实适合我的情况,而我尝试过的部分根本没有帮助。您必须允许我使用默认 XE 数据库并通过 GUI 连接到它的任何建议,例如 SQL 开发人员将非常有帮助。

根据文档,从 21c 开始,默认软件安装是只读主页布局,从 18c 开始就可用

https://docs.oracle.com/en/database/oracle/oracle-database/21/nfcon/read-only-oracle-home-default-366970591.html

所以默认情况下,sqlnet 配置文件不会位于 ORACLE_HOME/network/admin。

C:\oracle\productc\dbhomeXE\network\admin>dir
 Volume in drive C is System
 Volume Serial Number is EEB1-910D

 Directory of C:\oracle\productc\dbhomeXE\network\admin

13/10/2021  10:53 AM    <DIR>          .
13/10/2021  10:53 AM    <DIR>          ..
13/10/2021  10:51 AM    <DIR>          sample
13/10/2021  10:52 AM               263 sqlnet.ora.rooh
               1 File(s)            263 bytes
               3 Dir(s)  78,346,031,104 bytes free

C:\oracle\productc\dbhomeXE\network\admin>cd ..\..\..\homes\OraDB21Home1\network\admin

C:\oracle\productc\homes\OraDB21Home1\network\admin>dir
 Volume in drive C is System
 Volume Serial Number is EEB1-910D

 Directory of C:\oracle\productc\homes\OraDB21Home1\network\admin

13/10/2021  10:54 AM    <DIR>          .
13/10/2021  10:54 AM    <DIR>          ..
13/10/2021  10:53 AM               656 listener.ora
13/10/2021  10:53 AM               465 sqlnet.ora
13/10/2021  10:53 AM               263 sqlnet21101310AM5351.bak
13/10/2021  02:51 PM               852 tnsnames.ora
               4 File(s)          2,236 bytes
               2 Dir(s)  78,345,871,360 bytes free

您不需要设置 ORACLE_HOME 或 TNS_ADMIN。您只需编辑 'homes' 区域中的文件即可。

Windows 团队

提供了完整的自上而下安装视频

https://youtu.be/DYleroLay5E