Instalación de Oracle Database 23c Free Developer Release

Hace unas semanas fue liberada la versión Oracle Database 23c Free Developer Release, es una versión gratuita de Oracle Database 23c que ofrece a los desarrolladores acceso anticipado a las nuevas funciones de desarrollo de aplicaciones de Oracle Database 23c.

Vamos a realizar la instalación en nuestra virtual de Oracle Linux 8, con los siguientes pasos:

  • Habilitamos el canal de Oracle Linux 8 Developer
[root@localhost ~]# dnf install -y oraclelinux-developer-release-el8
Última comprobación de caducidad de metadatos hecha hace 0:13:45, el mié 07 jun 2023 12:35:54 CST.
Dependencias resueltas.
===================================================================================================================================================================================================================
 Paquete                                                            Arquitectura                            Versión                                       Repositorio                                         Tam.
===================================================================================================================================================================================================================
Instalando:
 oraclelinux-developer-release-el8                                  x86_64                                  1.0-7.el8                                     ol8_baseos_latest                                   16 k

Resumen de la transacción
===================================================================================================================================================================================================================
Instalar  1 Paquete

Tamaño total de la descarga: 16 k
Tamaño instalado: 18 k
Descargando paquetes:
oraclelinux-developer-release-el8-1.0-7.el8.x86_64.rpm                                                                                                                              26 kB/s |  16 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                               26 kB/s |  16 kB     00:00     
Ejecutando verificación de operación
Verificación de operación exitosa.
Ejecutando prueba de operaciones
Prueba de operación exitosa.
Ejecutando operación
  Preparando          :                                                                                                                                                                                        1/1 
  Instalando          : oraclelinux-developer-release-el8-1.0-7.el8.x86_64                                                                                                                                     1/1 
  Verificando         : oraclelinux-developer-release-el8-1.0-7.el8.x86_64                                                                                                                                     1/1 

Instalado:
  oraclelinux-developer-release-el8-1.0-7.el8.x86_64                                                                                                                                                               

¡Listo!

  • Instalamos el RPM de Oracle Database Preinstall
[root@localhost ~]# dnf install -y oracle-database-preinstall-23c
Última comprobación de caducidad de metadatos hecha hace 0:53:56, el mié 07 jun 2023 13:11:24 CST.
Dependencias resueltas.
===================================================================================================================================================================================================================
 Paquete                                                     Arquitectura                        Versión                                                      Repositorio                                     Tam.
===================================================================================================================================================================================================================
Instalando:
 oracle-database-preinstall-23c                              x86_64                              1.0-0.5.el8                                                  ol8_developer                                   30 k
Instalando dependencias:
 compat-openssl10                                            x86_64                              1:1.0.2o-4.el8_6                                             ol8_appstream                                  1.1 M
 glibc-devel                                                 x86_64                              2.28-225.0.2.el8                                             ol8_baseos_latest                               85 k
 ksh                                                         x86_64                              20120801-257.0.1.el8                                         ol8_appstream                                  929 k
 libnsl                                                      x86_64                              2.28-225.0.2.el8                                             ol8_baseos_latest                              107 k
 libxcrypt-devel                                             x86_64                              4.1.1-6.el8                                                  ol8_baseos_latest                               25 k
 lm_sensors-libs                                             x86_64                              3.4.0-23.20180522git70f7e08.el8                              ol8_baseos_latest                               59 k
 make                                                        x86_64                              1:4.2.1-11.el8                                               ol8_baseos_latest                              498 k
 sysstat                                                     x86_64                              11.7.3-9.0.1.el8                                             ol8_appstream                                  427 k

Resumen de la transacción
===================================================================================================================================================================================================================
Instalar  9 Paquetes

