在Ubuntu 18.04服务器上安装Oracle Express Ediion 18c-连接问题
安装在Ubuntu 18.04服务器上安装Oracle Express Ediion 18c-连接问题,express,installation,connection,ubuntu-18.04,oracle18c,Express,Installation,Connection,Ubuntu 18.04,Oracle18c,安装 数据库版本:Oracle 18c XE 在运行于Virtual Machine Manager内部的Ubuntu 18.04服务器上 问题 安装Oracle XE 18c后,我以用户Oracle的身份登录并启动侦听器 lsnrctl start 当我尝试连接时,存在以下问题: A.使用: sqlplus / as sysdba # listener.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/ne
数据库版本:Oracle 18c XE
在运行于Virtual Machine Manager内部的Ubuntu 18.04服务器上 问题
安装Oracle XE 18c后,我以用户Oracle的身份登录并启动侦听器
lsnrctl start
当我尝试连接时,存在以下问题:
A.使用:
sqlplus / as sysdba
# listener.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora
# Generated by Oracle configuration tools.
DEFAULT_SERVICE_LISTENER = XE
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ubu-srv)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
# tnsnames.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_XE =
(ADDRESS = (PROTOCOL = TCP)(HOST = ubu-srv)(PORT = 1521))
=>
B.使用:
sqlplus oracle@ubu-srv as sysdba
lsnrctl status
=>
检查侦听器:
sqlplus oracle@ubu-srv as sysdba
lsnrctl status
=>
侦听器的内容。ora:
sqlplus / as sysdba
# listener.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora
# Generated by Oracle configuration tools.
DEFAULT_SERVICE_LISTENER = XE
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ubu-srv)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
# tnsnames.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_XE =
(ADDRESS = (PROTOCOL = TCP)(HOST = ubu-srv)(PORT = 1521))
tnsnames.ora的内容:
sqlplus / as sysdba
# listener.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora
# Generated by Oracle configuration tools.
DEFAULT_SERVICE_LISTENER = XE
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ubu-srv)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
# tnsnames.ora Network Configuration File: /opt/oracle/product/18c/dbhomeXE/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_XE =
(ADDRESS = (PROTOCOL = TCP)(HOST = ubu-srv)(PORT = 1521))
数据库似乎没有运行,或者它没有向网络侦听器注册。如果数据库正在运行,则在运行“lsnrctl status”时,应该会看到列出的几个服务,如下所示:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost.example.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/dbhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbhost.example.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=dbhost.example.com)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/XE/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "77f81bd10c818208e053410cc40aef5a" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "xepdb1" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully
您不需要为选项A运行侦听器,从同一主机连接,但需要设置ORACLE_SID环境变量以匹配要连接到的数据库(容器或可插拔数据库)的SID。要连接到容器数据库,以及手动启动所有数据库服务,您可以执行以下操作:
export ORACLE_SID=XE
sqlplus / as sysdba
对于选项B(通过网络连接),连接字符串的格式也不正确;除了主机名之外,它通常还应该包括一个服务名(最小值)。有关示例,请参见此处:
也就是说,Oracle没有通过Ubuntu Linux的认证,所以结果不能保证。您应该在CentOS、Red Hat或Oracle Linux上运行此功能。受支持的Linux版本的完整列表如下:侦听器没有列出任何服务名称,因为数据库很可能根本没有运行。您必须具有要连接的服务名称;你以后不会明白的。非常感谢你详细的回答。我尝试了两个版本的sqlplus connect,如您所解释的。第一个on导致
错误:ORA-12547:TNS:lost contact
,第二个ORA-12514:TNS:listener当前不知道连接描述符中请求的服务。我认为提示是lsnrctlstatus=>侦听器不支持上面列出的服务。但我不知道下一步该做什么。启动数据库。它没有运行,因此没有可连接的内容。这就是为什么侦听器说没有注册任何服务。如果数据库本身无法启动,请使用受支持的操作系统(不是Ubuntu)并重新安装。我将继续尝试在Ubuntu 18.04上安装。。与此同时,我会让这个问题悬而未决。