Une base dans Oracle Cloud Service

Pour la première fois sur proracle.fr dans la rubrique About testbed, ce n’est pas une installation locale qui est décrite, mais une installation dans le Cloud Oracle, et comment s’y connecter une fois celle-ci créée. Cependant, il faut savoir qu’il y a à ma connaissance au moins 3 types de Cloud chez Oracle pouvant servir à créer une base de données Oracle: Cloud Service, OCI (Oracle Cloud Infrastructure) Compute Classic et OCI Ravello; ici l’article décrit la création d’une instance Oracle dans le Cloud Service. L’interface et le process de création est différents sur les 3 Cloud. Pour la petite histoire, Ravello provient du rachat par Oracle d’une start-up du même nom  en 2016, Compute Classic et Ravello sont donc un peu deux infrastructures qui se font concurrence.

Pour commencer, bonne nouvelle, il n’y a aucun prérequis hardware sur le PC à avoir, et il n’y a pas besoin d’avoir un compte Oracle de type edelivery et/ou sur le support Oracle. Il faut juste avoir accès à internet et… mauvaise nouvelle avoir une carte bleue.

Pour créer un compte sur le Cloud Oracle, rendez vous sur l’url https://cloud.oracle.com/en_US/tryit. Vous aurez alors un compte crédité de 300$ (250€ en fait pour un Européen) utilisable pendant 30 jours. Ceci est vrai à l’heure où j’écris ces lignes mais cela peut changer à tout moment. Attention pour créer un compte, tout comme sur AWS d’Amazon, il faut fournir une carte bleue, mais le compte ne sera pas débité tant que vous n’upgradez pas votre compte, et il arrivera alors à expiration dès les 250€ dépensé ou les 30 jours atteints.

Une fois donc, le compte créé, rendez-vous sur votre dashboard (https://myservices-XXXXXX.console.oraclecloud.com/mycloud/cloudportal/dashboard avec XXXXX le nom de votre cloud que vous venez de créer lors de votre inscription) et cliquez sur "créer une instance":

 

Puis cliquez sur "Create" dans la tuile "Database":

 

Cliquez sur le bouton "Custom":

 

Choisissez le nom de la base, sa version (11.2 à 18), son Edition (Standard à Extreme Performance), le type d’installation (RAC, Dataguard…). Si vous avez une licence Oracle Database disponible pour le type de base que vous êtes en train de créer vous pouvez cocher sur « Bring Your Own License », les crédits seront moins vite consommés:

 

Une paire de clef privée/publique est automatiquement généré. La clef publique sera mise dans l’installation de l’OS Linux pour permettre la première connexion. Téléchargez et enregistrez cette paire de clef, puis cliquez sur "create":

 

Ensuite… il faut un peu de patience, un Oracle Linux avec une base de données s’instancie. Cela prend environ 30 minutes:

Une fois instancié, cliquez sur le service pour avoir plus de détail.

Et voilà, c’est fini. Un serveur Oracle Linux avec une base de données Oracle vient d’être installé et il tourne sans prendre la moindre ressource sur votre PC.

Cependant sur un testbed local, ne se pose pas le problème de l’accès, ici c’est un peu différent, comment faire pour se connecter sur le serveur Linux, ouvrir une session shell ou bien se connecter avec un client sur la base de données ?

Pour se connecter il faut utiliser un client ssh (putty, kitty, mobaxterm…). La procédure de connexion décrite ci-dessous est réalisée avec putty (https://www.putty.org/).  Pour initialiser la connexion il faut utiliser la clef privée précédemment téléchargée, mais comme elle n’est pas compatible directement avec putty, il faut la convertir avec le générateur de clef RSA/DSA puttygen. Si jamais vous avez perdu la paire de clef ou bien vous voulez utiliser votre propre clef, vous rajouter une clef publique sur le serveur en passant par l’interface d’administration :

 

Lancez puttygen et chargez la clef privée précédemment téléchargée, ce qui a pour effet de convertir la clef :

 

Ensuite il faut l’enregistrer pour conserver la conversion compatible avec putty:

 

Maintenant on peut configurer putty pour se connecter en ssh sur le serveur grâce à la clef convertie au bon format, mais aussi le configurer pour avoir un tunnel ssh pour faire passer le protocole du port d’écoute de notre base de données à travers celui du ssh. En effet pas défaut le port d’écoute de la base de données est bloqué, il est possible de le débloquer en cliquant sur Règles d’accès :

 

 

Et dans Acces Rules (tient on vient de passer du Français à l’Anglais), on pourrait ouvrir le port 1521 qui est bloqué:

Pour des questions de sécurité il est préférable de laisser le port bloqué. Et de plus, même si ce n’est qu’un banc de test, il serait dommage que quelques personnes mal attentionnées arrivent à se connecter plus facilement sur la base grâce à ce port et utilise le CPU et les IO du serveur… ce sont des ressources payantes dans le Cloud et celui qui paie c’est celui qui a donné sa carte bleue.

 

Récupérez donc l’adresse IP publique du serveur Linux :

Ouvrez putty et mettez l’adresse IP publique du serveur puis donner un nom qui servira plus tard à sauver la configuration :

 

Allez sur "Data" dans "Connection", mettez oracle dans l’auto-login et bien choisir Prompt :

 

Puis allez dans "Auth", cochez tout comme dans la capture d’écran ci-dessous et avec le bouton "Browse" allez chercher la clef privée précédemment convertie avec puttygen:

 

Allez ensuite dans "Tunnels" et remplissez "Source port" avec un port libre sur votre PC (ici 15210) et dans "Destination" adresse_ip_public:1521 et cliquez sur add (ne pas oublier de cliquer !):

 

Revenez dans Session et cliquez sur "Save":

 

Cliquez sur "Open" et la session ssh s’ouvre automatiquement sans demander de mot de passe :

 

Le tunnel ssh est ouvert, pour joindre la base avec un client Oracle, le chemin réseau est alors //localhost :15210/nom_du_service.

Pour trouver le nom de service dans la session bash précédente faire :

[oracle@WinrocDB20180307 ~]$ lsnrctl services

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 10-MAR-2018 20:46:40
Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WinrocDB20180307.compute-594193049.oraclecloud.internal)(PORT=1521)))
Services Summary...
Service "66d89c8d683c277ee05392891c0ac782.594193049.oraclecloud.internal" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:4 refused:0 state:ready
         LOCAL SERVER
Service "ORCL.594193049.oraclecloud.internal" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:4 refused:0 state:ready
         LOCAL SERVER
Service "ORCL.594193049.oraclecloud.internalXDB" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: WinrocDB20180307, pid: 3410>
         (ADDRESS=(PROTOCOL=tcp)(HOST=WinrocDB20180307.compute-594193049.oraclecloud.internal)(PORT=47712))
Service "pdb1.594193049.oraclecloud.internal" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:4 refused:0 state:ready
         LOCAL SERVER
The command completed successfully

Dans cette exemple, la chaine de connexion est donc //localhost:15210/66d89c8d683c277ee05392891c0ac782.594193049.oraclecloud.internal

Créez un user temporaire pour valider le connectivité:

[oracle@WinrocDB20180307 ~]$ export ORACLE_SID=ORCL
[oracle@WinrocDB20180307 ~]$ sqlplus / as sysdba
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         4 PDB1                           READ WRITE NO
SQL> alter session set container=PDB1 ;

SQL> create user toto identified by toto;
User created.

SQL> grant connect to toto;
Grant succeeded.

 

Il ne reste plus qu’à tester la connexion avec un client Oracle à partir de votre PC. Ici avec un sqlplus :

 

Remarque : Dès que l’on ferme la session ssh putty, le tunnel entre le PC et la base de données se clos et les connexions //localhost:15210/service échoueront.

 

Testbed: Audit Vault 12.2

Dans cet article est décrit l’installation de l’appliance Audit Vault & Database Firewall 12.2 dans l’outil de virtualisation VirtualBox.

Audit Vault et Database Firewall sont deux produits distincts qui n’ont aucun rapport entre eux, mais Oracle les a packagés dans la même appliance. Quand vous achetez l’appliance vous avez 2 produits même si vous n’en utilisez qu’un. Le seul point commun est que leur interface d’administration s’appuie sur APEX (Oracle Application Express), tout comme Key Vault.

Audit Vault est un produit de collecte et de consolidation des logs d’audits mutliplateforme. Il peut collecter les audit trail des bases de données Oracle, SQL Server, Sybase, DB2, MySQL, mais aussi les audit trail des OS comme Linux, AIX, Windows, Solaris. Il peut être customisé pour collecter des informations sur d’autre base de données, un peu comme Splunk par exemple. Et évidement sa spécialité reste Oracle sur lequel il peut aller par exemple auditer dans les redo ou bien manager les audit policies.

Firewall Database, lui, permet de protéger des attaques SQL à la manière d’un firewall. Il analyse les requêtes SQL qui passent sur le réseau avant d’arriver sur le sgbd. Sans trop rentrer dans les détails, son principe est d’avoir une phase d’apprentissage, pendant laquelle il apprend les requêtes autorisées sur une base de données nommée puis ensuite quand il rentre en production, suivant son paramétrage il n’acceptera pas de nouvelle requête. Cela peut être combiné avec des listes blanches ou noires d’utilisateurs, d’adresses IP …. et aussi avec des policies basées sur des IP, période de la journée, application…

Ici nous allons installer l’appliance Audit Vault & Database Firewall 12.2.0.7.0 et initialiser uniquement la partie Audit Vault. Mais avant il faut télécharger les sources à partir votre compte Oracle. Il y a 4 ISO de 4 à 3Go à télécharger. V974324-01.iso, V974325-01.iso et V974326-01.iso pour l’installation d’Audit Vault décrite ici et V974329-01.iso pour l’installation de Firewall Database, ce dernier n’est donc pas obligatoire si vous ne voulez installer qu'Audit Vault.

 

Installation du hardware virtuel

Dans VirtualBox, faite « nouvelle machine » et choisissez le type « Linux » et la version « Oracle (64bit) ». Pour la mémoire il faut mettre 8 Go, cela peut peut-être passer avec moins mais je n’ai pas testé. Il faut savoir que les prérequis pour l’appliance sont de 8Go de RAM minimum pour Audit Vault et 8Go de RAM minumum supplémentaire pour Database Firewall.

 