Tamaño total de la descarga: 3.2 M
Tamaño instalado: 9.4 M
Descargando paquetes:
(1/9): libxcrypt-devel-4.1.1-6.el8.x86_64.rpm                                                                                                                                       90 kB/s |  25 kB     00:00    
(2/9): glibc-devel-2.28-225.0.2.el8.x86_64.rpm                                                                                                                                     277 kB/s |  85 kB     00:00    
(3/9): libnsl-2.28-225.0.2.el8.x86_64.rpm                                                                                                                                          343 kB/s | 107 kB     00:00    
(4/9): lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64.rpm                                                                                                                  535 kB/s |  59 kB     00:00    
(5/9): make-4.2.1-11.el8.x86_64.rpm                                                                                                                                                3.0 MB/s | 498 kB     00:00    
(6/9): compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm                                                                                                                                  5.8 MB/s | 1.1 MB     00:00    
(7/9): sysstat-11.7.3-9.0.1.el8.x86_64.rpm                                                                                                                                         4.7 MB/s | 427 kB     00:00    
(8/9): oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm                                                                                                                       513 kB/s |  30 kB     00:00    
(9/9): ksh-20120801-257.0.1.el8.x86_64.rpm                                                                                                                                         2.9 MB/s | 929 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                              4.6 MB/s | 3.2 MB     00:00     
Ejecutando verificación de operación
Verificación de operación exitosa.
Ejecutando prueba de operaciones
Prueba de operación exitosa.
Ejecutando operación
  Preparando          :                                                                                                                                                                                        1/1 
  Instalando          : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                                     1/9 
  Instalando          : glibc-devel-2.28-225.0.2.el8.x86_64                                                                                                                                                    2/9 
  Ejecutando scriptlet: glibc-devel-2.28-225.0.2.el8.x86_64                                                                                                                                                    2/9 
  Instalando          : make-1:4.2.1-11.el8.x86_64                                                                                                                                                             3/9 
  Ejecutando scriptlet: make-1:4.2.1-11.el8.x86_64                                                                                                                                                             3/9 
  Instalando          : compat-openssl10-1:1.0.2o-4.el8_6.x86_64                                                                                                                                               4/9 
  Ejecutando scriptlet: compat-openssl10-1:1.0.2o-4.el8_6.x86_64                                                                                                                                               4/9 
  Instalando          : ksh-20120801-257.0.1.el8.x86_64                                                                                                                                                        5/9 
  Ejecutando scriptlet: ksh-20120801-257.0.1.el8.x86_64                                                                                                                                                        5/9 
  Instalando          : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                                 6/9 
  Ejecutando scriptlet: lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                                 6/9 
  Instalando          : sysstat-11.7.3-9.0.1.el8.x86_64                                                                                                                                                        7/9 
  Ejecutando scriptlet: sysstat-11.7.3-9.0.1.el8.x86_64                                                                                                                                                        7/9 
  Instalando          : libnsl-2.28-225.0.2.el8.x86_64                                                                                                                                                         8/9 
  Instalando          : oracle-database-preinstall-23c-1.0-0.5.el8.x86_64                                                                                                                                      9/9 
  Ejecutando scriptlet: oracle-database-preinstall-23c-1.0-0.5.el8.x86_64                                                                                                                                      9/9 
  Verificando         : glibc-devel-2.28-225.0.2.el8.x86_64                                                                                                                                                    1/9 
  Verificando         : libnsl-2.28-225.0.2.el8.x86_64                                                                                                                                                         2/9 
  Verificando         : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                                     3/9 
  Verificando         : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                                 4/9 
  Verificando         : make-1:4.2.1-11.el8.x86_64                                                                                                                                                             5/9 
  Verificando         : compat-openssl10-1:1.0.2o-4.el8_6.x86_64                                                                                                                                               6/9 
  Verificando         : ksh-20120801-257.0.1.el8.x86_64                                                                                                                                                        7/9 
  Verificando         : sysstat-11.7.3-9.0.1.el8.x86_64                                                                                                                                                        8/9 
  Verificando         : oracle-database-preinstall-23c-1.0-0.5.el8.x86_64                                                                                                                                      9/9 

