Com instal·lar la base de dades Oracle 12c a RHEL/CentOS 7


La base de dades Oracle és un dels sistemes de gestió de bases de dades relacionals (RDBMS) més utilitzats en entorns empresarials. Desenvolupat, mantingut i recolzat per Oracle Corporation, aquest RDBMS sovint s'instal·la a sobre d'un tipus de Linux Enterprise (RHEL, CentOS o Scientific Linux). Això fa que sigui un sistema operatiu molt robust: una elecció de base de dades.

En aquest article, explicarem com instal·lar Oracle 12c Release 2 en un servidor GUI RHEL/CentOS 7.

Atenció: els usuaris de RHEL/CentOS 6 poden seguir aquesta guia per instal·lar Oracle Database 12c a RHEL/CentOS 6.x

Anem a començar.

Després d'instal·lar Oracle 12c, la configuració es realitzarà mitjançant una interfície gràfica. Aquesta és la raó per la qual necessitem un servidor CentOS 7 amb el grup de programari X Window System instal·lat.

A més, tingueu en compte que cal un compte d'Oracle per descarregar el fitxer d'instal·lació d'Oracle Database 12c (3,2 GB). Tanmateix, no us preocupeu per això, ja que podeu crear un compte de manera gratuïta.

Finalment, assegureu-vos que el vostre servidor tingui almenys 2 GB de RAM i 30 GB d'espai disponible en disc. Aquests requisits de maquinari són segurs per a un entorn de proves com el nostre, però caldrà augmentar si considereu utilitzar Oracle en producció.

Preparació per a la instal·lació d'Oracle 12c

1. Per començar, assegureu-vos que tots els paquets instal·lats actualment al vostre sistema RHEL/CentOS 7 estiguin actualitzats a les seves últimes versions.

# yum update -y

2. A continuació, instal·leu totes les dependències necessàries per al SGBDR, juntament amb els paquets zip i 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. Creeu el compte d'usuari i els grups per a Oracle.

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

Finalment, establiu una contrasenya per al compte d'oracle recent creat.

# passwd oracle

4. Afegiu els paràmetres del nucli següents al fitxer /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

i aplicar-los:

# sysctl -p
# sysctl -a

5. Establiu els límits per a l'oracle al fitxer /etc/security/limits.conf.

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

6. Creeu un directori anomenat /stage i extreu el fitxer d'instal·lació comprimit.

# unzip linuxx64_12201_database.zip -d /stage/

Abans de continuar, creeu altres directoris que s'utilitzaran durant la instal·lació real i assigneu els permisos necessaris.

# 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

Ara estem preparats per executar l'script d'instal·lació.

7. Obriu una sessió de GUI al servidor RHEL/CentOS 7 i inicieu l'script d'instal·lació.

/stage/database/runInstaller 

i seguiu els passos presentats per l'instal·lador.

Instal·lació d'Oracle 12c a CentOS 7

8. Introduïu l'adreça de correu electrònic associada al vostre compte d'Oracle (opcional).

9. Trieu Crear i configurar una base de dades.

10. Seleccioneu la classe Desktop ja que estem configurant una configuració mínima i una base de dades d'inici.

11. Seleccioneu les opcions següents per a la configuració bàsica.

  • Base d'Oracle: /u01/app/oracle
  • Ubicació del programari: /u01/app/oracle/product/12.2.0/dbhome_1
  • Ubicació del fitxer de base de dades: /u01
  • Grup OSDBA: dba
  • Nom de la base de dades global: la vostra elecció. Hem escollit tecmint aquí.
  • Preneu nota de la contrasenya, ja que la fareu servir quan us connecteu per primera vegada a la base de dades.
  • Desmarqueu Crea com a base de dades de contenidor.

12. Deixeu el Directori d'inventari predeterminat com a /u01/app/oraInventory.

13. Verifiqueu que les comprovacions prèvies de la instal·lació s'han completat sense errors.

L'instal·lador no us permetrà passar aquest punt si es troba algun error.

14. Espereu fins que finalitzi la instal·lació d'Oracle 12c.

És possible que en algun moment de la instal·lació se us demani que executeu un parell d'scripts per configurar més permisos o corregir problemes. Això s'il·lustra aquí:

I aquí:

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

15. Després d'això, haureu de tornar a la pantalla anterior de la sessió GUI i fer clic a D'acord perquè la instal·lació pugui continuar.

Quan hagi acabat, se us presentarà el missatge següent que indica l'URL de l'Oracle Enterprise Manager:

https://localhost:5500/em

Tocs finals d'Oracle 12c

16. Per permetre connexions des de fora del servidor, haureu d'obrir els ports següents:

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

Com segueix:

# 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ó, inicieu sessió com a oracle utilitzant la contrasenya escollida anteriorment i afegiu les línies següents a .bash_profilefile.

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.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. Finalment, substituïu localhost amb 0.0.0.0 activat.

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

19. L'últim pas consisteix a tornar a carregar .bash_profile per aplicar la nova configuració.

# source .bash_profile

20. A continuació, inicieu sessió a la base de dades mitjançant el compte del sistema i la contrasenya escollides al pas 11 de la secció anterior.

# sqlplus [email 

Opcionalment, creem una taula dins de la base de dades tecmint on inserirem alguns registres de mostra de la següent manera.

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

Tingueu en compte que les columnes IDENTITY es van introduir per primera vegada a Oracle 12c.

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

Habilitació d'Oracle per iniciar l'arrencada del sistema

21. Per permetre que el servei de base de dades s'iniciï automàticament a l'arrencada, afegiu les línies següents al fitxer /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. Finalment, hem d'indicar que la base de dades tecmint s'ha d'obrir durant l'arrencada a /etc/oratab (Y: Sí).

En aquest article, hem explicat com instal·lar Oracle 12c a RHEL/CentOS 7, com crear i configurar una base de dades i com crear taules i inserir files de dades.

A més, és important tenir en compte que el servidor de bases de dades hauria d'estar en funcionament quan el sistema arrenqui, i la nostra base de dades predeterminada hauria d'estar disponible en aquest moment.

Si teniu cap pregunta o comentari sobre aquest article, no dubteu a enviar-nos una línia mitjançant el formulari següent.