Vous le savez sans doute tous maintenant, la version 12cR2 d’Oracle est pour le moment uniquement disponible dans le Cloud au travers d’Oracle Database Cloud service; il est cependant facile d’obtenir un accès gratuit pour 30 jours et d’avoir à disposition cette distribution pour satisfaire une curiosité légitime et réaliser quelques tests.
On s’aperçoit cependant qu’un mois c’est très court, surtout si vos autres tâches vous accaparent et vous laissent peu de temps pour le reste.
Aussi, voici comment récupérer la distribution et la cloner sur un de vos serveurs.
Ce que j’ai utilisé est une VM VirtualBox basée sur Oracle Linux 6.6 et déjà configurée avec une version 12.1.0.2 (ce qui évite de se poser toutes les questions sur les pré-requis, qui a priori restent les mêmes). Bien entendu, l’usage de cette distribution ne sera que pour des tests d’évaluation et ne sera en aucun cas lié à l’utilisation en production d’une application.
Première étape : créer votre service base de données dans le Cloud Oracle
Faire une demande d’essai des services Oracle Cloud, si vous avez des doutes sur la démarche, reportez vous à notre précédent article sur le Paas Database.
Après validation et retour de vos identifiants de domaine, créer une instance « Oracle Database Cloud Service », choisir la version « Oracle Database 12c version 2 – Oracle Database Version 12.2.0.1 installé sur Oracle Linux 6.6 » et l’édition désirée, par exemple « Enterprise Edition – Performances extrèmes » qui contient toutes les options.
Entrer toutes les informations nécessaires dans le formulaire pour créer votre base de données en n’oubliant pas de générer vos clés SSH d’accès sécurisé.
Exemple:
Quelques minutes après la soumission du formulaire, vous avez le message de création de l’instance et les informations sur celle-ci, particulièrement l’adresse IP publique de connexion :
Deuxième étape : récupération du binaire 12.2.0.1
Création d’une arborescence de clonage depuis les binaires d’origine.
Connexion via l’adresse IP publique et votre clé privé via putty ou autre (pour moi MobaXterm).
La connexion se fait au travers du compte oracle (pas de mot de passe, votre clé sert d’authentification).
a) Création de l’arborescence de clonage
[oracle@ELEORCL dbhome_1]$ cp -Rp /u01/app/oracle/product/12.2.0/dbhome_1 /u01/app/oracle/product/12.2.0_clone cp: cannot open `/u01/app/oracle/product/12.2.0/dbhome_1/root.sh.bkup' for reading: Permission denied
b) Génération du package tar compressé pour le transfert
[oracle@ELEORCL dbhome_1]$ cd /u01/app/oracle/product/12.2.0_clone [oracle@ELEORCL 12.2.0_clone]$ tar -cvf /u01/source12.2.tar . [oracle@ELEORCL u01]$ du -sh source12.2.tar 8.0G source12.2.tar [oracle@ELEORCL u01]$ gzip source12.2.tar [oracle@ELEORCL u01]$ du -sh source12.2.tar.gz 3.7G source12.2.tar.gz
c) Transfert du package résultant sur votre serveur
Commande « scp » pour réaliser le transfert, avec MobaXterm l’outil est intégré et on navigue graphiquement dans les arborescences cibles ou destinations.
Le taux de transfert dans mon cas a été d’un peu plus de 30Mo/mn soit moins de 2h30 pour récupérer le package des 3,7 Go.
Troisième étape : création ORACLE HOME 12cR2
Se baser sur les informations contenues dans la note MOS : « Cloning An Existing Oracle Database 12c Release 1 (12.1.0.x) RDBMS Installation Using OUI (Doc ID 1493677.1) »
a) Décompression et décompactage du binaire dans le répertoire ORACLE_HOME de destination
Pour moi : /u03/app/oracle/product/12.2
$ gunzip /temp/source12.2.tar.gz $ mkdir /u03/app/oracle/product/12.2 $ cd /u03/app/oracle/product/12 $ tar xvf /temp/source12.2.tar
b) Clonage pour initialisation du nouvel ORACLE_HOME
Utilisation des binaires de la version 12.1 : pour cela, noter qu’un relink des exécutables est réalisé pendant l’opération :
$ . oraenv ORCL121 $ cd $ORACLE_HOME/clone/bin $ perl clone.pl ORACLE_HOME="/u03/app/oracle/product/12.2" ORACLE_HOME_NAME="OraDBHome122" ORACLE_BASE="/u01/app/oracle" OSDBA_group=oinstall OSOPER_GROUP=oinstall ./runInstaller -clone -waitForCompletion "ORACLE_HOME=/u03/app/oracle/product/12.2" "ORACLE_HOME_NAME=OraDBHome122" "ORACLE_BASE=/u01/app/oracle" "OSDBA_group=oinstall" "oracle_install_OSOPER=oinstall" -silent -paramFile /u03/app/oracle/product/12.2/clone/clone_oraparam.ini Démarrage d'Oracle Universal Installer... Vérification de l'espace temporaire : doit être supérieur à 500 Mo. Réel 8235 Mo Succès Vérification de l'espace de swap : il doit être supérieur à 500 Mo. Réel 6015 Mo Succès Préparation du lancement d'Oracle Universal Installer à partir de /tmp/OraInstall2016-12-22_03-38-48PM. Veuillez patienter...Le journal de cette session d'installation se trouve dans : /u01/app/oraInventory/logs/cloneActions2016-12-22_03-38-48PM.log .................................................. 5% Terminé. .................................................. 10% Terminé. .................................................. 15% Terminé. .................................................. 20% Terminé. .................................................. 25% Terminé. .................................................. 30% Terminé. .................................................. 35% Terminé. .................................................. 40% Terminé. .................................................. 45% Terminé. .................................................. 50% Terminé. .................................................. 55% Terminé. .................................................. 60% Terminé. .................................................. 65% Terminé. .................................................. 70% Terminé. .................................................. 75% Terminé. .................................................. 80% Terminé. .................................................. 85% Terminé. .......... Copier les fichiers en cours. Réussite de Copier les fichiers Lier les fichiers binaires en cours. Réussite de Lier les fichiers binaires Fichiers de configuration en cours. Réussite de Fichiers de configuration Configurer l'inventaire en cours. Réussite de Configurer l'inventaire Réussite de Terminer la configuration L'opération clonage de OraDBHome122 a réussi. Pour plus de détails, consultez '/u01/app/oraInventory/logs/cloneActions2016-12-22_03-38-48PM.log'. Configurer Oracle Base en cours. Réussite de Configurer Oracle Base .................................................. 95% Terminé. En tant qu'utilisateur root, exécutez les scripts suivants : 1. /u03/app/oracle/product/12.2/root.sh .................................................. 100% Terminé.
A noter que l’utilisation de la commande « runInstaller.sh » comme précisé dans la note MOS n’a pas fonctionné (blocage et sortie sans message du code java).
c) Mise en place des droits
Avec une connexion « root » , exécution du fichier demandé :
[root@ele1ole6 ~]# /u03/app/oracle/product/12.2/root.sh Check /u03/app/oracle/product/12.2/install/root_ele1ole6_2016-12-22_15-47-56-891239433.log for the output of root script [root@ele1ole6 ~]# cat /u03/app/oracle/product/12.2/install/root_ele1ole6_2016-12-22_15-47-56-891239433.log Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u03/app/oracle/product/12.2 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. Oracle Trace File Analyzer (TFA) is available at : /u03/app/oracle/product/12.2/suptools/tfa/release/tfa_home/bin/tfactl
Avant dernière étape: nettoyage des fichiers de configuration réseaux
Les fichiers « listener.ora » et « sqlnet.ora » provenant du Cloud Oracle sont configurés pour utiliser le cryptage sur le réseau et il y a le nom du serveur dans le fichier « listener.ora ».
Ce n’est pas forcément votre souhait, pour le modifier :
- Supprimer la ligne « SSL_VERSION=1.0 » du fichier « listener.ora »
- Modifier le nom HOST de la définition LISTENER dans le même fichier
- Supprimer le fichier « sqlnet.ora » ou enlever les lignes relatives au cryptage.
Le listener peut ensuite être démarré sans erreur.
Dernière étape: créer votre base de données en version 12.2
Configurer $ORACLE_HOME et $PATH correctement, démarrer « dbca ».
Le reste, vous connaissez, et bonne nouvelle, il n’est pas encore obligatoire de créer une base en configuration « multitenant », l’architecture classique reste possible.
Base créée, vous pouvez vous y connecter et vous voyez que l’entête correspond à la version choisie lors de la création de votre service dans le cloud ORACLE :
[oracle@ele1ole6 bin]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Thu Dec 22 17:46:43 2016 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connecte a : Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production
Maintenant, plus de limite de temps pour tester et envisager vos migrations. En attendant pour démarrer le projet que la distribution soit disponible sur les canaux habituels… ou en prenant un abonnement puisque les nuages ne sont pas seulement là pour rêver.
Petite mise à jour:
En date de début février Oracle a annoncé les dates de la mise à disposition des versions On-Premise de la 12CR2.
Les voici extraites de la note MOS en référence.
On-Premise Engineered Systems
Exadata 15-Feb-2017
Supercluster 15-Feb-2017
Oracle Database Appliance 1HCY2017
On-Premise Server Releases (includes client)
Linux x86-64 15-Mar-2017
Oracle Solaris SPARC (64-bit) 15-Mar-2017
IBM AIX on POWER Systems Q2CY2017
HP-UX Itanium Q2CY2017
Release Schedule of Current Database Releases (Doc ID 742060.1)