Cómo instalar Oracle Database 12c en RHEL / CentOS 7


La base de datos Oracle es uno de los sistemas de administración de bases de datos relacionales más utilizados ( RDBMS ) en entornos empresariales. Desarrollado, mantenido y soportado por Oracle Corporation, este RDBMS a menudo se instala sobre Enterprise Linux (RHEL, CentOS o Scientific Linux). Esto hace que para un sistema operativo muy robusto - elección de base de datos.

En este artículo, explicaremos cómo instalar Oracle 12c Release 2 en un servidor RHEL / CentOS 7 GUI .

Vamos a empezar.

Después de instalar Oracle 12c , la configuración se realizará a través de una interfaz gráfica. Esa es la razón por la que necesitamos un servidor CentOS 7 con el grupo de software X Window System instalado.

Además, tenga en cuenta que se requiere una cuenta Oracle para descargar el archivo de instalación de Oracle Database 12c ( 3.2 GB ). Sin embargo, no se preocupe por esto, ya que puede crear una cuenta de forma gratuita.

Finalmente, asegúrese de que su servidor tenga al menos 2 GB de RAM y 30 GB de espacio disponible en el disco. Estos requisitos de hardware son seguros para un entorno de prueba como el nuestro, pero deberán incrementarse si considera el uso de Oracle en producción.

Preparación para la instalación de Oracle 12c

1. Para comenzar, asegúrese de que todos los paquetes instalados actualmente en su sistema RHEL/CentOS 7 estén actualizados a sus últimas versiones.

# yum update -y

2. A continuación, instale todas las dependencias necesarias para el RDBMS , junto con los paquetes zip y descomprimir.

# yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip

3. Cree la cuenta de usuario y los grupos para Oracle.

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle

Finalmente, establezca una contraseña para la cuenta oracle recién creada.

# passwd oracle

4. Agregue los siguientes parámetros del kernel al archivo /etc/sysctl.conf .

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

y aplícalos:

# sysctl -p
# sysctl -a

5. Establezca los límites para oracle en el archivo /etc/security/limits.conf .

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

6. Cree un directorio llamado /stage y extraiga el archivo de instalación comprimido.

# unzip linuxx64_12201_database.zip -d /stage/

Antes de continuar, cree otros directorios que se utilizarán durante la instalación real y asigne los permisos necesarios.

# mkdir /u01
# mkdir /u02
# chown -R oracle:oinstall /u01
# chown -R oracle:oinstall /u02
# chmod -R 775 /u01
# chmod -R 775 /u02
# chmod g+s /u01
# chmod g+s /u02

Ahora estamos listos para ejecutar el script de instalación.

7. Abra una sesión de la GUI en el servidor RHEL/CentOS 7 e inicie el script de instalación.

/stage/database/runInstaller 

y siga los pasos presentados por el instalador.

Instalando Oracle 12c en CentOS 7

8. Ingrese la dirección de correo electrónico asociada con su cuenta de Oracle (opcional).

9. Elija Crear y configure una base de datos.

10. Seleccione la clase Escritorio ya que estamos configurando una configuración mínima y una base de datos de inicio.

11. Seleccione las siguientes opciones para la configuración básica.

  • Oracle base: /u01/app/oracle
  • Software location: /u01/app/oracle/product/12.2.0/dbhome_1
  • Database file location: /u01
  • OSDBA group: dba
  • Global database name: your choice. We chose tecmint here.
  • Take note of the password, as you will be using it when you first connect to the database.
  • Uncheck Create as Container database.

12. Deja el directorio Inventario predeterminado como /u01/app/oraInventory .

13. Verifique que las verificaciones previas de la instalación se completen sin errores.

El instalador no le dejará pasar este punto si se encuentran errores.

14. Espere hasta que finalice la instalación de Oracle 12c.

Es posible que en algún momento durante la instalación se le solicite ejecutar un par de scripts para configurar permisos adicionales o corregir problemas. Esto se ilustra aquí:

Y aquí:

# cd /u01/app/oraInventory
# ./orainstRoot.sh
# cd /u01/app/oracle/product/12.2.0/dbhome_1
# ./root.sh

15. Después de eso, deberá volver a la pantalla anterior en la sesión de la GUI y hacer clic en Aceptar para que la instalación pueda continuar.

Cuando haya terminado, se le presentará el siguiente mensaje que indica la URL de Oracle Enterprise Manager:

https://localhost:5500/em

Toques finales de Oracle 12c

16. Para permitir conexiones desde fuera del servidor, deberá abrir los siguientes puertos:

1521/TCP
5500/TCP
5520/TCP
3938/TCP

Como sigue:

# firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
# firewall-cmd --reload

17. A continuación, inicie sesión como oracle utilizando la contraseña elegida anteriormente y agregue las siguientes líneas al archivo .bash_profile .

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

18. Finalmente, reemplace localhost con 0.0.0.0 activado.

# vi $ORACLE_HOME/network/admin/listener.ora

19. El último paso consiste en volver a cargar .bash_profile para aplicar la nueva configuración.

# source .bash_profile

20. Y luego ingrese a la base de datos utilizando la cuenta del sistema y la contraseña elegida en Paso 11 de la sección anterior.

# sqlplus [email protected]

Opcionalmente, creemos una tabla dentro de la base de datos tecmint donde insertaremos algunos registros de muestra de la siguiente manera

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

Tenga en cuenta que las columnas IDENTIDAD se introdujeron por primera vez en Oracle 12c .

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;

Permitiendo que Oracle se inicie en el arranque del sistema

21. Para permitir que el servicio de base de datos se inicie automáticamente en el inicio, agregue las siguientes líneas al archivo /etc/systemd/system/oracle-rdbms.service .

# /etc/systemd/system/oracle-rdbms.service
# Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
# and starts Listener

[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target

[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle

[Install]
WantedBy=multi-user.target

22. Por último, debemos indicar que la base de datos tecmint debe activarse durante el inicio en /etc/oratab ( S: Sí ).

En este artículo, hemos explicado cómo instalar Oracle 12c en RHEL/CentOS 7 , cómo crear y configurar una base de datos, y cómo crear tablas e insertar filas de datos.

Además, es importante tener en cuenta que el servidor de la base de datos debe estar funcionando cuando se inicie el sistema, y ​​nuestra base de datos predeterminada debería estar disponible en ese momento.

Si tiene alguna pregunta o comentario sobre este artículo, no dude en enviarnos una línea utilizando el formulario a continuación.