Installation Oracle Database 19c sous OEL7

Hello, après l’installation d’Oracle Linux Server sous VirtualBox, mon projet Oracle continue et nous allons voir dans cet article l’installation et la configuration d’Oracle Database 19c sous OEL7.

Ce qu’il vous faut :

Remarque : Oracle Linux est basé sur Red Hat. Cette distribution est fortement recommandée pour l’installation de la base de données Oracle, car, il y a un package qui permet d’installer tous les prérequis sans prise de tête. Mais, vous pouvez tenter de réaliser ce projet sur une distribution de la famille Red Hat (CentOS, Fedora…).

Oracle Database 19c Pixelabs

Installation des prérequis

Je pars sur le fait que vous avez installé Oracle Linux 7 comme sur mon tuto (voir lien ci-dessus). J’utilise la même machine virtuelle sans rien installer de plus à part la mise à jour du système :

[root@sysadmin ~]# yum update -y

Voici ma configuration réseau :

[root@sysadmin ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.22  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe14:1783  prefixlen 64  scopeid 0x20<link>
        inet6 2001:861:4001:bbf0:a00:27ff:fe14:1783  prefixlen 64  scopeid 0x0<global>
        ether 08:00:27:14:17:83  txqueuelen 1000  (Ethernet)
        RX packets 127256  bytes 103422611 (98.6 MiB)
        RX errors 0  dropped 2492  overruns 0  frame 0
        TX packets 32981  bytes 2206634 (2.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Boucle locale)
        RX packets 64  bytes 5152 (5.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 5152 (5.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[...]

[root@sysadmin ~]# 

Fichier hostname : (très important)

[root@sysadmin ~]# tac /etc/hostname
sysadmin.pixelabs.lan
[root@sysadmin ~]# 

Fichier hosts : (très important)

[root@sysadmin ~]# tac /etc/hosts
192.168.1.22	sysadmin.pixelabs.lan sysadmin
::1         sysadmin.pixelabs.lan sysadmin localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1   sysadmin.pixelabs.lan sysadmin localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@sysadmin ~]# 

Installer le package de pré-installation Oracle :

[root@sysadmin ~]# yum search oracle-database-preinstall
[...]
========================= N/S matched: oracle-database-preinstall ===============================
oracle-database-preinstall-18c.x86_64 : Sets the system for Oracle Database single instance and Real Application Cluster install for Oracle Linux 7
oracle-database-preinstall-19c.x86_64 : Sets the system for Oracle Database single instance and Real Application Cluster install for Oracle Linux 7

[root@sysadmin ~]#

Ici, j’installe la version oracle-database-preinstall-19c :

[root@sysadmin ~]# yum install oracle-database-preinstall-19c
Modules complémentaires chargés : langpacks, ulninfo
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet oracle-database-preinstall-19c.x86_64 0:1.0-1.el7 sera installé
--> Traitement de la dépendance : ksh pour le paquet : oracle-database-preinstall-19c-1.0-1.el7.x86_64
--> Traitement de la dépendance : libaio-devel pour le paquet : oracle-database-preinstall-19c-1.0-1.el7.x86_64
--> Lancement de la transaction de test
---> Le paquet ksh.x86_64 0:20120801-139.0.1.el7 sera installé
---> Le paquet libaio-devel.x86_64 0:0.3.109-13.el7 sera installé
--> Résolution des dépendances terminée

Dépendances résolues

=========================================================================================================
 Package                                Architecture     Version                   Dépôt           Taille
=========================================================================================================
Installation :
 oracle-database-preinstall-19c         x86_64           1.0-1.el7                 ol7_latest      18 k
Installation pour dépendances :
 ksh                                    x86_64           20120801-139.0.1.el7      ol7_latest      883 k
 libaio-devel                           x86_64           0.3.109-13.el7            ol7_latest      12 k

Résumé de la transaction
==========================================================================================================
Installation   1 Paquet (+2 Paquets en dépendance)

Taille totale des téléchargements : 913 k
Taille d'installation : 3.2 M
Is this ok [y/d/N]: y

Et la partie la plus importante. Il faut définir l’emplacement pour l’installation Oracle :

[root@sysadmin ~]# mkdir -p /u01/app/oraInventory
[root@sysadmin ~]#
[root@sysadmin ~]# mkdir -p /u01/app/oracle/product/19.2.0/dbhome_1
[root@sysadmin ~]#

Changer le propriétaire : user : oracle / group : oinstall

[root@sysadmin ~]# chown -R oracle: /u01/app/oracle
[root@sysadmin ~]#
[root@sysadmin ~]# chown -R oracle: /u01/app/oraInventory
[root@sysadmin ~]#
[root@sysadmin ~]# ll /u01/app/
total 0
drwxr-xr-x. 3 oracle oinstall 21 15 juin  16:29 oracle
drwxr-xr-x. 2 oracle oinstall  6 15 juin  16:29 oraInventory
[root@sysadmin ~]#

On y est presque.

Transférer l’archive zip (V982063-01.zip) que vous avez téléchargé (voir le lien plus haut) dans /tmp (via FTP ou dossier partagé…etc). Je recommande (encore une fois) le client SSH MobaXterm.

Une fois le transfère terminé, dé-zipper l’archive dans  le répertoire Oracle : /u01/app/oracle/product/19.2.0/dbhome_1/

[root@sysadmin]# cd /tmp
[root@sysadmin tmp]# chmod 775 V982063-01.zip

Passez sous l’utilisateur ORACLE et dé-zipper l’archive :

[root@sysadmin ~]# su - oracle
[oracle@sysadmin ~]$

Dé-zipper :

[oracle@sysadmin ~]# cd /tmp
[oracle@sysadmin tmp]# 
[oracle@sysadmin tmp]# unzip -q V982063-01.zip -d /u01/app/oracle/product/19.2.0/dbhome_1/

Et pour finir, il faut définir la variable d’environnement ORACLE_HOME :

[oracle@sysadmin ~]# export ORACLE_HOME=/u01/app/oracle/product/19.2.0/dbhome_1
[oracle@sysadmin ~]#

L’installation peut commencer. Let’s Go !

Installation Oracle Database

Lancez l’installation directement à la suite depuis le Shell :

[oracle@sysadmin ~]# cd /u01/app/oracle/product/19.2.0/dbhome_1
[oracle@sysadmin dbhome_1]# ./runInstaller
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.

No X11 DISPLAY variable was set, but this program performed an operation which requires it.
[oracle@sysadmin dbhome_1]#

Solution :

Passer sous l’utilisateur ROOT et ajouter un mot de passe pour l’utilisateur Oracle :

[oracle@sysadmin ~]# su - root
[...]
[root@sysadmin ~]# passwd oracle
Changement de mot de passe pour l'utilisateur oracle.
Nouveau mot de passe : 
Retapez le nouveau mot de passe : 
passwd : mise à jour réussie de tous les jetons d'authentification.
[root@sysadmin ~]# 

Installer les packages suivants :

yum install perl-DBI libdbi-perl automake gbd libtool xdpyinfo libXext.i686 libXrender.i686 libXtst.i686 libX11-common.noarch libX11-devel.i686 libgcc.i686 xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock compat-libcap1 sysstat ksh libaio-devel compat-libstdc++-33

Redémarrer la machine virtuelle et connectez-vous directement avec l’utilisateur ORACLE :

Une fois connecté, lancer les deux commandes ci-dessous :

[oracle@sysadmin ~]# DISPLAY=192.168.1.22:0.0
[oracle@sysadmin ~]# export $DISPLAY

Remarque : 192.168.1.22 est l’adresse IP de mon serveur Oracle Linux.

Relancer l’installation :

[oracle@sysadmin ~]# cd /u01/app/oracle/product/19.2.0/dbhome_1
[oracle@sysadmin dbhome_1]# ./runInstaller

Le programme d’installation se lance après quelques secondes :

Installation Oracle Database 19c

  • Laissez l’option par défaut et cliquer sur Suivant >
  • Cochez l’option Classe serveur

Oracle Classe Serveur

  • Cliquer sur Suivant >
  • Laisser l’option par défaut : Enterprise Edition

Oracle Database Enterprise

  • Cliquer sur Suivant >
  • Laisser par défaut et cliquer sur Suivant >

Installation Oracle Database 19c

  • Laisser également par défaut et cliquer sur Suivant >

Oracle Database OraInventory

  • Laisser par défaut et cliquer sur Suivant >

Configiration Oracle Database

  • Modifier le nom de la base de données par défaut à votre guise ou laisser par défaut.

Oracle Database SID

  • Cliquer sur Suivant >
  • Laisser les options de configuration par défaut et cliquer sur Suivant >

Remarque : si vous n’avez pas beaucoup de RAM baisser la taille allouée.

Installation Oracle Database 19c Step 8

  • Etape 09/18 : Laisser l’emplacement des datafiles par défaut : /u01/app/oracle/oradata

Oracle Database Datafiles

  • Cliquer sur Suivant >
  • Etape 10/18 : laisser par défaut
  • Etape 11/18 : laisser par défaut
  • Etape 12/18 : cocher l’option : Utiliser le même mot de passe pour tous les comptes
    • SYS
    • SYSTEM
    • PDBADMIN

Oracle Schéma Password

  • Cliquer sur Suivant >
  • Etape 13/18 : Laisser les groupes par défaut :

 Oracle Database Group

  • Cliquer sur Suivant >
  • Etape 14/18 : Laisser par défaut
  • Etape 15/18 : attendez la fin des vérifications des pré-requis

Install Oracle Database 19

  • Cliquer sur Installer
  • Pendant l’installation, ouvrir un nouveau Terminal
  • Exécuter les scripts (en tant que ROOT) afficher dans la petite fenêtre l’un après l’autre :

Oracle Database Configuration

Passer sous ROOT :

[oracle@sysadmin ~]# su - root
Mot de passe : 
Dernière connexion : samedi 15 juin 2019 à 19:19:24 CEST sur pts/1
[root@sysadmin ~]#

Lancer le premier script :

[root@sysadmin ~]# /u01/app/oraInventory/orainstRoot.sh
Modification des droits d'accès de /u01/app/oraInventory.
Ajout de droits d'accès en lecture/écriture pour le groupe.
Suppression des droits d'accès en lecture/écriture/exécution pour le monde.

Modification du nom de groupe de /u01/app/oraInventory en oinstall.
L'exécution du script est terminée.
[root@sysadmin ~]#

Lancer le deuxième script :

[root@sysadmin ~]# /u01/app/oraInventory/orainstRoot.sh
Modification des droits d'accès de /u01/app/oraInventory.
Ajout de droits d'accès en lecture/écriture pour le groupe.
Suppression des droits d'accès en lecture/écriture/exécution pour le monde.

Modification du nom de groupe de /u01/app/oraInventory en oinstall.
L'exécution du script est terminée.
[root@sysadmin ~]# 
[root@sysadmin ~]# /u01/app/oracle/product/19.2.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/19.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
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.
Oracle Trace File Analyzer (TFA - Standalone Mode) is available at :
    /u01/app/oracle/product/19.2.0/dbhome_1/bin/tfactl

Note :
1. tfactl will use TFA Service if that service is running and user has been granted access
2. tfactl will configure TFA Standalone Mode only if user has no access to TFA Service or TFA is not installed

[root@sysadmin ~]#
  • Retourner dans la petite fenêtre et cliquez sur OK
  • L’installation se poursuit (cela risque de prendre un peu de temps, allez prendre un café 🙂 )
  • Si vous souhaitez suivre l’installation, voir le log dans le dossier /tmp :
[root@sysadmin ~]# tail -f /tmp/InstallActions2019-06-15_07-26-04PM/installActions2019-06-15_07-26-04PM.log
INFO:  [15 juin 2019 21:28:28] Préparation à l'opération de base de données
INFO:  [15 juin 2019 21:28:28] Skipping line: Préparation à l'opération de base de données
INFO:  [15 juin 2019 21:28:28] Skipping line: Exécuté à 8 %
INFO:  [15 juin 2019 21:28:28] Copie des fichiers de base de données
INFO:  [15 juin 2019 21:28:28] Skipping line: Copie des fichiers de base de données
INFO:  [15 juin 2019 21:31:02] Skipping line: Exécuté à 31 %
INFO:  [15 juin 2019 21:31:02] Création et démarrage d'une instance Oracle
INFO:  [15 juin 2019 21:31:02] Skipping line: Création et démarrage d'une instance Oracle
INFO:  [15 juin 2019 21:31:40] Skipping line: Exécuté à 32 %
INFO:  [15 juin 2019 21:32:18] Skipping line: Exécuté à 36 %
INFO:  [15 juin 2019 21:48:10] Skipping line: Exécuté à 40 %
INFO:  [15 juin 2019 21:48:13] Skipping line: Exécuté à 43 %
  • Une fois l’installation terminée, cliquez sur Fermer.

C’est terminé, vous venez d’installer une base de données Oracle sous Linux.

Connexion à une base de données

Testons notre installation si tout fonctionne bien. Nous allons tenter de nous connecter sur la base de données PIXEL.

Toujours sous l’utilisateur Oracle, se positionner sur la base de données PIXEL :

[oracle@sysadmin ~]# . oraenv
ORACLE_SID = [oracle] ? PIXEL
The Oracle base has been set to /u01/app/oracle
[oracle@sysadmin ~]#

Remarque: il y a un espace entre le POINT et ORAENV

Et maintenant, on se connecte à la base de données :

[oracle@sysadmin ~]# sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jun 15 22:20:28 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connecte a :
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

C’est…perfect !

Afficher les PDBS :

SQL> show pdbs;

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
   2 PDB$SEED			  READ ONLY  NO
   3 PIXELDB			  READ WRITE NO
SQL>

Création d’une base de données

Pour créer une base de données, lancez (sous l’utilisateur oracle) la commande suivante :

[oracle@sysadmin ~]$ dbca

L’assistance graphique de configuration de base de données se lance :

Create Oracle Database 19

Démarrage automatiquement des bases

Si vous redémarrez votre serveur OEL, aucune base de données ne démarrera automatiquement. Il faut activer le démarrage automatique des bases.

Ici, j’ai une seule base de données c’est la base PIXEL. Éditer le fichier suivant pour activer le démarrage auto :

[oracle@sysadmin ~]# nano /etc/oratab

Editer la fin de la ligne de votre base de données et remplacer N par Y

PIXEL:/u01/app/oracle/product/19.2.0/dbhome_1:Y
  • Y = démarrage automatiquement de la base.
  • N = La base ne démarre pas auto après reboot du serveur.

Démarrage manuellement des bases

Pour démarrer une base de données manuellement. Sous l’utilisateur oracle, tapez les commandes suivantes :

[oracle@sysadmin ~]# . oraenv
ORACLE_SID = [PIXEL] ? PIXEL
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@sysadmin ~]# 
[oracle@sysadmin ~]# sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jun 15 22:49:29 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connecte a :
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

Démarrer la base :

SQL> startup
ORACLE instance started.

Total System Global Area 1543500832 bytes
Fixed Size		    9135136 bytes
Variable Size		  922746880 bytes
Database Buffers	  603979776 bytes
Redo Buffers		    7639040 bytes
Base de donnees montee.
Base de donnees ouverte.
SQL>

Démarrer le Listener oracle :

[oracle@sysadmin ~]# $ORACLE_HOME/bin/lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-JUN-2019 00:21:10

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/19.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/sysadmin/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sysadmin.pixelabs.lan)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sysadmin.pixelabs.lan)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                16-JUN-2019 00:21:10
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/sysadmin/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sysadmin.pixelabs.lan)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
[oracle@sysadmin ~]#

Upgrade Oracle Database

Pour mettre à jour Oracle, tapez la commande suivante sous l’utilisateur oracle :

[oracle@sysadmin ~]$ dbua

Attention : vérifier la compatibilité de vos bases de données avant la migration…

Vous pouvez également installer Oracle Enterprise Manager (sur un autre serveur Linux ou Windows) pour gérer les bases de données, les utilisateurs…etc. Il est possible également de gérer vos BDD à l’aide de l’outil gratuit Oracle SQL Developer.

C’est terminé les amis. Amusez-vous bien 🙂

Bonne journée et à bientôt.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *