Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
LAMI DBA

Articles autour des SGBD Oracle, SQL Server & PostgreSQL

Oracle 12c : Installation d'Oracle Restart sans instance ASM

Vous souhaitez utiliser Oracle Restart mais ne voulez pas avoir à gérer une instance ASM ? Cela tombe bien cet article est fait pour vous !

En effet, pour le moment il n'est pas possible de réaliser ce type d'installation depuis le runInstaller graphique du grid Infrastructure, la seule solution est d'installer et configurer manuellement les options, ce qui sous entend que nous allons passer par une installation en mode silencieuse.

Ma configuration technique est assez simple : Une VM en oracle Linux 7.4 nommée SRVORA1, équipée de 4Go de RAM, 50Go d'espace disque, fraichement installée avec les prérequis Oracle qui vont bien (package oracle-rdbms-server-12cR1-preinstall), et le package d'installation Grid Infrastructure dezippé et prêt à être installé.

Note : Le package CVUQDISK s'installe depuis le RPM situé dans le répertoire d'installation, puis dans "CV/RPM" :

[root@srvora1 grid]$cd /oracle/product/12.2.0/grid
[root@srvora1 grid]$ cd cv/rpm
[root@srvora1 rpm]$ ls -al
total 20
drwxr-xr-x.  2 oracle dba 4096 Jan 26  2017 .
drwxrwx---. 11 oracle dba 4096 Mar  2 09:48 ..
-rw-r--r--.  1 oracle dba 8860 Jan  5  2017 cvuqdisk-1.0.10-1.rpm