Ensuite pour la taille du disque, les prérequis sont 300Go pour l’utilisation de Audit Vault et 220Go pour Database Firewall. Si vous mettez moins de 204Go, l’installation ne fonctionnera sur la version 12.2.0.7.0. Donc il faut mettre au minimum 204Go pour faire un banc de test. Vous pouvez laisser le thin provisionning (Dynamiquement alloué en français), pour économiser de la place. Sachez qu’à la fin de l’installation l’empreinte du disque virtuel en thin provisionniong sur le PC hôte sera d’environ 83Go.

 

Modifiez alors la carte réseau pour la mettre en accès par pont, ou bien adoptez à votre environnement. Sur mon PC toutes mes VM dans VirtualBox communiquent entre elle comme cela, elles sont dans le même sous réseau. Et de plus, l’appliance n’a pas besoin de sortir sur internet. En revanche, je ne configure ici qu’une seule interface réseau car je ne vais configurer que Audit Vault et pas Firewall Database qui lui suivant son mode peut nécessiter plusieurs interfaces.

 

Maintenant il faut mettre le DVD virtuel numéro 1 dans le DVDROM virtuel. Le DVD numéro 1 est l’ISO V974324-01.iso:

 

 

Installation Software

Bootez le nouveau serveur, il démarre alors sur le DVD numéro 1.

 

 Tapez sur entrée et c’est parti.

 

Au bout d’un petit moment, l’installation demande le deuxième DVD

 

Pour insérer le deuxième DVD, allez dans Périphérique > Lecteurs optiques > Choisir l’image de disque existante et sélectionner le DVD V974325-01.iso

 

Puis il faut passer à l’ISO suivant qui est le V974326-01.iso en suivant la même procédure que ci-dessus, et enfin remettre le premier V974324-01.iso.

Une étape un peu « galère » est la mise en place de passphrase… comme souvent dans ce genre d’installation on ne peut pas visualiser sur quel clavier on est mappé. Ce que vous pouvez faire si vous êtes comme moi sur un clavier azerty français, est de forcer le clavier qwerty anglais dans l’interface de VirtualBox et de choisir un seul caractère spécial autorisé dans la liste (,. :+_).

 

 

La dernière phase est de choisir les interfaces réseaux, ici il n’y en a qu’une car nous ne configurons qu’Audit Vault.

 

Une fois l’interface sélectionnée, mettez lui une adresse IP, un masque de réseau et une passerelle.

 

Tapez sur entrée… et… attendez, patientez… allez prendre une bière… ah oui aussi, n’oubliez d’enlever la mise en veille du PC hôte… une à deux heures plus tard, enfin l’appliance est finie d’être installée.

 

Post-Installation

Avant de pouvoir utiliser le produit, il reste une étape de création de compte applicatif et d’initialisation de mot de passe des comptes OS de l’appliance.

Cela se fait en se connectant à l’interface d’administration en utilisant un browser web sur une autre serveur/poste client : https://<ip_audit_vault_server>

 

 

Audit Vault serveur est prêt à l’emploi. Comme vous avez pu le constater l’installation est très simple, c’est du « suivant, suivant ».

Maintenant il reste le plus intéressant à faire, configurer l’outil pour récupérer tous les audit trail et les consolider, et ainsi suivre plus facilement ce qu’il se passe sur les bases de données (ou autres) au niveau sécurité… à vous de jouer.Wink

testbed : 12cR1 RAC ASM

Cet article décrit comment installer un RAC 12cR1 (12.1.0.2) sous Oracle Linux 6.7 virtualisé avec VirtualBox.

 

1- Pré-requis

2- Montage virtuel du hardware

3- Installation OS

4- Tuning et prérequis Oracle

5- Les disques partagés, les disques ASM

6- Clonage serveur

7- Installation du clusterware Grid Infrastructure

8- Installation du moteur Oracle Database RAC

 

Pré-requis

L’installation décrite ci-dessous a été faite à partir d’une machine hôte Windows 10 64bit, la procédure restera identique pour un windows 7,8 et 8.1 64 bit, et pratiquement identique si l’hôte est un Linux.

En revanche au niveau hardware de la machine hôtes il est important d’activer dans le BIOS la virtualisation, sinon VirtualBox ne pourra générer de machine virtuelle 64bit mais uniquement des 32bit. Reportez-vous donc à la documentation constructeur de votre carte mère. Exemple dans le BIOS de ma carte mère dans Advanced Menu à CPU Configuration, j’ai activé Intel Virtualization Technology.

Il faut prévoir 8 Go de RAM physique à allouer au 2 serveurs virtuels du cluster RAC. Si vous êtes limite niveau mémoire vous pouvez essayer 6Go (3Go par serveur). Dans la procédure ci-dessous 4Go seront alloués aux serveurs.

Niveau disque dur, il faut prévoir 50Go (extensible à 100Go) pour les OS et l’installation des binaires Oracle mais aussi 84Go fixe pour configurer ASM telle que décrit dans cet article. On pourrait prendre moins pour ASM, mais le banc monté ici servira à un futur article.

La version de VirtualBox utilisé ici est la 5.0.12. La version 4.x devrait être compatible. Vous pouvez télécharger gratuitement VirtualBox ici : https://www.virtualbox.org/wiki/Downloads. Une fois téléchargé, installez VirtualBox, rien de bien compliqué : suivant, suivant.

La version de l’OS invité est Oracle Linux 6.7 64bit. Vous pouvez la télécharger ici : http://edelivery.oracle.com/linux mais il faut avoir un compte chez oracle. Vous pouvez prendre une RedHat 6.7 (si vous avez un compte chez RedHat) ou une CentOS 6.7 (pas besoin de compte : https://www.centos.org/download). La procédure devrait changer légèrement sur certains points comme par exemple pour l’installation d’ASMLib. (J’essaierai d’expliquer les différences).

La version d’Oracle Database est la 12.1.0.2 Entreprise Edition que vous pouvez télécharger ici :http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (choix linux x86-64). En revanche il vous faudra absolument un compte chez Oracle pour la partie Grid Infrastructure (clustering+ASM) ou alors vous procurer les sources pour une connaissance.

 

Montage virtuel du hardware

Pour monter un RAC, il faut au minimum 2 serveurs. Nous allons commencer par "fabriquer" le premier, que nous nommerons 12cR1-RAC1.

Pour cela lancez VirtualBox et cliquez sur le bouton "nouvelle". Le fenêtre ci-dessous s'ouvre alors :

 

Cliquez alors sur Mode Expert puis renseignez le nom, le type (Linux), la version du linux (Oracle 64bit), la taille mémoire (4 Go min conseillé), puis cliquez sur Créer :

 

Pour la création du disque dur virtuel de l’OS, cliquez sur l’icône Répertoire avec le chevron vert, comme dans la capture d’écran ci-dessous :

 

Choisissez l’emplacement du fichier qui servira de disque dur. Par défaut il se trouve dans votre profil windows ce qui n’est pas forcément optimal. Puis pensez aussi à nommer le fichier avec un nom parlant, par exemple 12cR1-RAC1-OS.vdi :

 

Par défaut la taille est à 12Go, montez-la à 15Go. Laissez les autres options par défaut et cliquez sur Créer :

 

Maintenant rajoutez le deuxième disque dur virtuel, pour cela cliquez sur Stockage :

 

Cliquez sur ajouter un disque dur à droite du contrôleur SATA :

 

Cliquez sur Créer un nouveau disque et choisissez VDI puis cliquez sur Suivant :

 

Dynamiquement alloué (le fichier disque dur croitra au fur et à mesure que le disque se remplira) :

 

Comme précédemment choisissez l’emplacement du fichier ainsi que son nom (12cR1-RAC1-oracle.vdi):

 

Cette fois-ci il faut prévoir un peu plus de place (moteur clusterware + database + les traces/log), mettez 35Go :

 

Occupez-vous maintenant des cartes réseaux.

L’ajout de 2 cartes réseaux est suffisant: une pour l’interface dite public et une pour l’interface dite privé,cependant il est intéressant de configurer 3 cartes, pour en dédier une à internet ce qui facilite les mises à jours (nous ne sommes pas en prod !)

Carte 1 en NAT : ce sera celle qui communiquera avec internet

Carte 2 en Accès par pont : ce sera l’interface public

Carte 3 en Réseau interne : ce sera l’interface privé

 

Réglez enfin l’ordre de boot comme ci-dessous :

 

La machine virtuelle est virtuellement montée, tout le hardware virtuel est assemblé.

 

 

 Installation OS

 

Le serveur est prêt, il faut maintenant installer l'operating system. Pour cela comme sur un "vrai" serveur, nous allons booter sur le lecteur DVD-ROM, après avoir inséré le DVD de la distribution Oracle Linux 6.7.

Avant de commencer, choisissez les adresses IP. Il en faut 7, répartis sur 2 plages réseaux distinct : réseau publique et privé.

Sur mes bancs le réseau public est sur le 10.10.0.x, donc je réserve:
10.10.0.121 pour rac12db1, 10.10.0.131 pour ra12db1-vip
10.10.0.122 pour rac12db2, 10.10.0.132 pour ra12db2-vip
10.10.0.120 pour l’adresse de SCAN (normalement c’est trois ou plus pour les adresses de SCAN, mais il faut un DNS ou bien configurer le GNS du clusterware, ce qui ne sera pas le cas ici)

Pour les privées :
10.10.2.11 pour rac12db1-priv
10.10.2.12 pour rac12db2-priv
Les privées ne doivent pas voir un autre réseau.

Pour insérer le DVD, cliquez sur Stockage :

 

Puis cliquer sur le « CD-ROM » vide (pour ouvrir le lecteur):

 

Et chercher l’ISO comme dans la capture d’écran ci-dessous :

 

Une fois le DVD dans le lecteur, démarrez le serveur :

 

 

Le pingouin en armure s’affiche, l'installation de l'OS peut commencer :

Skip et Next :

 

Choisissez le langage que vous souhaitez, mais je conseille de prendre English. Par contre pour le clavier la question ne se pose pas :

 

Basic Storage Devices et Next puis Yes, discard any data :

 

Avant de cliquer sur Configure Network, mettez le nom du hostname :

 

Pour la configuration des interfaces : ne changez rien pour l’eth0, c’est celle qui servira pour accéder à internet ; elle est en DHCP par défaut (si vous fixer les adresses dans votre réseau domestique, alors modifier la configuration).  Modifiez l’interface eth1 et eth2 comme dans les captures d’écran ci-dessous :

   
   

 

