reiniciar Oracle 23c dentro del contenedor acoplable provoca el bloqueo del oyente

reiniciar Oracle 23c dentro del contenedor acoplable provoca el bloqueo del oyente

Estoy usando el contenedor Docker gratuito Oracle 23c (mira aquí) para ayudar a proporcionar un entorno de desarrollo.

Como parte de la configuración del entorno, estoy poniendo scripts y SQL para /docker-entrypoint-initdb.d/startupusar la configuración en mi archivo docker-compose.yml.

Uno de esos scripts consiste en configurar el parámetro COMPATIBILIDAD ( ALTER SYSTEM SET COMPATIBLE = '19.0.0' SCOPE=SPFILE;), que, después de configurarlo, requiere reiniciar la base de datos.

En una instalación de base de datos de servidor, ejecutaría mi SQL para configurar la compatibilidad, seguido de algo como lo siguiente:

echo -e "shutdown immediate \n startup mount" | sqlplus -s / as sysdba

para reiniciar la base de datos.

Sin embargo, cuando hago esto en el contenedor de la ventana acoplable (ya sea que lo haga automáticamente como se describe anteriormente o conectándome manualmente a sqlplus en el contenedor y ejecutando los mismos comandos), una vez que la base de datos se ha reiniciado, el listado regresa con una conexión bloqueada, y ya no puedo conectarme a la base de datos.

docker exec -ti app_db_1 lsnrctl statusda lo siguiente:

LSNRCTL para Linux: Versión 23.0.0.0.0 - Lanzamiento para desarrolladores el 14 de septiembre de 2023 08:27:40

Copyright (c) 1991, 2023, Oráculo. Reservados todos los derechos.

Conexión a (DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_FREE))) ESTADO del OYENTE ------------------------ Alias ​​OYENTE Versión TNSLSNR para Linux: Versión 23.0.0.0.0 - Fecha de inicio de lanzamiento para desarrolladores
14-SEP-2023 08:27:37 Tiempo de actividad 0 días 0 h. 0 min. 2 segundos Nivel de seguimiento desactivado Seguridad ACTIVADA: Autenticación del sistema operativo local SNMP APAGADO Servicio predeterminado
FREE Archivo de parámetros de escucha
/opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora Archivo de registro de escucha
/opt/oracle/diag/tnslsnr/854ac05c3c0f /listener/alert/log.xml Resumen de puntos finales de escucha...
(DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOLO=ipc)(LLAVE=EXTPROC_FOR_FREE)))
(DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOLO=tcp)(HOST=0.0.0.0) (PORT=1521))) Resumen de servicios... El servicio "GRATIS" tiene 1 instancia(s). Instancia "GRATIS", estado BLOQUEADO, tiene 1 controlador(es) para este servicio... El servicio "PLSExtProc" tiene 1 instancia(s). La instancia "PLSExtProc", estado DESCONOCIDO, tiene 1 controlador(es) para este servicio... El comando se completó correctamente

tenga en cuenta la Instance "FREE", status BLOCKEDsección de la salida.

¿Cómo puedo reiniciar la base de datos mediante programación dentro del contenedor sin que esto suceda?

ACTUALIZACIÓN: iniciar sesión y ejecutar el reinicio muestra interactivamente lo siguiente:

ORA-00201: archivo de control versión 23.0.0.0.0 incompatible con ORACLE versión 19.0.0.0.0 ORA-00202: archivo de control: '/opt/oracle/oradata/FREE/control01.ctl'


Antes de reiniciar, lsnrctl statusdevuelve esto:

LSNRCTL para Linux: Versión 23.0.0.0.0 - Lanzamiento para desarrolladores el 14 de septiembre de 2023 08:32:57

Copyright (c) 1991, 2023, Oráculo. Reservados todos los derechos.

Conexión a (DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_FREE))) ESTADO del OYENTE ------------------------ Alias ​​OYENTE Versión TNSLSNR para Linux: Versión 23.0.0.0.0 - Fecha de inicio de lanzamiento para desarrolladores
14-SEP-2023 08:32:46 Tiempo de actividad 0 días 0 h. 0 min. 10 segundos Nivel de seguimiento desactivado Seguridad ACTIVADA: Autenticación del sistema operativo local SNMP APAGADO Servicio predeterminado
FREE Archivo de parámetros de escucha
/opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora Archivo de registro de escucha
/opt/oracle/diag/tnslsnr/05cf8b8b6d41 /listener/alert/log.xml Resumen de puntos finales de escucha...
(DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOLO=ipc)(LLAVE=EXTPROC_FOR_FREE)))
(DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOLO=tcp)(HOST=0.0.0.0) (PORT=1521))) Resumen de servicios... El servicio "GRATIS" tiene 1 instancia(s). Instancia "GRATIS", estado LISTO, tiene 1 controlador(es) para este servicio... El servicio "PLSExtProc" tiene 1 instancia(s). La instancia "PLSExtProc", estado DESCONOCIDO, tiene 1 controlador(es) para este servicio... El comando se completó correctamente

Respuesta1

No puede establecer el compatibilityparámetro más bajo, sólo más alto; entonces esto estaba causando que la base de datos no se iniciara; y por lo tanto el oyente será bloqueado

información relacionada