[root@srvora1 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:cvuqdisk-1.0.10-1                ################################# [100%]

 

Tout d'abord, nous allons préparer le fichier de "response" qui sera utilisé durant l'installation.

Pour ce faire, se rendre dans le directory où a été dézippé le package d'installation puis dans install et response, pour y découvrir le fichier gridsetup.rsp

Dans mon cas, le répertoire d'installation de Grid Infrastructure est /oracle/product/12.2.0/grid :

[root@srvora1 ~]# cd /oracle/product/12.2.0/grid/install/response
[root@srvora1 response]# ls -al
total 156
drwxr-xr-x.  2 oracle dba  4096 Mar  2 09:40 .
drwxr-xr-x. 10 oracle dba  4096 Mar  2 09:46 ..
-rw-r-----.  1 oracle dba 35162 Mar  2 09:37 gridsetup.rsp
-rw-r-----.  1 oracle dba  1541 May 20  2016 sample.ccf
[root@srvora1 response]#

 

Avec votre éditeur préféré (un "vi" fera l'affaire pour moi), il faut adapter ce fichier en tenant compte du contexte technique d'installation notamment en ce qui concerne les différents directory (ORACLE_BASE, OraInventory ..)

Voici un extrait de mon fichier, seules 6 lignes sont à adapter pour installer Oracle Restart :

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v12.2.0            ### <== NE PAS MODIFIER
INVENTORY_LOCATION=/oracle/product/12.2.0/oraInventory
oracle.install.option=CRS_SWONLY
ORACLE_BASE=/oracle/product/base
oracle.install.asm.OSDBA=dba
oracle.install.asm.OSOPER=oper
oracle.install.asm.OSASM=dba

 

Les autres lignes après celles ci ne sont pas à modifier.

Une fois le fichier de response préparé, nous allons vérifier que le system soit prêt à réaliser l'installation, en utilisant RUNCLUVFY depuis le compte qui installera Grid infrastructure ("oracle" dans mon cas), dont le binaire est à disposition dans le répertoire d'installation :

[oracle@srvora1 ~]$ cd /oracle/product/12.2.0/grid
[oracle@srvora1 grid]$ ./runcluvfy.sh stage -pre hacfg -verbose

 

La Log de runcluvfy avec les détails ci dessous :

On remarque qu'il y a quelques erreurs, notamment sur la mémoire de la machine (ma VM est équipée de 4Go, il en faudrait 8Go avec une swap adéquate).

Deux solutions, soit l'on adapte la configuration mémoire de la machine, soit on ne tient pas tenir compte des erreurs.

Dans mon cas je vais simplement ignorer les erreurs, ne voulant pas ajouter de la mémoire à ma VM.

Toujours en restant connecté avec le compte "oracle", je passe à l'installation silencieuse en utilisant le binaire "gridSetup.sh" du répertoire d'installation, en utilisant l'option "ignorePrereqFailure" pour ignorer les erreurs liées à la mémoire et au swap.

[oracle@srvora1 grid]$./gridSetup.sh -silent -responseFile /oracle/product/12.2.0/grid/install/response/gridsetup.rsp -ignorePrereqFailure

 

Une fois l'installation terminée il faut passer les 2 scripts devenus classiques, depuis le compte ROOT :

[root@srvora1 oraInventory]# pwd
/oracle/product/12.2.0/oraInventory
[root@srvora1 oraInventory]# ls -al
total 12
drwxrwx---. 4 oracle dba   78 Mar  2 09:44 .
drwxr-xr-x. 5 oracle dba   48 Mar  2 09:38 ..
drwxrwx---. 2 oracle dba   60 Mar  2 09:44 ContentsXML
drwxrwx---. 3 oracle dba 4096 Mar  2 09:44 logs
-rw-rw----. 1 oracle dba   65 Mar  2 09:44 oraInst.loc
-rwxrwx---. 1 oracle dba 1726 Mar  2 09:44 orainstRoot.sh
[root@srvora1 oraInventory]# ./orainstRoot.sh
Changing permissions of /oracle/product/12.2.0/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /oracle/product/12.2.0/oraInventory to dba.
The execution of the script is complete.
[root@srvora1 oraInventory]#

 

puis

[root@srvora1 grid]# ./root.sh
Check /oracle/product/12.2.0/grid/install/root_srvora1.localdomain_2018-03-02_15-20-59-833897913.log for the output of root script
[root@srvora1 grid]#

 

On vérifie la log :

Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/product/12.2.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

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.

 

Ok, mais ce n'est pas terminé. Maintenant que nous avons fait l'installation, il faut configurer Oracle restart en utilisant une commande PERL toujours depuis le compte ROOT :

[root@srvora1 grid]#/oracle/product/12.2.0/grid/perl/bin/perl -I/oracle/product/12.2.0/grid/perl/lib -I/oracle/product/12.2.0/grid/crs/install /oracle/product/12.2.0/grid/crs/install/roothas.pl

Using configuration parameter file: /oracle/product/12.2.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/oracle/product/base/crsdata/srvora1/crsconfig/roothas_2018-02-03_10-51-08AM.log
2018/03/02 10:51:11 CLSRSC-363: User ignored prerequisites during installation
LOCAL ADD MODE
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node srvora1 successfully pinned.
2018/03/02 10:51:17 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'srvora1'
CRS-2673: Attempting to stop 'ora.evmd' on 'srvora1'
CRS-2677: Stop of 'ora.evmd' on 'srvora1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'srvora1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.

 

Une petite vérification s'impose :

Name           Target  State        Server            State details       
-------------------------------------------------------------------
Local Resources
-------------------------------------------------------------------
ora.ons
               OFFLINE OFFLINE      srvora1           STABLE
--------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------
ora.cssd
      1        OFFLINE OFFLINE                        STABLE
ora.diskmon
      1        OFFLINE OFFLINE                        STABLE
ora.evmd
      1        ONLINE  ONLINE       srvora1           STABLE
---------------------------------------------------------------------

 

Parfait, Oracle Restart est bien installé et configuré ! Essayons maintenant de créer un listener et de l'enregistrer !

Je vais utiliser NETCA en mode silencieux, en utilisant le responsefile par défaut "NETCA_TYP.rsp".

Toujours depuis mon compte "oracle" :

[oracle@srvora1 ~]$ export ORACLE_HOME=/oracle/product/12.2.0/grid
[oracle@srvora1 ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[oracle@srvora1 ~]$ netca -silent -responseFile /oracle/product/12.2.0/grid/network/install/netca_typ.rsp

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /oracle/product/12.2.0/grid/network/install/netca_typ.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:

Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

 

Une petite vérification :

[oracle@srvora1 ~]$ crsctl stat res -t
-------------------------------------------------------------------
Name           Target  State        Server           State details     
-------------------------------------------------------------------
Local Resources
-------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       srvora1           STABLE
ora.ons
               OFFLINE OFFLINE      srvora1           STABLE
-------------------------------------------------------------------
Cluster Resources
-------------------------------------------------------------------
ora.cssd
      1        OFFLINE OFFLINE                        STABLE
ora.diskmon
      1        OFFLINE OFFLINE                        STABLE
ora.evmd
      1        ONLINE  ONLINE       srvora1           STABLE
-------------------------------------------------------------------

[oracle@srvora1 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): srvora1

 

Impeccable ! nous avons bien notre listener enregistré dans Oracle Restart, lequel pourra automatiquement le lancer à chaque reboot (entre autres) !

Enjoy !

 

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article