Pour le fuseau horaire, je ne peux pas choisir pour vous, même si je suppose que vous êtes francophone, et c’est grand la francophonie Wink. Renseignez ensuite le mot de passe root:

 

Choisissez Use all Space, décochez Encrypt system et cochez Review and modify partitionning layout :

 

Sélectionnez le disque de 15Go (celui dédié OS) dans la fenêtre Target puis Next :

 

Attention à ne pas faire Next tout de suite. En premier sélectionnez la partition sda2, faire edit et diminuez sa taille à 14859Mo, puis validez et sélectionnez lv_swap pour l’augmenter à 4096Mo (le but est de mettre minimum 4Go de swap). Et enfin faire Next :

 

Format et Write changes to disk :

 

Bien vérifiez boot loader on /dev/sda :

 

 Choisissez Basic Server et cochez Customize Now et Next :

 

Les captures d’écran cela serait trop laborieux, un tableau pour résumer les choix:

Base System

Base
Compatibility libraries
Console internet tools
Hardware monitoring utilities
Java Plateform
Large System Performance
Network file system client
Networking tools
Performance tools
Perl support

Servers

Server platform
System administration tools

Desktops

Desktop
Desktop debugging and performance tools
Desktop Platform
Fonts
General Purpose Desktop
Graphical Administration tools
Input Methods
X window system

Applications Internet Browser
Developement

Additional Development

Developement tool

 Validez puis attendez l'installation s’opère:

Une fois l'installation terminé, cliquez sur le bouton Reboot :

La machine reboote et démarre sur la partition de boot de /dev/sda. Au premier boot, une GUI s'ouvre pour finir de renseigner 2 ou 3 parmètres :

Welcome : Forward


License Information : Yes, I agree to the License Agreement 
                              Forward


Set Up Software Updates : No, I prefere to register at a later time
                                      No thanks, I'll connect later
                                      Forward

Create User : ben... vous mettez qui vous voulez cela vous regarde

Date and Time : cela dépend de quand vous arrivez sur cette fenêtre

Kdump :  Décochez "Enable kdump"

 

Tuning et prérequis Oracle

A chaque installation d'un OS dans VirtualBox, il faut le plus rapidement installer les "Additions invité" (Des fois c'est mieux de ne pas traduire en français Wink).

Cet addon, améliore les interactions entre l'hôte et l'invité comme entre autre le montage sous l'invité de répertoires de l'hôte, la possibilité de faire du copier/coller entre l'hôte et l'invité, la modification automatique de la résolution suivant la taille de la fenêtre et plein d'autres choses...

 

Ensuite réglons « aux petits oignons » les iptables :

[root@rac12db1 ~]# chkconfig |grep iptable
iptables          0:off 1:off 2:on  3:on  4:on  5:on  6:off