Instalado:
  compat-openssl10-1:1.0.2o-4.el8_6.x86_64               glibc-devel-2.28-225.0.2.el8.x86_64 ksh-20120801-257.0.1.el8.x86_64                   libnsl-2.28-225.0.2.el8.x86_64  libxcrypt-devel-4.1.1-6.el8.x86_64
  lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64 make-1:4.2.1-11.el8.x86_64          oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 sysstat-11.7.3-9.0.1.el8.x86_64

¡Listo!
  • Podemos descargar el RPM de instalación de Oracle Database Free 23c Developer y lo podemos hacer desde el siguiente enlace: https://www.oracle.com/database/technologies/free-downloads.html
  • Teniendo ya descargado el RPM, en mi caso lo coloqué en la carpeta tmp, se procede a realizar la instalación
[root@localhost ~]# dnf -y localinstall /tmp/oracle-database-free-23c-1.0-1.el8.x86_64.rpm
Última comprobación de caducidad de metadatos hecha hace 1:13:43, el mié 07 jun 2023 13:11:24 CST.
Dependencias resueltas.
===================================================================================================================================================================================================================
 Paquete                                                        Arquitectura                                 Versión                                      Repositorio                                         Tam.
===================================================================================================================================================================================================================
Instalando:
 oracle-database-free-23c                                       x86_64                                       1.0-1                                        @commandline                                       1.6 G

Resumen de la transacción
===================================================================================================================================================================================================================
Instalar  1 Paquete

Tamaño total: 1.6 G
Tamaño instalado: 5.2 G
Descargando paquetes:
Ejecutando verificación de operación
Verificación de operación exitosa.
Ejecutando prueba de operaciones
Prueba de operación exitosa.
Ejecutando operación
  Preparando          :                                                                                                                                                                                        1/1 
  Ejecutando scriptlet: oracle-database-free-23c-1.0-1.x86_64                                                                                                                                                  1/1 
  Instalando          : oracle-database-free-23c-1.0-1.x86_64                                                                                                                                                  1/1 
  Ejecutando scriptlet: oracle-database-free-23c-1.0-1.x86_64                                                                                                                                                  1/1 
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-23c.conf' and then run '/etc/init.d/oracle-free-23c configure' as root.

  Verificando         : oracle-database-free-23c-1.0-1.x86_64                                                                                                                                                  1/1 

Instalado:
  oracle-database-free-23c-1.0-1.x86_64                                                                                                                                                                            

¡Listo!

Para esta instalación nuestro ORACLE_HOME será: /opt/oracle/product/23c/dbhomeFree

  • Oracle nos proporciona un script para poder configurar nuestra nueva base de datos y la contraseña para los usuarios SYS, SYSTEM y PDBADMIN:
[root@localhost dbs]# /etc/init.d/oracle-free-23c configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database FREE.
Introduzca la contraseña de usuario SYS: 
********
Introduzca la contraseña de usuario SYSTEM: 
********
Introduzca la contraseña de usuario de PDBADMIN: 
*********
Preparar para funcionamiento de base de datos
7% completado
Copiando archivos de base de datos
29% completado
Creando e iniciando instancia Oracle
30% completado
33% completado
36% completado
39% completado
43% completado
Terminando creación de base de datos
47% completado
49% completado
50% completado
Creando Bases de Datos de Conexión
54% completado
71% completado
Ejecutando acciones posteriores a la configuración
93% completado
Ejecutando archivos de comandos personalizados
100% completado
Creación de la base de datos terminada. Consulte los archivos log de /opt/oracle/cfgtoollogs/dbca/FREE
 para obtener más información.
Información de Base de Datos:
Nombre de la Base de Datos Global:FREE
Identificador del Sistema (SID):FREE
Para obtener información detallada, consulte el archivo log "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log".

Connect to Oracle Database using one of the connect strings:
     Pluggable database: localhost.localdomain/FREEPDB1
     Multitenant container database: localhost.localdomain

