Como
comenté en mi articulo anterior, el instalador para Oracle 18c On-premise se
encontrará disponible para descarga recién en Julio de este año. Sin embargo,
existe una forma de poder probar la versión 18c en estos momentos. Es posible descargar el instalador para
Exadata-SuperCluster y probarlo en nuestras maquinas virtuales o en algún ambiente
de pruebas.
ES
MUY IMPORTANTE ACLARAR que esta versión no esta soportada por lo que no deben
utilizar este instalador para ambientes de producción. Es necesario esperar a Julio para poder tener
la versión oficial para ambientes On-premise.
Aquí
les enseño como conseguir la versión Oracle 18c para Linux y además les muestro
como poder crear una base de datos nueva sin incurrir en errores propios de la instalación.
Instalación Oracle 18c
1.
Descargamos
el instalador Oracle 18c para Exadata desde la página: https://edelivery.oracle.com
2.
Nos
autenticamos a la pagina con nuestro usuario de Oracle Support y buscamos el
instalador con las palabras claves “oracle database”
3.
Seleccionamos
el instalador de base de datos Oracle 18c para Linux y lo descargamos.
4.
Una
vez descargado lo copiamos al servidor de pruebas que vamos a utilizar.
[oracle@oracle18c dbs]$ cd /u01/Instaladores/
[oracle@oracle18c
Instaladores]$ ls -l Oracle_database_18_0_0_0.zip
-rw-r--r--. 1
oracle oinstall 3760936065 Mar 9 10:49
Oracle_database_18_0_0_0.zip
5.
Antes
de instalar Oracle 18c debemos de revisar que los pre-requisitos de sistema operativo
se cumplan correctamente.
Lo
requisitos para Oracle 18c son muy parecidos a los requisitos de Oracle 12c y
los puedes revisar en mis artículos anteriores:
- Oracle 12c: Instalaciónde Oracle Grid Infraestructure en Linux 6 - Parte II
- ¡Es tiempo de actualizar a 12cR2! – Parte I
6.
El
instalador descargado ZIP tiene la misma característica que el instalador de la
Infraestructura Grid para Oracle 12c Release 2.
Ya viene con todos los archivos y solo se debe descomprimir en la dirección
donde queremos instalar el motor de base de datos.
[oracle@oracle18c Instaladores]$ mv
Oracle_database_18_0_0_0.zip /u01/app/oracle/product/18.0.0/dbhome_1/.
[oracle@oracle18c Instaladores]$ cd
/u01/app/oracle/product/18.0.0/dbhome_1
[oracle@oracle18c
dbhome_1]$ unzip -q Oracle_database_18_0_0_0.zip
7.
Una
vez que se descomprime, debemos de activar una sesión grafica en nuestro
servidor. Para mi caso utilizo VNC.
[oracle@oracle18c ~]$ vncserver
New 'oracle18c.oracle.com:1 (oracle)' desktop is
oracle18c.oracle.com:1
Starting applications specified in
/home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/oracle18c.oracle.com:1.log
8. Con la sesión gráfica y
con los archivos descomprimidos en la ruta de instalación ORACLE_HOME 18c
procedemos a configurar el motor de base de datos. Ejecutamos el comando runInstaller
[oracle@oracle18c
~]$ cd /u01/app/oracle/product/18.0.0/dbhome_1
[oracle@oracle18c
dbhome_1]$ ./runInstaller
9.
Al ejecutar el comando runInstaller nos muestra la primera
pantalla de Instalación. En esta pantalla seleccionamos la opción “Set
Up Software Only”
10.
Procedemos
a configurar Oracle 18c como Single Instance.
11.
Seleccionamos
la edición Enterprise.
12.
Definimos
la variable ORACLE_BASE. ORACLE_HOME ya no se define porque
ya se tiene descomprimido los archivos en dicho directorio.
13.
Definimos
los grupos de sistema operativo (Igual que en Oracle 12c)
14.
Se
realiza la comprobación del servidor para la instalación.
15.
Procedemos
con la revisión de la configuración y luego la instalación del motor de base de
datos.
16.
Ejecutamos
el comando root.sh y finalizamos la instalación.
Para
esta instalación tenemos la opción de poder instalar Oracle Trace File Analyzer
(TFA), yo recomiendo instalarlo también.
[root@oracle18c ~]# /u01/app/oracle/product/18.0.0/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME=
/u01/app/oracle/product/18.0.0/dbhome_1
Enter the full pathname of the local bin directory:
[/usr/local/bin]:
The contents of "dbhome" have not changed.
No need to overwrite.
The file "oraenv" already exists in
/usr/local/bin. Overwrite it? (y/n)
[n]:
The file "coraenv" already exists in
/usr/local/bin. Overwrite it? (y/n)
[n]:
Entries will be added to the /etc/oratab file as
needed by
Database Configuration Assistant when a database is
created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to
setup Oracle Trace File Analyzer (TFA) now? yes|[no] : yes
Installing Oracle Trace File Analyzer (TFA).
Log File:
/u01/app/oracle/product/18.0.0/dbhome_1/install/root_oracle12c.oracle.com_2018-05-01_17-02-35-897672224.log
Finished installing Oracle Trace File Analyzer (TFA)
Una vez
instalado el motor podemos proceder a crear nuevas bases de datos.
Creación de una base de
datos Oracle 18c.
Al
momento de ejecutar el comando DBCA para crear una base de datos nueva, la instalación
fallará con el siguiente error:
ORA-12754: Feature 'startup' is disabled due to missing capability 'Runtime Environment'.
Este error
se debe a la librería principal de Oracle llamada libserver18.a.
Como
esta librería viene de un instalador Exadata no esta soportado para funcionar correctamente
en un ambiente No-Exadata.
Algunos
foros sugieren reemplazar este archivo con el archivo de un motor instalado en
un ambiente Cloud. Sin embargo, yo no cuento con un ambiente Cloud por lo que decido
tomar otra opción. Resolver el problema
definiendo el parámetro oculto:
”_exadata_feature_on” = true
Con
este parámetro el error ya no se presenta al momento de levantar la base de
datos en mi ambiente de pruebas.
Para
lograr definir este parámetro ejecuto el comando DBCA pero en la opción final,
selecciono SOLO la opción de generar los scripts de creación de base de
datos.
Una
vez creados los scripts lo que tengo que hacer es agregar el parámetro ”_exadata_feature_on” al
archivo init.ora que se crea en la
carpeta scripts.
[oracle@oracle12c ~]$ cat /u01/app/oracle/admin/cdb1/scripts/init.ora
##############################################################################
# Copyright (c) 1991, 2013 by Oracle Corporation
##############################################################################
…
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_tablespace=UNDOTBS1
_exadata_feature_on=true
Finamente
ejecuto el comando SH que se genera con el DBCA para poder crear la
base de datos de manera manual.
[oracle@oracle18c scripts]$ cd /u01/app/oracle/admin/cdb1/scripts
[oracle@oracle18c
scripts]$ sh cdb1.sh
You should Add this entry in the /etc/oratab:
cdb1:/u01/app/oracle/product/18.0.0/dbhome_1:Y
SQL*Plus: Release 18.0.0.0.0 Production on Tue May 1
18:36:18 2018
Version 18.1.0.0.0
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Enter new password for SYS:
Enter new password for SYSTEM:
Enter password for SYS:
…
SQL> connect
"SYS"/"&&sysPassword" as SYSDBA
Connected.
SQL> alter
session set container=PDB1;
Session altered.
SQL> set echo
on
SQL> spool
/u01/app/oracle/admin/cdb1/scripts/postPDBCreation.log append
SQL> Select
count(*) from dba_registry where comp_id = 'DV' and status='VALID';
COUNT(*)
----------
0
SQL> alter
session set container=CDB$ROOT;
Session altered.
SQL> exit;
Disconnected
from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0
[oracle@oracle12c scripts]$
Al
finalizar la instalación compruebo que la base de datos se haya creado
correctamente.
SQL*Plus:
Release 18.0.0.0.0 Production on Tue May 1 19:54:05 2018
Version 18.1.0.0.0
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release
18.0.0.0.0 - Production
Version 18.1.0.0.0
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> show pdbs
CON_ID
CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ----------
----------
2
PDB$SEED READ
ONLY NO
3
PDB1 READ WRITE
NO
hasta
el momento es la mejor manera que he podido encontrar para poder superar el
error de creación de bases de datos.
Una
vez que el instalador oficial se encuentre disponible no tendremos que seguir
este procedimiento, pero por ahora es divertido probar Oracle 18c y sus nuevas
funcionalidades de esta manera.
Al momento de ejecutar el ./runInstaller me sale un error: ./runInstaller: line 67: /u01/app/oracle/product/18.3.0/dbhome_1/perl/bin/perl: cannot execute binary file
ResponderBorrarHola juan, revisa que hayas descomprimido el instalador con el usuario oracle. Al parecer es un problema de permisos.
Borrar