[root@rac12db1 ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

[root@rac12db1 ~]# chkconfig iptables off
[root@rac12db1 ~]# chkconfig |grep iptable
iptables          0:off 1:off 2:off 3:off 4:off 5:off 6:off

Ne vous embêtez pas avec SELINUX et ses règles, mettez-le en permissive, ce n’est qu’un banc de test:

[root@rac12db1 ~]# vi /etc/selinux/config
SELINUX=permissive

Editez le fichier /etc/grub.conf en tant que root, et à la fin de la ligne de qui contient le kernel actif, rajouter divider=10:

Pensez aussi à configurer un dossier partagé entre l’hôte et l’invité, il servira de zone d’échange pour entre autre les sources Oracle:

 

Un reboot:

[root@rac12db1 ~]#  init 6

Un dernier réglage SELINUX:

[root@rac12db1 ~]# setenforce Permissive

 

Ensuite il faut penser à mettre l' /etc/hosts à jour sinon vous aurez des problèmes au moment de l’installation Oracle :

[root@rac12db1 ~]#  vi /etc/hosts
10.10.0.121  rac12db1 rac12db1.localdomain

10.10.0.122  rac12db2 rac12db2.localdomain
10.10.0.131  rac12db1-vip rac12db1-vip.localdomain
10.10.0.132  rac12db2-vip rac12db2-vip.localdomain
10.10.0.120   rac12db-scan rac12db-scan.localdomain

10.10.2.11 rac12db1-priv
10.10.2.12 rac12db2-priv

Il y a ensuite pas mal de prérequis à vérifier et à installer/configurer le cas échéant. Vous pouvez trouver la liste dans la documentation Oracle (https://docs.oracle.com/database/121/CWLIN/toc.htm). Sinon un peu plus rapide, il existe un rpm qui le fait pour vous. Si vous êtes sous Oracle Linux comme ici il suffit d’activer internet pour lancer un yum install, sinon si vous êtes sur une ReadHat ou CentOS vous pouvez aller télécharger (ou configurer yum) sur http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/index.html

Pour activer internet temporairement, il faut activez la carte réseau eth0 que vous avez précédemment dédié à internet et lancer l'installation avec yum:

[root@rac12db1 ~]# yum install oracle-rdbms-server-12cR1-preinstall -y

Le package a installé les librairies éventuellement manquantes, réglé des valeurs de kernel et aussi créé le compte oracle et le groupe dba. Je n'apprécie pas trop les id choisit mais nous allons faire avec.

Il n’est pas obligatoire de créer les groupes ci-dessous et le user grid. Cependant je conseille de le faire et de toujours le faire. Il est important de s’habituer à la ségrégation des rôles, c’est une question de sécurité. Rajouter des groupes OS après l’installation et re-paramétrer les liens c’est faisable et amusant… quand ce n’est pas de la production.

[root@rac12db1 ~]# groupadd -g 54323 oper
[root@rac12db1 ~]# groupadd -g 54324 backupdba
[root@rac12db1 ~]# groupadd -g 54325 dgdba
[root@rac12db1 ~]# groupadd -g 54326 kmdba
[root@rac12db1 ~]# groupadd -g 54327 asmdba
[root@rac12db1 ~]# groupadd -g 54328 asmoper
[root@rac12db1 ~]# groupadd -g 54329 asmadmin
[root@rac12db1 ~]# usermod -g oinstall -G dba,oper,dgdba,kmdba,backupdba,asmdba oracle
[root@rac12db1 ~]# useradd -u 54322 -g oinstall -G asmdba,asmadmin,asmoper grid

Pensez à changer/initialiser les mots de passe de oracle et grid.

Si le package a bien modifié les paramètres kernel dans /etc/sysctl.conf, en revanche il n’a pas ajouté les limit soft et hard pour oracle, à vous de le faire :

[root@rac12db1 ~]# vi /etc/security/limits.conf
grid   soft   nproc    2047
grid   hard   nproc    16384
grid   soft   nofile    1024
grid   hard   nofile    65536
grid   soft   stack    10240
grid   hard   stack    32768

oracle   soft   nproc    2047
oracle   hard   nproc    16384
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle  hard  memlock  3145728

 

Pour finir la configuration des comptes oracle et grid, customisez leur .bash_profile :

[grid@rac12db1 ~]$ vi .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
export ORACLE_BASE=/oracle/oraBase
export ORACLE_HOME=/oracle/12.1.0.2/grid
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib


[oracle@rac12db1 ~]$ vi .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
export ORACLE_BASE=/oracle/oraBase
export ORACLE_HOME=/oracle/12.1.0.2/database
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib


Il faut aussi partitionner et formater le disque dur « virtuel » dédié à l’installation des moteur clusterware et database.

Avant de partitionner, vérifiez le device. Il ne faudrait pas se tromper maintenant:

[root@rac12db1 etc]# fdisk -l /dev/sdb
Disk /dev/sdb: 37.6 GB, 37580963840 bytes
[...]

La taille correspond et il n'est pas partitionner, alors :

[root@rac12db1 etc]# fdisk  /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (1-4568, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-4568, default 4568):
Using default value 4568

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.


[root@rac12db1 etc]# vgcreate orabin_vg /dev/sdb1
[root@rac12db1 etc]# lvcreate -L 35000M -n lv_orabin orabin_vg
[root@rac12db1 etc]# mkfs.ext4 -m 0 /dev/orabin_vg/lv_orabin
[root@rac12db1 etc]# mkdir /oracle
[root@rac12db1 etc]# vi /etc/fstab
/dev/orabin_vg/lv_orabin /oracle                 ext4    defaults        0 2

[root@rac12db1 etc]# mount -a
[root@rac12db1 etc]# df -h /oracle
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/orabin_vg-lv_orabin
                       34G   48M   34G   1% /oracle

[root@rac12db1 etc]# mkdir -p  /oracle/12.1.0.2/grid
[root@rac12db1 etc]# mkdir -p /oracle/12.1.0.2/database
[root@rac12db1 etc]# mkdir -p /oracle/oraBase
[root@rac12db1 etc]# mkdir -p /oracle/oraInventory
[root@rac12db1 etc]# chown -R grid:oinstall /oracle
[root@rac12db1 etc]# chown -R oracle:oinstall /oracle/12.1.0.2/database

 

 

Les disques partagés, les disques ASM

Ultime dernière étape avant le clonage, il faut présenter les disques qui seront partagés par les deux nœuds du RAC. Ce sont les disques qui seront utilisé par ASM pour stocker entre autre la base de données, mais aussi les voting disk et l’OCR (OLR/OCR/VOTING, kesako?).

Avant de les présenter, il faut les créer. Pour cela arrêtez la VM. Puis sous invite de commande Windows, placez-vous dans le répertoire où vous voulez que vos disques soient puis :

K:\VitualBOX\HardDisk\12cR1-RAC>
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename ocrvot1.vdi --size 8192 --format VDI --variant Fixed    
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename ocrvot2.vdi --size 8192 --format VDI --variant Fixed
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename ocrvot3.vdi --size 8192 --format VDI --variant Fixed

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename data1_1.vdi --size 10240 --format VDI --variant Fixed
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename data1_2.vdi --size 10240 --format VDI --variant Fixed
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename data2_1.vdi --size 10240  --format VDI --variant Fixed
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename data2_2.vdi --size 10240  --format VDI --variant Fixed

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename fra_1.vdi --size 10240 --format VDI --variant Fixed
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename fra_2.vdi --size 10240 --format VDI --variant Fixed

Dans les commandes ci-dessus 3 disques de 8Go ont été créés. Ce sont les disques pour les OCR/Voting. Si jamais ne vous êtes en manque de place vous pouvez créer uniquement un seul disque mais de 11Go alors (je traiterai le cas lors de l’installation du clusterware). Et pour les disques DATA et FRA vous pouvez créer 1 seul disque de minimum 10-15Go.

Ensuite rattachez les disques la VM :

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium ocrvot1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 3 --device 0 --type hdd --medium ocrvot2.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 4 --device 0 --type hdd --medium ocrvot3.vdi --mtype shareable

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 5 --device 0 --type hdd --medium data1_1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 6 --device 0 --type hdd --medium data1_2.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 7 --device 0 --type hdd --medium data2_1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 8 --device 0 --type hdd --medium data2_2.vdi --mtype shareable

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 9 --device 0 --type hdd --medium fra_1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC1 --storagectl "SATA" --port 10 --device 0 --type hdd --medium fra_2.vdi --mtype shareable

Rendez les disques partageables :

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd ocrvot1.vdi --type shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd ocrvot2.vdi --type shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd ocrvot3.vdi --type shareable

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd data1_1.vdi --type shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd data1_2.vdi --type shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd data2_1.vdi --type shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd data2_2.vdi --type shareable

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd fra_1.vdi --type shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd fra_2.vdi --type shareable

Démarrez alors la VM. Les nouveaux disques apparaissent alors dans le système. Identifiez-les. Ce sont tous les /dev/sd* qui n’ont pas de partition :

[root@rac12db1 dev]# ls sd*
sda  sda1  sda2  sdb  sdb1  sdc  sdd  sde  sdf  sdg  sdh  sdi  sdj  sdk

Partitionnez les un par un, une seule partition primaire sur les disques. C’est un peu fastidieux, alors si vous êtes confiant exécutez :

[root@rac12db1 dev]# ls  /dev/sd* |grep -v sda |grep -v sdb | while read sdisk
do
echo "n
p
1


w
"|fdisk $sdisk
done

Les disques sont prêts pour ASMLib. Il faut donc maintenant installer et configurer ASMLib. ASMLib nécessite 3 packages : oracleasmlib, oracleasm-support et kmod-oracleasm.

Le problème en général est de trouver ces 3 rpm, tout est expliqué ici : http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol6-1709075.html

Mais je vais vous expliquez comment les trouver et les installer :

kmod-oracleasm :

Si vous êtes sous Oracle Linux et que vous avez suivi pas à pas la procédure d’installation précédente alors kmod-oracleasm n’a pas besoin d’être installé, il est déjà installé, car vous avez booter sur le noyau Oracle Unbreakable Entreprise Kernel qui l’inclut.

Donc pour ceux qui sont en Oracle Linux 6.7 (non unbreakable), en RedHat 6.7 ou bien en CentOS 6.7, téléchargez le fichier kmod-oracleasm-2.0.8-6.el6_7.x86_64.rpm. Et si vous êtes en 6.6 : kmod-oracleasm-2.0.8-4.el6_6.x86_64.rpm et version antérieur kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm devrait faire l’affaire.

Ensuite l’installation  avec rpm :

[root@rac12db1 ~]# rpm -Uvh kmod-oracleasm-2.0.8-6.el6_7.x86_64.rpm

oracleasmlib :

Si vous n'êtes pas sur Oracle Entreprise Linux il est accessible sur la page  http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol6-1709075.html, à l’heure de l’écriture de l’article c’est : oracleasmlib-2.0.12-1.el6.x86_64.rpm.

Sinon il est dans la distribution sur le DVD :

[root@rac12db1 UnbreakableEntrepriseKernel6.6]# pwd
/media/sf_Sources/ASMlib/UnbreakableEntrepriseKernel6.6
[root@rac12db1 UnbreakableEntrepriseKernel6.6]# rpm -Uvh oracleasmlib-2.0.12-1.el6.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracleasmlib           ########################################### [100%]

oracleasm-support:

Si vous êtes sous Oracle Entrpise Linux, il suffit d’activer eth0 (internet) et lancer :

[root@rac12db1 ~]# yum install oracleasm-support.x86_64  

Sinon si ce n’est pas le cas vous pouvez le trouver ici : http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/index.html. Puis avec rpm à vous de l’installer.

Remarque : Si vous êtes sous OL 7 ou RedHat 7 ou CentOS 7, vous sortez du cadre de l’article Yell mais normalement pas de soucis la procédure devrait être la même pour ASMLib, le repository est alors http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

 

ASMLib est installé, il reste à le configurer :

[root@rac12db1 ~]# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

ASMLib est prêt pour s’approprier les disques et en faire des disques ASM.

[root@rac12db1 dev]#cd /dev
[root@rac12db1 dev]# fdisk -l |grep /dev/sd|grep -v sda |grep -v sdb|grep Disk
Disk /dev/sdc: 8589 MB, 8589934592 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes
Disk /dev/sde: 8589 MB, 8589934592 bytes
Disk /dev/sdf: 10.7 GB, 10737418240 bytes
Disk /dev/sdg: 10.7 GB, 10737418240 bytes
Disk /dev/sdh: 10.7 GB, 10737418240 bytes
Disk /dev/sdi: 10.7 GB, 10737418240 bytes
Disk /dev/sdj: 10.7 GB, 10737418240 bytes
Disk /dev/sdk: 10.7 GB, 10737418240 bytes

Avant de labéliser les disques avec ASMLib, il faut retrouver quel disque et quel disque. Avec le résultat ci-dessus, on peut dire les 8Go sont ceux pour OCR/Voting et les 10Go pour DATA et FRA… et c’est tout.

Un peu laborieux mais pour vérifier que chaque disk sd* correspond bien au disk « physique virtuel » généré avec VirtualBox, voici une méthode :

[root@rac12db1 dev]# cd disk/by-id
[root@rac12db1 by-id]# ls -l |grep sd|grep -v sda|grep -v sdb|grep scsi |grep -v dm|grep part1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VB34814a7e-1bbe6820-part1 -> ../../sdk1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VB45fbb492-13c6e7d7-part1 -> ../../sde1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VB73ea9bca-106a9114-part1 -> ../../sdd1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VB7b373972-90349ce1-part1 -> ../../sdh1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VB809432a6-80485107-part1 -> ../../sdj1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VBaf8f7e52-fd6c5800-part1 -> ../../sdi1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VBd9eed3f6-2298e9fc-part1 -> ../../sdc1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VBfb912517-e582de48-part1 -> ../../sdf1
lrwxrwxrwx. 1 root root 10 Jan 31 17:17 scsi-SATA_VBOX_HARDDISK_VBff774b81-a7db9998-part1 -> ../../sdg1

Ensuite on compare avec le gestionnaire de média de VirtualBox :

Le disque /dev/sdj de correspond au disque fra_1.vdi.

Une fois les disques identifiés, démarrez oracleasm (il redémarrera seul au prochain reboot) et labelisez les disques :

[root@rac12db1 usr]# service oracleasm start
Initializing the Oracle ASMLib driver:                   [  OK  ]
Scanning the system for Oracle ASMLib disks:             [  OK  ]

[root@rac12db1 usr]# oracleasm createdisk ocrvot1 /dev/sdc1
[root@rac12db1 usr]# oracleasm createdisk ocrvot2 /dev/sdd1
[root@rac12db1 usr]# oracleasm createdisk ocrvot3 /dev/sde1
[root@rac12db1 usr]# oracleasm createdisk data1_1 /dev/sdf1
[root@rac12db1 usr]# oracleasm createdisk data1_2 /dev/sdg1
[root@rac12db1 usr]# oracleasm createdisk data2_1 /dev/sdh1
[root@rac12db1 usr]# oracleasm createdisk data2_2 /dev/sdi1
[root@rac12db1 usr]# oracleasm createdisk fra_1 /dev/sdj1
[root@rac12db1 usr]# oracleasm createdisk fra_2 /dev/sdk1

Vérification:

[root@rac12db1 usr]# oracleasm listdisks
DATA1_1
DATA1_2
DATA2_1
DATA2_2
FRA_1
FRA_2
OCRVOT1
OCRVOT2
OCRVOT3

parfait! Le serveur est prêt pour le clonage.

 

Clonage serveur

Si vous n’avez pas envie de recommencer depuis le début pour créer le 2ème serveur du RAC alors clonez le !

Commencez par arrêter le premier serveur. Puis sous invite de commande Windows, placez-vous dans le répertoire où vous voulez que vos disques clonés soient générés :

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd 12cR1-RAC1-OS.vdi 12cR1-RAC2-OS.vdi
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd 12cR1-RAC1-oracle.vdi 12cR1-RAC2-oracle.vdi

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium ocrvot1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 3 --device 0 --type hdd --medium ocrvot2.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 4 --device 0 --type hdd --medium ocrvot3.vdi --mtype shareable

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 5 --device 0 --type hdd --medium data1_1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 6 --device 0 --type hdd --medium data1_2.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 7 --device 0 --type hdd --medium data2_1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 8 --device 0 --type hdd --medium data2_2.vdi --mtype shareable

"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 9 --device 0 --type hdd --medium fra_1.vdi --mtype shareable
"K:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach 12cR1-RAC2 --storagectl "SATA" --port 10 --device 0 --type hdd --medium fra_2.vdi --mtype shareable

Dans la GUI de VirtualBox, il y a maintenant une nouvelle machine : 12cR1-RAC2. Elle est identique à 12cR1-RAC1 ce qui est bien sauf pour la configuration réseau. Démarrez 12cR1-RAC2 (12cR1-RAC1 ne doit pas être démarrée).

 

Première chose à faire, changer le hostname :

[root@rac12db1 ~]# cd /etc/sysconfig
[root@rac12db1 sysconfig]#  vi network
HOSTNAME=rac12db2.localdomain

Les adresses MAC sur la nouvelle machine ne sont pas les mêmes que sur la première. Les fichiers de configuration des interfaces eth0, eth1 et eth2 sont erronés. Il faut les remettre d’aplomb.

[root@rac12db1 sysconfig]#  ifconfig -a|grep HWadd
eth3      Link encap:Ethernet  HWaddr 08:00:27:5C:F4:90
eth4      Link encap:Ethernet  HWaddr 08:00:27:5E:38:10
eth5      Link encap:Ethernet  HWaddr 08:00:27:47:5E:86 

Normalement eth3 correspond à eth0, eth4 à eth1 et eth5 à eth2. Mais vérifiez dans la GUI de VirtualBox, dans l’exemple ci-dessous eth0 de la machine 12cR1-RAC2 a pour Adresse MAC 08:00:27:5C:F4:90 et donc eth3 correspond bien à eth0.

 

L'interface internet en NAT:

[root@rac12db1 sysconfig]# cd /etc/sysconfig/network-scripts

[root@rac12db1 network-scripts]# vi ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:43:5D:77
TYPE=Ethernet
UUID=49b6a08d-32a9-4d11-bd80-a7b89776ec79
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp

devient

DEVICE=eth0
HWADDR=08:00:27:5C:F4:90
TYPE=Ethernet
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp

 

 

L'interface public:

[root@rac12db1 network-scripts]# vi ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=52bc5ffe-af1b-424e-adc1-c57611b1d8b8
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:63:63:5D
IPADDR=10.10.0.121
PREFIX=24
GATEWAY=10.10.0.1
DOMAIN=localdomain
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"

 devient

 DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:47:5E:86
IPADDR=10.10.0.122
PREFIX=24
GATEWAY=10.10.0.1
DOMAIN=localdomain
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"

 

L'interface privé:

[root@rac12db1 network-scripts]# vi ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
UUID=8efc309f-c29b-4b9b-aae8-3fa69f755756
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:78:4B:EA
IPADDR=10.10.2.11
PREFIX=24
GATEWAY=10.10.2.1
DOMAIN=localdomain
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"

devient

DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:5E:38:10
IPADDR=10.10.2.12
PREFIX=24
GATEWAY=10.10.2.1
DOMAIN=localdomain
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"

Rebootez rac12db2 qui s’appelle encore rac12db1 jusqu’à son prochain démarrage:

[root@rac12db1 usr]# init 6

 Et démarrez la machine 12cR1-RAC1.

Sur les 2 machines faites un "ifconfig -a" pour vérifier que les interfaces eth1 sur les 2 serveurs correspondent bien à l’interface public et eth2 à l’interface privée. Il ne faut pas que par exemple : eth1 soit la public sur le premier nœud et eth1 soit l’interface privée sur le deuxième nœud.

Désactiver alors eth0 sur rac12db2 et sur rac12db1 si ce n’est pas déjà le cas.

 

Vérifiez que des 2 serveurs vous pouvez pinger toutes les adresses :
ping rac12db1-priv
ping rac12db2-priv
ping rac12db2
ping rac12db1

 

Installation du clusterware Grid Infrastructure

Déposez les sources grid dans le répertoire partagé sur votre machine hôte (windows ou linux) précédemment définit. Puis à partir du serveur invité rac12db1 décompressez directement le fichier vers lui-même dans /oracle/tmp par exemple.

[root@rac12db1 12cgrid]# pwd
/media/sf_Sources/12c/12cgrid
[root@rac12db1 12cgrid]# unzip p21419221_121020_Linux-x86-64_5of10.zip -d /oracle/tmp_install
[root@rac12db1 12cgrid]# unzip p21419221_121020_Linux-x86-64_6of10.zip -d /oracle/tmp_install

Installez le package cvuqdisk fournit dans la distribution en tant que root et cela sur les 2 serveurs:

[root@rac12db1 rpm]# pwd
/oracle/tmp_install/grid/rpm
[root@rac12db1 rpm]# scp cvuqdisk-1.0.9-1.rpm rac12db2:/tmp
[root@rac12db1 rpm]# rpm -Uvh cvuqdisk-1.0.9-1.rpm
[root@rac12db1 rpm]# ssh rac12db2
[root@rac12db2 rpm]# cd /tmp
[root@rac12db2 tmp]# rpm -Uvh cvuqdisk-1.0.9-1.rpm

L’installateur peut être lancé :

[root@rac12db1 ~]$ cd /oracle/tmp_install
[root@rac12db1 tmp_install]$ chown -R oracle.oinstall grid
[root@rac12db1 tmp_install]$ su - grid
[grid@rac12db1 ~]$ cd /oracle/tmp_install/grid
[grid@rac12db1 grid]$ ./runInstaller

Choisissez Install and Configure Oracle Grid Infrastructure for Cluster

 

puis Next

Choisissez Configure a Standard cluster

 

puis Next

Choisissez Advanced Installation

 

puis Next

Je conseille de laisser par défaut, la langue de Shakespeare uniquement. Si vous y tenez, vous pouvez rajouter la langue de Molière ou tout autre langue comme celle de Goethe.

 

puis Next

Remplissez comme dans la capture d’écran les 3 premiers champs.

Décochez Configure GNS.

 

puis Next

1- cliquez sur Add

2- remplissez le public et virtual hostname correspndant au deuxième noeud

3- cliquez sur OK

1- cliquez sur SSH connectivity

2- renseignez le mot de passe du compte grid

3- cliquez sur Setup

4- la GUI paramètre alors le ssh equivalence entre les 2 comptes grid, et cliquez sur ok quand cela est finit.

Next
 

1- Choisissez Public pour l'interface eth1

2- Choisissez Private pour l'interface eth2

remarque : à adapter si vous n'avez pas suivi à la lettre l'article lors de l'installation.

 

puis Next

 

Use Standard ASM for storage

 

puis Next

1- Choisissez un nom parlant pour le diskgroup qui va contenir les OCR/Voting

2- Si vous avez suivi à la lettre la création des disques ASM, laissez Redundacy sur Normal et cochez les 3 disques ORCL :OCRVOT*.

2bis- Si vous n’avez créé qu’un seul disque pour les OCR/Voting, cochez External et cochez le disque en question.

 

puis Nect

Choisissez le mot de passe pour SYS et ASMSNMP

 

puis Next

Do not use....

 

Puis Next

Ne cochez pas Register.... sauf si vous avez déjà un OEM dans votre réseau et que vous voulez enregisrté le cluster dessus.

 

puis Next

   Next
   

Oracle base et Software location sont pré-remplit avec les bons path (variable environnement de grid).

 

puis Next

L’installateur vous avertit alors que le path Oracle base est à l’extérieur du path de Oracle home. Validez.

 

   Next
 

Déchochez Automatatically run configuration scripts

 

Puis Next

   

4 prérequis sont non remplis.

Physical Memory: Oracle veut 4Go de mémoire physique de libre, or il y a 4Go de mémoire physique totale moins ce qui est pris par l’OS. Oracle fera avec !

 

NTP: Il est très très important que les 2 nœuds du cluster soient synchronisés. Ici NTP n’est pas configuré car les 2 serveurs sont forcément synchronisés ils prennent l’heure de la machine hôte.

 

Resolv.conf: oui normal. Pas de DNS

 

DNS /NIS: oui normal. Pas de DNS tout est static ici

 

Donc cochez Ignore All

Puis Next

Next
Patience...

Alors cette fenêtre signifie d'exécuter dans l'ordre les commandes ci-dessous et de les exécuter uniquement quand la précédente est fini.

[root@rac12db1 ]# /oracle/oraInventory/orainstRoot.sh

[root@rac12db2 ]# /oracle/oraInventory/orainstRoot.sh

[root@rac12db1 ~]$ /oracle/12.1.0.2/grid/root.sh

La commande doit se finir par :CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

C'est normal qu'elle mette du temps à s'exécuter.

[root@rac12db2 ~]$ /oracle/12.1.0.2/grid/root.sh

La commande doit se finir par :CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

 

Alors maintenant vous pouvez cliquez sur OK

   Patience...
 

Erreur sur le Verify Cluster... pas de soucis. L'analyse du log indique des choses que l'on sait déjà ...

INFO: All nodes have same "hosts" entry defined in file "/etc/nsswitch.conf"
INFO: Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed
INFO: ERROR:
INFO: PRVG-1101 : SCAN name "rac12db-scan" failed to resolve
INFO: ERROR:
INFO: PRVF-4657 : Name resolution setup check for "rac12db-scan" (IP
address: 10.10.0.120) failed
INFO: ERROR:
INFO: PRVF-4664 : Found inconsistent name resolution entries for SCAN name "rac12db-scan"
[…]
INFO: Post-check for cluster services setup was unsuccessful on all the nodes.

... oui nous n'avons pas de DNS et pour un banc de test (voir une production) tout va bien se passer.
   Next
   Close

Vérifiez que tout est dans est STABLE :

[grid@rac12db1 ~]$ crsctl status res -t

--------------------------------------------------------------------------------
Name           Target  State        Server                   State details     
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_OCRVOT.dg
               ONLINE  ONLINE       rac12db1                 STABLE
               ONLINE  ONLINE       rac12db2                 STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac12db1                 STABLE
               ONLINE  ONLINE       rac12db2                 STABLE
ora.asm
               ONLINE  ONLINE       rac12db1                 STABLE
               ONLINE  ONLINE       rac12db2                 Started,STABLE
ora.net1.network
               ONLINE  ONLINE       rac12db1                 STABLE
               ONLINE  ONLINE       rac12db2                 STABLE
ora.ons
               ONLINE  ONLINE       rac12db1                 STABLE
               ONLINE  ONLINE       rac12db2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac12db1                 STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac12db1                 169.254.168.172 10.10.2.11,STABLE                                                                                                                   
ora.cvu
      1        ONLINE  ONLINE       rac12db1                 STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac12db1                 Open,STABLE
ora.oc4j
      1        ONLINE  ONLINE       rac12db1                 STABLE
ora.rac12db1.vip
      1        ONLINE  ONLINE       rac12db1                 STABLE
ora.rac12db2.vip
      1        ONLINE  ONLINE       rac12db2                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac12db1                 STABLE
--------------------------------------------------------------------------------

Remarque : Grosse nouveauté par rapport à la 11gR2, il y a une base de donnée en plus des instances +ASM1 et +ASM2. La base de données se nomme -MGMTDB, cela explique les 11Go nécessaire pour les diskgroup OCT/Voting au lieu des 1Go en 11gR2.

[winroc@rac12db1 ~]$ ps -ef |grep pmon
grid      7877     1  0 20:13 ?        00:00:00 mdb_pmon_-MGMTDB
grid     30347     1  0 19:59 ?        00:00:00 asm_pmon_+ASM1

 

Maintenant vous pouvez créer les diskgroups ASM :

[grid@rac12db1 grid]$ asmca

Remarque : Dans la capture d’écran animé ci-dessus les diskgroups DG_DATA1 et DG_DATA2 sont créés en redundancy NORMAL (miroring) alors que le diskgroup DG_FRA en redundacy EXTERNAL. Donc DG_DATA1 et DG_DATA2 font 10Go chacun pour 20Go de disque ASM alors que DG_FRA fait 20Go pour 20Go de disque. DG_DATA1 et DG_DATA2 peuvent perdre un disque chacun sans que des données soient perdues alors que DG_FRA est entièrement perdu dès qu’un de ses disques est perdu.

 

Installation du moteur Oracle Database RAC

Déposez les sources oracle dans le répertoire partagé sur votre machine hôte (windows ou linux) précédemment définit. Puis à partir du serveur invité rac12db1 décompressez directement le fichier vers lui-même dans /oracle/tmp par exemple et lancez l'installation:

[root@rac12db1 12cEE]# unzip p21419221_121020_Linux-x86-64_1of10.zip -d /oracle/tmp_install/
[root@rac12db1 12cEE]# unzip p21419221_121020_Linux-x86-64_2of10.zip -d /oracle/tmp_install/
[root@rac12db1 12cEE]# cd /oracle/tmp_install/
[root@rac12db1 tmp_install]# chown -R oracle.oinstall database
[root@rac12db1 tmp_install]# chmod g+w /oracle/oraBase/

[root@rac12db2 tmp_install]# chmod g+w /oracle/oraBase/     ### sur le 2eme noeud
[root@rac12db1 tmp_install]# cd /oracle/tmp_install/database
[root@rac12db1 tmp_install]# ./runInstaller

Décochez "I wish to receive..."

puis Next

Apparait alors la fenêtre ci-dessus, cliquez sur Yes

 Sélectionnez "Install database software only"

 

puis Next

1- Cliquez sur "SSH connectivity"

2- Renseignez le mot de passe de oracle

3- Cliquez sur "Setup"

4- Attendez le message "Successfully..."

5- OK et Next

 

Je conseille de laisser par défaut, la langue de Shakespeare uniquement. Si vous y tenez, vous pouvez rajouter la langue de Molière ou tout autre langue comme celle de Goethe. (je radote)

 

puis Next

 Next

Next

 

Oui vous êtes sûr (YES)

Si vous avez suivi mes conseils de création de groupe alors tout par défaut

 

Next

Même remarque que pour l'installation du grid précédemment fait.

 

Next

 Next
 

[root@rac12db1 oracle]# /oracle/12.1.0.2/database/root.sh

[root@rac12db2 oracle]# /oracle/12.1.0.2/database/root.sh

 Close

 

 

Vous pouvez maintenant créer votre base de données en RAC avec dbca :

[oracle@rac12db1 ~]$ dbca

 

Je vous laisse là, votre banc de test est prêt.

 

{jcomments on}

Testbed: Key Vault 12.2

Le but de cet article est d’expliquer comment installer l’appliance Oracle Key Vault 12.2 sous VirtualBox dans un but de formation à l’outil Key Vault. Il n’est donc aucunement un guide d’installation dans un environnement de production.

L’outil est très simple d’installation, la documentation Oracle est comme souvent très bien faite, il suffit de la lire. La valeur ajoutée de cet article est l’installation de Key Vault sous VirtualBox, et en particulier dans un environnement hôte francophone (clavier azerty !).

Le media d’installation de Key Vault 12.2 est un ISO Oracle Linux 6.6 et à télécharger sur Oracle Software Delivery Cloud (https://edelivery.oracle.com) et nécessite un compte Oracle.

Oracle recommande de ne pas l’installer sur une machine virtuelle pour un système de production.

Le prérequis hardware sont :

  • CPU : Minimum 2 cores x86 pour installaer Key Vault et recommande 8 à 16 cores. Cependant un core sera suffisant pour monter un serveur de test sous VirtualBox, comme ici. Pour une installation professionnelle il est conseillé d’utiliser des cores avec l’accélération de chiffrement en hardware (cryptographic accelaration sur les Intel Westmere ou plus récent)
  • Mémoire : Minimum 8Go de RAM, recommandé 32Go à 64Go. Dans l’installation ci-dessous, 8Go seront alloués, vous pouvez essayer moins si vous n’avez pas 8Go de disponible sur votre PC, mais moins de 6Go devrait être compliqué, car une fois installé KeyVault serveur utilise 6Go de RAM au démarrage et sans client connecté.

  • Disques : Minimum 250Go de disque dur. Comme nous utilisons VirtualBox, il suffit de créer un disque de 250 Go minimum en allocation dynamique. Les 250Go semblent obligatoires, un test à 30Go génère une erreur lors de l’installation. Il est recommandé pour un système de production 1To.

  • Interface réseau : Une interface réseau.

  • Compatibilité matérielle : Oracle Linux Release 6 update 6.

 

L’installation ci-dessous a été faite avec VirtualBox 5.1.8, et la version de Key Vault est la 12.2.

 

Allons-y :

Comme toujours pour créer une nouvelle machine virtuelle sous VirtuaBox, on commence par cliquer sur le bouton « Nouvelle ».

 

Nommez alors le serveur dans VirtualBox, et choisissez son Type/Version. Comme c’est écrit dans les prérequis, l’appliance est sous Oracle Linux 6.6, donc Type : Linux, et Version : Oracle (64-bit). Ensuite pour la mémoire prenez si vous le pouvez 8Go de RAM. Cochez « Créer un disque virtuel maintenant » et cliquez sur « Créer »

 

Après avoir choisi le nom et l’emplacement de votre disque virtuel, mettez 250Go minimum de taille fichier (et pas 30Go comme sur la capture d’écran ci-dessous). Sélectionnez « Dynamiquement alloué » pour le stockage sur disque dur physique, à moins que vous ayez plein de place à ne plus savoir quoi en faire. Pour information à la fin de l’installation le fichier du disque dur virtuel fera environ 24Go sur votre PC hôtes.

 

La machine est prête, il ne reste plus qu’à insérer virtuellement le CD d’installation, l’ISO téléchargé sur le Delivery d’Oracle.

 

Démarrer alors ce nouveau serveur virtuel. Le familier pingouin en armure de Oracle Linux apparait. Choisissez « Install »

 

La configuration disque et l’installation des packages est automatique

L’installation demande alors de rentrer une passphrase. Cette passphrase sera demandé à l’extinction du serveur et aussi à la première connexion sur la console d’administration. Sachez aussi que le mot de passe doit contenir des majuscules ET des minuscules ET des chiffres ET des caractères spéciaux (uniquement ceux-ci .,+:_ ) et, si vous êtes sur un PC français avec un clavier azerty, sachez alors que vous êtes en qwerty sur le prompt ci-dessous… et je vous conseille donc de mettre pour les chiffres que des 1 et pour les caractères spéciaux que des ! car sur un clavier qwerty la touche du 1 et ! est la même, et c’est la seule, qui contienne un caractère autorisé ainsi qu’un chiffre.

 

Choisissez l’interface réseau. Ici 2 interfaces car j’avais mis une deuxième carte réseau (mais non linké dans VirtuaBox).

 

Validez la carte réseau choisi

 

Il faut configurer l’adresse IP, le masque réseau ainsi que la passerelle. Le plus simple est mettre un IP dans le réseau de vos bancs Oracle.

 

Une fois la passerelle renseignée, tapez sur la touche entrée et rebootez le serveur comme suit :

 

Et là il faut un peu de patience. Au reboot l’appliance s’auto-configure. La documentation dit que cela peut prendre 30 minutes, sur un PC comme le mien il a fallu 35 minutes. Il faut taper sur Shift pour voir l’avancement de l’installation. A la fin de l’installation la fenêtre suivante apparait :

 

L’installation est finie. Le serveur Key Vault est disponible. Cependant il reste une phase post installation pour pouvoir commencer à utiliser Key Vault.

A partir d’un browser web, tapez https://<adresse_IP_de_Key_Vault_applicance>, acceptez le certificat, la fenêtre ci-dessous apparait alors. Rentrez la passphrase mise lors de l’installation. Si vous êtes francophone, attention, vous êtes sans doute en azerty dans votre browser.

 

 

La phase de post installation demande de créer 1 compte unique super-utilisateur ou bien 3 comptes avec des droits différents. Je vous conseille de créer les 3 comptes, c’est plus laborieux pour la suite mais cela permet de bien comprendre la ségrégation des rôles.

 

Il faut aussi renseigner une passphrase de secours. Sur un banc de production à ne pas perdre et à mettre dans un coffre-fort.

Le mot de passe de root doit être initialisé, ainsi que le seul compte autorisé à se connecter en ssh sur le serveur Key Vault.

 

L’appliance est prête à l’emploi à vous de jouer.

 

 

testbed : Oracle Secure Backup 10.4

 

ARCHITECTURE

Cet article décrit la procédure pour installer OSB 10.4.0.3 avec une librairie et des lecteurs de bandes virtuels. Pour une présentation rapide d’OSB voir l’article Qui connait OSB?.

 

Nous utilisons ici deux serveurs linux virtuels sous VirtualBox. Les 2 serveurs sont :

osbserver qui est un serveur Oracle Linux Server release 6.5. Il hébergera le serveur OSB (Administrative Server) et le media (Media Server). La library (librairie), les drives (lecteurs de bande) et les tapes (cassettes) seront virtuels, ils seront aussi installés "dans" ce serveur.

oradbm01 qui est un Oracle Linux Server release 6.3. Un client OSB y sera installé. Il héberge déjà une base de données qui va servir de test et qui se nomme TESTORA, c’est une 11gR2 (oui je sais la 12c est sortie depuis un petit moment)

Ci-dessous le schéma d’architecture de ce que nous allons mettre en œuvre dans cet article:

 

 

 

 

INSTALLATION SERVEUR

 

Avant de commencer l’installation proprement dite sur osbserver, il faut faire un link sur le binaire uncompress à partir de gunzip… oui cela peut apparaitre un peu archaïque  mais c’est comme cela.

[root@osbserver ~]# cd /bin
[root@osbserver bin]# ln -s /bin/gunzip uncompress
[root@osbserver bin]#  type uncompress
uncompress is /bin/uncompress

Il faut aussi couper tous les firewalls comme ci-dessous… sinon vous pouvez toujours les configurer pour laisser passer le flux OSB (mais ce ne sera pas traité ici)

[root@osbserver ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

[root@osbserver ~]# chkconfig iptables off
[root@osbserver ~]# chkconfig ip6tables off

[root@osbserver ~]# service ip6tables stop
ip6tables: Setting chains to policy ACCEPT: filter         [  OK  ]
ip6tables: Flushing firewall rules:                        [  OK  ]
ip6tables: Unloading modules:                              [  OK  ]

[root@osbserver ~]# chkconfig |grep table
ip6tables             0:off      1:off      2:off      3:off      4:off      5:off      6:off
iptables               0:off      1:off      2:off      3:off      4:off      5:off      6:off

Ensuite il faut décompresser les sources, puis lancer l’installation à partir du répertoire où l’on veut que les binaires s’installent… oui cela peut apparaitre un peu archaïque  mais c’est comme cela. Oracle recommande d’installer dans /usr/local/oracle/backup donc je vous conseille d’en faire autant.

[root@osbserver ~]#  mkdir -p /usr/local/oracle/backup
[root@osbserver ~]#  cd /usr/local/oracle/backup
[root@osbserver backup]# unzip /media/sf_Sources/OSB/osb-10.4.0.3.0_linux.x64_release.zip -d /tmp
[root@osbserver backup]# /tmp/osb-10.4.0.3.0_linux.x64_release/setup

Un script interactif se lance alors:

Welcome to Oracle's setup program for Oracle Secure Backup.  This
program loads Oracle Secure Backup software from the CD-ROM to a
filesystem directory of your choosing.

This CD-ROM contains Oracle Secure Backup version 10.4.0.3.0_LINUX64.
Please wait a moment while I learn about this host... done.

Would you like to load the Oracle Secure Backup software into your
current directory /root?
(Oracle recommends using /usr/local/oracle/backup as the Oracle
Secure Backup home)
A 'yes' answer proceeds to use the current directory [yes]:
yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
    1. linux86_64
       administrative server, media server, client

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Loading Oracle Secure Backup installation tools... done.
Loading linux86_64 administrative server, media server, client... done.
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Oracle Secure Backup has installed a new obparameters file.
Your previous version has been saved as install/obparameters.savedbysetup.
Any changes you have made to the previous version must be
made to the new obparameters file.

Would you like to continue Oracle Secure Backup installation with
'installob' now?  (The Oracle Secure Backup Installation Guide
contains complete information about installob.)
Please answer 'yes' or 'no' [yes]:         

      Avant de répondre yes, dans une autre fenêtre, éditer le fichier /usr/local/oracle/backup/install/obparameter et modifier les 2 lignes suivantes pour mettre yes à la place de no :
                                 customized obparameters:                        yes
                                 create pre-authorized oracle user:         yes

    Vous répondez alors yes à la question

yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Welcome to installob, Oracle Secure Backup's installation program.

For most questions, a default answer appears enclosed in square brackets.
Press Enter to select this answer.

Please wait a few seconds while I learn about this machine... done.

Have you already reviewed and customized install/obparameters for your <-- vous venez de le faire pécédement
Oracle Secure Backup installation [yes]?  
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Oracle Secure Backup is not yet installed on this machine.

Oracle Secure Backup's Web server has been loaded, but is not yet configured.

Choose from one of the following options. The option you choose defines
the software components to be installed.

Configuration of this host is required after installation completes.

You can install the software on this host in one of the following ways:
    (a) administrative server, media server and client
    (b) media server and client
    (c) client

If you are not sure which option to choose, please refer to the Oracle
Secure Backup Installation Guide. (a,b or c) [a]? a  <--réponse a (nous installons le serveur)

Beginning the installation.  This will take just a minute and will produce
several lines of informational output.

Installing Oracle Secure Backup on osbserver (Linux version 3.8.13-16.2.1.el6uek.x86_64)

You must now enter a password for the Oracle Secure Backup encryption
key store.  Oracle suggests you choose a password of at least 8
characters in length, containing a mixture of alphabetic and numeric
characters.

Please enter the key store password:     <--mot de passe du wallet qui contiendra les clefs, à ne pas perdre
Re-type password for verification:

You must now enter a password for the Oracle Secure Backup 'admin' user.
Oracle suggests you choose a password of at least 8 characters in length
containing a mixture of alphabetic and numeric characters.

Please enter the admin password:         <-- mot de passe admin de l’application OSB
Re-type password for verification:                                                      

You should now enter an email address for the Oracle Secure Backup 'admin'
user. Oracle Secure Backup uses this email address to send job summary
reports and to notify the user when a job requires input. If you leave this
blank, you can set it later using the obtool's 'chuser' command.

    generating links for admin installation with Web server
[...]
    initializing the administrative domain
    creating default oracle user

****************************** N O T E ******************************
On Linux systems Oracle recommends that you answer no to the next two
questions. The preferred mode of operation on Linux systems is to use
the /dev/sg devices for attach points as described in the 'ReadMe'
and in the 'Installation and Configuration Guide'.

Is client connected to any tape libraries that you'd like to use with

Oracle Secure Backup [no]?       <-- non, plus tard merci

Is client connected to any tape drives that you'd like to use with

Oracle Secure Backup [no]?       <-- non, plus tard merci                                                                                               
Installation summary:

    Installation  Host                OS          Driver     OS Move    Reboot
        Mode      Name                Name      Installed?  Required?  Required?
         admin         client              Linux     no          no         no  

Oracle Secure Backup is now ready for your use. 

Et voilà les binaires sont installés sur notre serveur nommé osbserver. Comme vous avez pu le constater l’installation est assez basique.

 

Configuration de la library et des drives

 Les drives physiques et la librairie physique n’existent pas dans notre cas, on va en créer des virtuels grâce à OSB.

OSB a une interface graphique, une GUI sous http, comme nous le verrons plus loin dans l’article. Mais aussi, comme tout vrai outil, une interface en ligne de commande qui, si elle est moins conviviale, est beaucoup plus efficace et plus riche en fonctionnalité. L’outil en ligne de commande s’appelle obtool.

 

Nous allons donc configurer nos drives et notre librairie avec obtool. Mais avant, nous créons un répertoire où nous mettrons notre « hardware virtuel », il y sera stocker sous formes de fichiers et répertoires.

[root@osbserver ~]#   mkdir /devirtual

Puis que le hardware soit !

[root@osbserver ~]# obtool
Oracle Secure Backup 10.4.0.3.0
Warning: auto-login failed - login token has expired
login: admin
Password:

ob> obtool -u admin chhost -r client,admin,mediaserver "osbserver"
ob> obtool -u admin mkdev -t library -o -S 12 -I 2 -a osbserver:/devirtual/vlib -v vlib
ob> obtool -u admin mkdev -t tape -o -a osbserver:/devirtual/vdte1 -v -l vlib -d 1 vdte1
ob> obtool -u admin mkdev -t tape -o -a osbserver:/devirtual/vdte2 -v -l vlib -d 2 vdte2

Et voilà, nous avons deux drives dans une librairie de 12slots.

Vous pouvez les visualiser sous obtool :

ob> lsdev -v
library             vlib             in service         
  drive 1           vdte1            in service         
  drive 2           vdte2            in service         

Ou alors visualiser sous la GUI : http://osbserver

Ah j’ai failli oublier, c’est bien beau une librairie et deux drives, mais sans cassette il n’y aura pas de backup. Mettons donc des tapes vituelles… au moins elles ne coûtent pas chères… aller 10 tapes…

Et une fois cela fait, visualisons les sous la GUI :

Cliquez sur "Libraries"

Mettez en surbrillance "library" puis cliquez sur le bouton "List Volumes"

 

Au tour du client maintenant…

 

INSTALLATION CLIENT

Le client va être installé sur le serveur oradbm1.

L’installation d’un client ressemble à celle du serveur, c’est le même principe, la même source, la différence se fait sur le choix des réponses donc :

[root@oradbm1 ~]# mkdir -p /usr/local/oracle/backup
[root@oradbm1 ~]#  cd /bin
[root@oradbm1 bin]#  ln -s /bin/gunzip uncompress
[root@oradbm1 bin]#  type uncompress
uncompress is /bin/uncompress
[root@oradbm1 bin]# cd /usr/local/oracle/backup
[root@oradbm1 backup]# unzip /media/sf_Sources/OSB/osb-10.4.0.3.0_linux.x64_release.zip -d /tmp

[root@oradbm1 backup]#  /tmp/osb-10.4.0.3.0_linux.x64_release/setup
Welcome to Oracle's setup program for Oracle Secure Backup.  This
program loads Oracle Secure Backup software from the CD-ROM to a
filesystem directory of your choosing.

This CD-ROM contains Oracle Secure Backup version 10.4.0.3.0_LINUX64.

Please wait a moment while I learn about this host... done.
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
    1. linux86_64
       administrative server, media server, client

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Loading Oracle Secure Backup installation tools... done.
Loading linux86_64 administrative server, media server, client... done.

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Loading of Oracle Secure Backup software from CD-ROM is complete.
You may unmount and remove the CD-ROM.

Would you like to continue Oracle Secure Backup installation with
'installob' now?  (The Oracle Secure Backup Installation Guide
contains complete information about installob.)
Please answer 'yes' or 'no' [yes]: yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Welcome to installob, Oracle Secure Backup's installation program.

For most questions, a default answer appears enclosed in square brackets.
Press Enter to select this answer.

Please wait a few seconds while I learn about this machine... done.

Have you already reviewed and customized install/obparameters for your
Oracle Secure Backup installation [yes]?  yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Oracle Secure Backup is not yet installed on this machine.
Oracle Secure Backup's Web server has been loaded, but is not yet configured.

Choose from one of the following options. The option you choose defines
the software components to be installed.

Configuration of this host is required after installation completes.

You can install the software on this host in one of the following ways:
    (a) administrative server, media server and client
    (b) media server and client
    (c) client

If you are not sure which option to choose, please refer to the Oracle
Secure Backup Installation Guide. (a,b or c) [a]? c

Beginning the installation.  This will take just a minute and will produce
several lines of informational output.

Installing Oracle Secure Backup on oradbm1 (Linux version 2.6.39-200.24.1.el6uek.x86_64)

    generating links for client installation
    updating /etc/ld.so.conf
[...]
    Starting Oracle Secure Backup service daemon (/etc/observiced)

Installation summary:

    Installation  Host                OS          Driver     OS Move    Reboot
        Mode      Name                Name      Installed?  Required?  Required?

    client        oradbm1             Linux     no          no         no  

Oracle Secure Backup is now ready for your use. 

Et voilà les binaires sont installés. Il ne reste plus qu’à déclarer le client oradbm1. Cela se fait à partir du serveur OSB: osbserver. Nous allons le faire par la GUI.

Cliquez sur le lien "Hosts"

Cliquez sur le bouton "Add"

Remplir les champs comme dans la capture d'écran ci-dessous, puis cliquez sur le bouton "Apply"

Et voilà oradbm1 est déclaré comme client dans OSB

 

 

Configuration rapide

Le serveur oradbm1 est déclaré client, mais il faut donner maintenant le droit à un compte identifié de lancer un backup. Comme nous sommes des DBA « pro » Oracle Wink, nous allons choisir le compte oracle et nous allons lui donner le droit d’exécuter des backups sur tape avec notre outil de backup fétiche : RMAN.

Pour illustrer le fait que tout peut se faire en ligne de commande ou bien par la GUI, les deux méthodes sont décrites ci-dessous. Toutes les deux s'exécutent à partir de osbserver.

Cliquez sur le lien "Users"

Puis cliquez sur « Add » et remplir avec le compte oracle qui est le propriétaire de notre sgbd préféré sur oradbm1 ainsi que son groupe et ensuite cliquez sur « Preauthorized Access »

Selectionnez "rman" dans le champs "Attributes", puis cliquez sur le bouton "Add"

 

 

Sinon en une seule ligne de commande :

ob>mkuser --class oracle --preauth oradbm1:+rman oracle

La ligne de commande est plus efficace mais moins visuel.

Pour vérifier si le compte a bien été ajouté :

ob> lsuser --long oracle
oracle:
    Password:               (set)
    User class:             oracle
    Given name:             [none]
    UNIX name:              oracle
    UNIX group:             dba
    Windows domain/acct:    [all] Administrator
    NDMP server user:       no
    Email address:          [none]
    UUID:                   d8b0ada0-95de-1031-9781-080027cc830c
    Preauthorized access:
        Hostname:           [all]
        Username:           [all]
        Windows domain:     [all]
        RMAN enabled:       yes
        Cmdline enabled:    no
    Preauthorized access:
        Hostname:           oradbm1
        Username:           oracle
        Windows domain:     [all]
        RMAN enabled:       yes
        Cmdline enabled:    no

Nous pourrions lancer notre backup RMAN, mais nous allons faire rapidement une petite configuration en plus sur les medias… histoire de vous faire une petite introduction sur certaines notions d’OSB. 

Configurons une Media Family. C’est quoi une Media Family ? Une Media Family caractérise un ensemble de volume (cassette) avec des attributs communs. Les attributs sont :
-          une séquence d'identification commune
-          une police d'expiration
-          une plage d'écriture temporelle
-          une policy de rotation

Par défaut il y a deux Media Family de configurées:
-          OSB-CATALOG-MF : pour y écrire les backups du catalog d'OSB
-          RMAN-DEFAULT : pour y écrire les backups RMAN… c’est bien un produit Oracle Wink

 

Nous allons créer notre propre Media Family pour mieux comprendre. Cliquer sur « add » (image ci-dessus), la fenêtre New Media Families s’ouvre alors, et la remplir comme dans l’exemple ci-dessous.

 

Une petite explication rapide pour certains champs ci-dessus :

- Unique to this media family : une identification unique à la Media Family c'est à dire que les volumes (tapes) seront nommés (labélisés)  RMAN-PROD-xxxx.
- Volume expiration : la police d'expiration sera "Content managed"  c'est à dire que l'expiration des données appartenant à cette Media Family, ne sera pas géré par OSB avec une police basée sur une rétention  basée sur le temps. C’est typiquement le cas des backups RMAN, c'est RMAN qui gérera l'obsolescence des données et pas OSB.
- Write window : plage d'écriture non spécifié. Tant que pas pleine les tapes peuvent être écrites

Une autre notion et une autre configuration, facultative, avant de lancer notre premier backup de test : le Storage Selector.

Le rôle du Storage Selector est d'orienter automatiquement un backup vers une Media Family. Nous allons créer un Storage Selector pour notre media family RMAN-PROD. Nous allons dire à notre Storage Selector que quand notre base de données de production TESTORA demande à être backupée c’est la Media Family RMAN-PROD qui doit être utilisé.

Pour identifier de manière unique notre base, il faut récupérer son DBID qui est censé être unique :

SQL> select DBID from v$database;

      DBID
----------
630020041

Maintenant que nous avons son DBID, créons le Storage Selector FOR_PROD. Ce Storage Selector peut servir à plusieurs bases de données.

Pour cela graphiquement (Configure -> Database Backup Storage Selectors -> Add):

 

Sinon en ligne de commande sous obtool à partir de osbserver:

ob> mkssel --dbid 630020041 --host oradbm1 --content all --family RMAN-PROD  FOR_PROD

 Dans les deux cas, graphique et ligne de commandes cela veut dire:

Crée un Storage Selector FOR_PROD qui renvoie sur RMAN-PROD pour tous les types de backup (controlfile, archivelog, datafile… =  --content all) de base de données pour le client oradbm1 (on peut rajouter des hosts, ou dire tous) et quand la base a le dbid 630020041.

 

Et voilà c’est finit le banc est prêt, à vous de jouer…

 

Backup !!!!

… bon d’accord, je vais faire un backup de la base de TESTORA pour prouver que je ne vous ai pas pipeauté… attention c’est parti :

rman target /
run {
allocate channel t1 type 'sbt_tape';
backup full  database;
}
using target database control file instead of recovery catalog
allocated channel: t1
channel t1: SID=28 device type=SBT_TAPE
channel t1: Oracle Secure Backup

Starting backup at 15-OCT-14
channel t1: starting full datafile backup set
channel t1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oradata/TESTORA/system01.dbf
input datafile file number=00002 name=/oradata/TESTORA/sysaux01.dbf
input datafile file number=00003 name=/oradata/TESTORA/undotbs01.dbf
input datafile file number=00004 name=/oradata/TESTORA/users01.dbf
channel t1: starting piece 1 at 15-OCT-14
released channel: t1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t1 channel at 10/15/2014 20:35:03
ORA-19506: failed to create sequential file, name="0mpl547l_1_1", parms=""
ORA-27028: skgfqcre: sbtbackup returned error
ORA-19511: Error received from media manager layer, error text:
   shmcheck: obscheduled reports that job oracle/7.1 was cancelled.

….euh… petit malaise… échec! Pourquoi?... j’ai investigué un petit moment avant de trouver et ce n’est pas grâce à google car OSB n’est pas trop référencé sur google… c’est un peu le problème.

Dans l’interface sur le serveur OSB on voit bien le job en running puis il tombe en pending request. Si on va dans l’onglet Manage puis Job puis on appuie sur le bouton « Show Transcript », on voit l’erreur suivante :

NDMP_MOVER_LISTEN failed because a listen socket couldn't be created.
The error reported was "host not found (FSP network database manager)".
Error: can't tell NDMP mover on osbserver to listen - I/O error (NDMP client)

 

Donc le client s’est bien connecté au serveur pour lancer le job mais il y a une erreur « host not found ». Mais de quel host parle-t-il donc ? La réponse se trouve dans un fichier de log sur le serveur OSB (trop facile sinon):

[root@osbserver tmp]# tail  /usr/tmp/obndmpdms.log
2014/10/15.14:18:11 [3025] ndmpdcreatelistensock:    unknown host - osbserver.localdomain
2014/10/15.14:18:11 [3025] svc_moverlisten:    mover can't create listen socket
2014/10/15.14:19:23 [3492] ndmpdcreatelistensock:    unknown host - osbserver.localdomain
2014/10/15.14:19:23 [3492] svc_moverlisten:    mover can't create listen socket

Le unknown host porte sur le host observer.localdomain, et effectivement dans tous les /etc/hosts de tous mes serveurs de testbed observer était le seul sans l’entrée .localdomain, donc j'ai rajouté :

#OSB-server
10.10.0.70   osbserver osbserver.localdomain

 

Relançons :

rman target /
run {
allocate channel t1 type 'sbt_tape';
backup full  database;
}
using target database control file instead of recovery catalog
allocated channel: t1
channel t1: SID=40 device type=SBT_TAPE
channel t1: Oracle Secure Backup

Starting backup at 15-OCT-14
channel t1: starting full datafile backup set
channel t1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oradata/TESTORA/system01.dbf
input datafile file number=00002 name=/oradata/TESTORA/sysaux01.dbf
input datafile file number=00003 name=/oradata/TESTORA/undotbs01.dbf
input datafile file number=00004 name=/oradata/TESTORA/users01.dbf
channel t1: starting piece 1 at 15-OCT-14
channel t1: finished piece 1 at 15-OCT-14
piece handle=0npl55n8_1_1 tag=TAG20141015T204320 comment=API Version 2.0,MMS Version 10.4.0.3
channel t1: backup set complete, elapsed time: 00:04:35
Finished backup at 15-OCT-14

Starting Control File and SPFILE Autobackup at 15-OCT-14
piece handle=c-630020041-20141015-00 comment=API Version 2.0,MMS Version 10.4.0.3
Finished Control File and SPFILE Autobackup at 15-OCT-14
released channel: t1

 

... tout simplement

 

Le testbed est opérationnel, à vous de tester OSB maintenant. Il y a plein de chose à faire : des backups filesystem, programmer les jobs, faire des restaurations, mettre en place des police de rétention, de rotation, mettre en place le vaulting, faire des backups chiffrés, et enfin détruire le testbed pour l’étape ultime tout restaurer from scratch juste avec les bandes !!!

 

Vous pouvez lire la documentation http://docs.oracle.com/cd/E14812_01/welcome.html , pour faire tout cela. Pour une fois je ne trouve pas la documentation oracle très clair en particulier sur les polices de retention et de rotation et aussi sur le vaulting. Mais comme souvent si on peut tester par soit même, on arrive à mieux assimiler la documentation et comprendre les subtilités.

 {jcomments on}