Не похоже, что база данных запущена или зарегистрирована на прослушивателе сети. Если база данных работала, вы должны увидеть несколько служб, перечисленных при запуске «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, подключающегося по сети, ваша строка подключения также выглядит неправильно сформированной; обычно оно должно включать имя службы (минимум) в дополнение к имени хоста. См. Здесь примеры: https://docs.oracle.com/en/database/oracle/oracle-database/18/sqpug/starting-SQL-Plus.html#GUID -A33231E7-9180-4544-A055-411209FD0363
sqlplus username@[//]host[:port][/service_name]
sqlplus pdb_admin@ubu-srv:1521/xepdb1
При этом Oracle не сертифицирован для Ubuntu Linux, поэтому результаты не гарантированы. Вы должны запустить это на CentOS, Red Hat или Oracle Linux. Полный список поддерживаемых Linux версий приведен здесь: https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/operating-system-checklist-for-oracle-database-installation-on-linux.html#GUID -E5C0A90E-7750-45D9-A8B C -C7319ED934F0