Con los pasos anteriores ya tendremos nuestra instancia funcionando con las credenciales que le hemos establecido y lista para hacer todas las pruebas que necesitemos.

[root@localhost bin]# ps -ef | grep pmon
oracle      6589    2411  0 15:00 ?        00:00:00 db_pmon_FREE

PL/SQL package SYS.DBMS_BACKUP_RESTORE version in TARGET database is not current

Después de una actualización de Oracle Database de la versión19.3.0.0.0 a 19.16.0.0.0, tuve el inconveniente al acceder a RMAN el cuál mostraba el siguiente mensaje:

$ rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Mon Aug 3 14:26:41 2022
Version 19.16.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

PL/SQL package SYS.DBMS_BACKUP_RESTORE version 19.03.00.00 in TARGET database is not current
PL/SQL package SYS.DBMS_RCVMAN version 19.03.00.00 in TARGET database is not current
connected to target database: XXXX

El mensaje anterior también se podía apreciar en el Alert.log.

Verificando en Oracle Support, nos comentan que este error se presenta seguido de aplicar un parche Oracle y que estos paquetes no se compilan cuando se realiza la actualización.

La solución es sencilla, realizando la compilación de los siguientes paquetes:

$ sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/dbmsrman.sql
SQL> @$ORACLE_HOME/rdbms/admin/dbmsbkrs.sql
SQL> @$ORACLE_HOME/rdbms/admin/prvtrmns.plb
SQL> @$ORACLE_HOME/rdbms/admin/prvtbkrs.plb

Podemos comprobar que al ingresar a RMAN y verificar en el Alert.log que el mensaje ya no nos aparece.

Agregar nuevo disco a Diskgroup en Oracle Grid 19c

State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 2194304 209588 1260 0 1260 0 N DATA/

Vamos a suponer que únicamente se ha agregado un nuevo disco duro y es necesario realizar la creación de la nueva partición y hacer un formateo de la misma.

Desde la herramienta fdisk podemos realizar esta tarea:

root@pruebas~# fdisk /dev/sdb

Con el comando ‘n‘ se realiza la creación de una nueva partición. Dejamos todos los valores por default ya que vamos a utilizar todo el espacio del nuevo disco duro.

Con el comando ‘w‘ confirmamos que se escriban los cambios que se han realizado.

Luego de haber creado la partición, se realiza el formateo

root@pruebas~# mkfs.ext4 /dev/sdb1

A nivel de sistema operativo nuestro nuevo disco duro está preparado.

Seguidamente, haciendo uso de la herramienta oracleasm realizamos la creación y etiquetado de un nuevo disco duro.

root@pruebas~# oracleasm createdisk ASMDISK3 /dev/sdb1

Desde SQLPlus agregamos el nuevo disco duro al diskgroup que ya está creado, en nuestro caso es +DATA

SQL> ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/ASMDISK3' NAME ASMDISK3 REBALANCE POWER 100;

Con lo anterior, podemos verificar desde asmcmd que se han agregado los nuevo 200Gb de espacio.

[grid@pruebas ~]$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 409588 204384 0 204384 0 N DATA/

EDIT: 04/08/2022

Eliminar un disco del diskgroup:

Para eliminar es necesario quitar el disco primeramente del diskgroup que tenemos configurado en ASM, lo cual lo hacemos de la siguiente manera:

$ sqlplus / as sysasm
SQL> ALTER DISKGROUP DATA DROP DISK 'ASMDISK4';

En mi caso mi diskgroup tiene el nombre DATA y el disco que quiero quitar tiene el nombre ASMDISK4.

Seguidamente podemos devolver el disco al sistema operativo:

Primero escaneamos los discos disponibles con OracleASM

# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@pruebas disks]# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
[root@pruebas disks]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=oinstall
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"

Por último lo eliminamos del ASM:

# oracleasm deletedisk ASMDISK4
Clearing disk header: done
Dropping disk: done