@skoch244

Хочу сделать архивацию логов и после команды SHUTDOWN IMMEDIATE отваливается соединение, почему?

Вхожу в докер контейнер на базу данных с помощью команды:
docker exec -i oracle19c sqlplus sys/123456@//localhost:1521/ORCLCDB as sysdba


Далее ввожу команду:
SHUTDOWN IMMEDIATE;

Взято из мануала:
https://www.o2b.ru/%D0%B0%D1%80%D1%85%D0%B8%D0%B2%....

После этого соединение падает:
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
Warning: You are no longer connected to ORACLE.

Помогает только перезагрузка контейнера, повторное соединение заканчивается ошибкой:
SQL> connect sys/123456@ORCLCDB as sysdba
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor

В чем может быть ошибка?
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Тебе для архивации логов поднятый oracle не нужен. Докер поднят. Вот подключайся к консоли ssh и копируй файлы куда надо.
Ответ написан
Lorien_Elf
@Lorien_Elf
Keep calm and drop database
Два пути.
1. Подключайтесь к БД локально, зайдя внутрь контейнера и выполнив sqlplus / as sysdba
как и написано в мануале по ссылке.

2. Вы выключили базу данных и логично, что больше не можете к ней подключиться. Вам нужно в listener.ora добавить запись о статической регистрации, например так:

SID_LIST_LISTENER    = 
   (SID_LIST = 
     (SID_DESC = 
       (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1) 
       (SID_NAME = ORCLCDB) 
     ) 
   ) 
 LISTENER = 
   (DESCRIPTION_LIST = 
     (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP) (HOST = my-host-name.my-doamin.ru) (PORT = 1521)) 
   ) 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1521)) 
   ) 
 )


И перезапустить прослушиватель командой
lsnrctl stop
lsnrctl start
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы