Oracle Database 12c Release 2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 78

Oracle Database 12c Release 2 (12.

2) RAC sur Oracle


Linux 7 à l'aide de VirtualBox
Cet article décrit l'installation d'Oracle Database 12c Release 2 (12.2 64 bits) RAC sur Linux
(Oracle Linux 7 64 bits) à l'aide de VirtualBox (5.1) sans périphériques de disque partagé
supplémentaires.

• TL; DR
• introduction
• Télécharger des logiciels
• Installation de VirtualBox
• Configuration du réseau VirtualBox
• Configuration de la machine virtuelle
• Installation du système d'exploitation invité
• Conditions préalables à l'installation d'Oracle

o Configuration automatique
o Configuration manuelle
o Configuration supplémentaire
• Installer les ajouts invités
• Créer des disques partagés
• Cloner la machine virtuelle
• Installer l'infrastructure de réseau
• Installez le logiciel de base de données
• Créer une base de données
• Vérifiez l'état du RAC

Articles Liés.

• Tous les articles de RAC


• Oracle Database 12c Release 2 (12.2) RAC sur Oracle Linux 6 à l'aide de VirtualBox

TL; DR
Si vous êtes à l'aise avec VirtualBox, Vagrant et RAC, vous voudrez peut-être accéder
directement au référentiel GitHub et utiliser les instructions de base ici , plutôt que de
travailler sur une construction manuelle.
Introduction
L'un des principaux obstacles qui empêchent les utilisateurs de configurer des
environnements de test RAC est l'exigence d'un stockage partagé. Dans un
environnement de production, le stockage partagé est souvent fourni par un SAN ou un
périphérique NAS haut de gamme, mais ces deux options sont très coûteuses lorsque tout
ce que vous voulez faire est d'acquérir une certaine expérience dans l'installation et
l'utilisation de RAC. Une alternative moins chère consiste à utiliser la virtualisation pour
simuler le stockage partagé.

En utilisant VirtualBox, vous pouvez exécuter plusieurs machines virtuelles (VM) sur un seul
serveur, ce qui vous permet d'exécuter les deux nœuds RAC sur une seule machine. En
outre, il vous permet de configurer des disques virtuels partagés, surmontant l'obstacle
du stockage partagé coûteux.

Avant de vous lancer dans cette installation, voici quelques éléments à prendre en compte.

• Le système fini comprend le système d'exploitation hôte, deux systèmes


d'exploitation invités, deux ensembles d'Oracle Grid Infrastructure (Clusterware +
ASM) et deux instances de base de données, le tout sur un seul serveur. Comme
vous pouvez l'imaginer, cela nécessite une quantité importante d'espace disque, de
processeur et de mémoire.
• Dans la continuité du dernier point, les VM auront chacune besoin d'au moins 4G
de RAM, de préférence plus si vous ne voulez pas que les VM s'échangent comme
un fou. Ne supposez pas que vous pourrez l'exécuter sur un petit PC ou un
ordinateur portable. Vous ne le ferez pas.
• Cette procédure fournit une installation simple pour faire fonctionner le RAC. Il n'y
a pas de redondance dans l'installation de Grid Infrastructure ou dans l'installation
ASM. Pour ajouter cela, créez simplement le double de la quantité de disques
partagés et sélectionnez l'option de redondance "Normale" lorsqu'elle est
proposée. Bien sûr, cela prendra plus d'espace disque.
• Lors de la création du disque virtuel, je choisis toujours de ne pas préallouer
l'espace disque. Cela ralentit l'accès au disque virtuel pendant l'installation, mais
économise de l'espace disque gaspillé. Les disques partagés doivent avoir leur
espace préalloué.
• Ce n'est pas, et ne devrait pas être considéré, un système prêt pour la
production. C'est simplement pour vous permettre de vous habituer à l'installation
et à l'utilisation de RAC.
• Le nom d'accès client unique (SCAN) doit être défini dans le DNS ou GNS et à tour
de rôle entre l'une des 3 adresses, qui se trouvent sur le même sous-réseau que les
adresses IP publiques et virtuelles. Avant la version 11.2.0.2, elle pouvait être définie
comme une seule adresse IP dans le fichier "/ etc / hosts", ce qui est incorrect et
entraînera l'échec de la vérification du cluster, mais cela vous permettait de
terminer l'installation sans la présence d'un DNS . Cela ne semble pas fonctionner
pour la version 11.2.0.2 et les versions ultérieures.
• Les machines virtuelles peuvent être limitées à 2Gig de swap, ce qui provoque un
échec de vérification des prérequis, mais n'empêche pas l'installation de
fonctionner. Si vous voulez éviter cela, définissez 3 + Go de swap.
• Cet article utilise les versions 64 bits d'Oracle Linux et d'Oracle 12c Release 2.
• Lors de cette installation sur mon serveur, j'ai divisé les disques virtuels sur
différents disques physiques ("/ u02", "/ u03", "/ u04"). Ce n'est pas nécessaire, mais
cela accélère un peu les choses.

Cette procédure devrait s'exécuter avec succès sur un hôte Linux et Windows. Le cas
échéant, j'ai inclus les commandes Linux et Windows à exécuter sur l'hôte, alors choisissez
les commandes appropriées.

Bien que j'aie terminé cette installation avec des VM 4G, elle était chroniquement lente. Je
suggérerais d'utiliser autant de mémoire que possible, sans faire permuter le système
d'exploitation hôte.

Télécharger des logiciels


Téléchargez le logiciel suivant.

• Oracle Linux 7 (Utilisez la dernière version, par exemple 7.3)


• VirtualBox (5.1.14)
• Logiciel Oracle 12c Release 2 (12.2.0.1) (64 bits)
En fonction de votre version de VirtualBox et d'Oracle Linux, il peut y avoir de légères
variations dans l'apparence des captures d'écran.

Installation de VirtualBox
Tout d'abord, installez le logiciel VirtualBox. Sur RHEL et ses clones, vous faites cela avec
le type de commande suivant en tant qu'utilisateur root. Sous Windows, exécutez
simplement le ".exe".

# rpm -Uvh VirtualBox * .rpm

Le nom du package varie en fonction de la distribution hôte que vous utilisez. Une fois
terminé, VirtualBox est lancé à partir du menu.

Configuration du réseau VirtualBox


Nous devons nous assurer qu'un réseau hôte uniquement est configuré et vérifier /
modifier la plage IP de ce réseau. Ce sera le réseau public de notre installation RAC.

• Démarrez VirtualBox à partir du menu.


• Sélectionnez l'option de menu "Fichier> Préférences".
• Cliquez sur "Réseau" dans le volet gauche et cliquez sur l'onglet "Réseaux d'hôte
uniquement".
• Cliquez sur le bouton "Ajoute un nouveau réseau hôte uniquement" sur la bonne
taille de l'écran. En fonction du système d'exploitation hôte, un réseau appelé
«vboxnet0» ou «VirtualBox Host-Only Ethernet Adapter» sera créé.
Cliquez sur «Modifie le réseau hôte uniquement sélectionné». bouton sur la bonne
taille de l'écran.

• Si vous souhaitez utiliser un sous-réseau différent pour vos adresses publiques,


vous pouvez modifier les détails du réseau ici. Assurez-vous simplement que le
sous-réseau que vous choisissez ne correspond à aucun sous-réseau réel de votre
réseau. J'ai décidé de m'en tenir à la valeur par défaut, qui pour moi est
"192.168.56.X".

• Utilisez les boutons "OK" pour sortir de cet écran.


• Cliquez sur l'onglet "Réseaux NAT". Si vous n'avez pas de réseau NAT défini, cliquez
sur le bouton "+". Vous ne devriez pas avoir besoin de configurer cela.
• Cliquez sur le bouton "OK" pour fermer la boîte de dialogue des préférences.

Configuration de la machine virtuelle


Nous devons maintenant définir les deux nœuds RAC virtuels. Nous pouvons gagner du
temps en définissant une VM, puis en la clonant lors de son installation.

Démarrez VirtualBox et cliquez sur le bouton "Nouveau" dans la barre d'outils. Entrez le
nom "ol7-122-rac1", le système d'exploitation "Linux" et la version "Oracle (64 bits)", puis
cliquez sur le bouton "Suivant".

Entrez "4096" comme taille de mémoire de base, puis cliquez sur le bouton
"Suivant". Utilisez plus de mémoire si vous avez suffisamment de mémoire physique sur
votre machine, car cela rendra le processus beaucoup plus rapide!
Acceptez l'option par défaut pour créer un nouveau disque dur virtuel en cliquant sur le
bouton "Créer".

Acceptez le type de fichier par défaut du disque dur en cliquant sur le bouton "Suivant".
Acceptez l'option «Alloué dynamiquement» en cliquant sur le bouton «Suivant».
Acceptez l'emplacement par défaut et définissez la taille sur "50G", puis cliquez sur le
bouton "Créer". Si vous pouvez répartir les disques virtuels sur différents disques
physiques, cela améliorera les performances.
La VM "ol7-122-rac1" apparaîtra dans le volet gauche. Faites défiler les détails sur la droite
et cliquez sur le lien "Réseau".
Assurez-vous que "Adaptateur 1" est activé, réglé sur "NAT", puis cliquez sur l'onglet
"Adaptateur 2".
Assurez-vous que "Adaptateur 2" est activé, réglé sur "Adaptateur hôte uniquement", puis
cliquez sur l'onglet "Adaptateur 3".
Assurez-vous que "Adaptateur 3" est activé, réglé sur "Réseau interne", puis cliquez sur la
section "Système".

Déplacez "Hard Disk" en haut de l'ordre de démarrage et décochez l'option "Floppy", puis
cliquez sur le bouton "OK".
La machine virtuelle est maintenant configurée afin que nous puissions démarrer
l'installation du système d'exploitation invité.

Installation du système d'exploitation invité


Avec la nouvelle VM en surbrillance, cliquez sur le bouton "Démarrer" dans la barre
d'outils. Sur l'écran "Sélectionner le disque de démarrage", choisissez l'image ISO Oracle
Linux appropriée et cliquez sur le bouton "Démarrer".
Si l'écran "Sélectionner le disque de démarrage" n'apparaît pas, utilisez l'option de menu
"Périphériques> Lecteurs optiques> Choisir l'image du disque ..." pour sélectionner
l'image ISO appropriée, puis redémarrez la VM en utilisant "Machine> Réinitialiser" option
de menu.

La fenêtre de console résultante contiendra l'écran de démarrage d'Oracle Linux.


Continuez l'installation d'Oracle Linux 7 comme vous le feriez pour un serveur de base. Un
guide illustré général de l'installation peut être trouvé ici . Plus précisément, il doit s'agir
d'une installation de serveur avec un minimum de swap 4G +, un pare-feu désactivé,
SELinux réglé sur permissif et les groupes de packages suivants installés:

• Serveur avec GUI


• Utilitaires de surveillance du matériel
• Performances des grands systèmes
• Client de système de fichiers réseau
• Outils de performance
• Bibliothèques de compatibilité
• Outils de développement

Pour être cohérent avec le reste de l'article, les informations suivantes doivent être définies
lors de l'installation.
• nom d'hôte: ol7-122-rac1.localdomain
• enp0s3 (eth0): DHCP (connexion automatique)
• enp0s8 (eth1): IP = 192.168.56.101, Subnet = 255.255.255.0, Gateway =
192.168.56.1, DNS = 192.168.56.1, Search = localdomain (se connecter
automatiquement)
• enp0s9 (eth2): IP = 192.168.1.101, Subnet = 255.255.255.0, Gateway = <blank>,
DNS = <blank>, Search = <blank> (se connecter automatiquement)

Vous êtes libre de modifier les adresses IP en fonction de votre réseau, mais n'oubliez pas
de rester cohérent avec ces ajustements tout au long du reste de l'article. De même, dans
cet article, je ferai référence aux adaptateurs réseau enp0s3, enp0s8 et enp0s9, dans les
versions précédentes de Linux, ils auraient été respectivement eth0, eth1 et eth2.

Conditions préalables à l'installation d'Oracle


Effectuez la configuration automatique ou la configuration manuelle pour remplir les
conditions préalables de base. La configuration supplémentaire est requise pour toutes
les installations.

Configuration automatique
Si vous prévoyez d'utiliser le package "oracle-database-server-12cR2-preinstall" pour
effectuer toute la configuration requise, exécutez la commande suivante.

# yum install oracle-database-server-12cR2-preinstall -y

Les versions antérieures d'Oracle Linux nécessitaient une configuration manuelle du


référentiel Yum en suivant les instructions sur http://public-yum.oracle.com .

Cela vaut probablement la peine de faire une mise à jour complète, mais ce n'est pas
nécessaire à proprement parler.

# yum update -y

Configuration manuelle
Si vous n'avez pas utilisé le package «oracle-database-server-12cR2-preinstall» pour
effectuer tous les prérequis, vous devrez effectuer manuellement les tâches de
configuration suivantes.
Ajoutez les lignes suivantes au fichier "/etc/sysctl.conf" ou dans un fichier appelé
"/etc/sysctl.d/98-oracle.conf".

fs.file-max = 6815744
kernel.sem = 250 32000100128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

Exécutez l'une des commandes suivantes pour modifier les paramètres actuels du noyau,
en fonction du fichier que vous avez modifié.

/ sbin / sysctl -p
# Ou
/ sbin / sysctl -p /etc/sysctl.d/98-oracle.conf

Ajoutez les lignes suivantes à un fichier appelé fichier «/etc/security/limits.d/oracle-


database-server-12cR2-preinstall.conf».

oracle soft nofile 1024


oracle dur nofile 65536
oracle soft nproc 16384
oracle dur nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728

En plus de l'installation de base du système d'exploitation, les packages suivants doivent


être installés lorsque vous êtes connecté en tant qu'utilisateur root. Cela inclut les versions
64 bits et 32 bits de certains packages.

# De Public Yum ou ULN


miam installer binutils -y
yum install compat-libstdc ++ - 33 -y
yum install compat-libstdc ++ - 33.i686 -y
miam installer gcc -y
miam installer gcc-c ++ -y
miam installer glibc -y
miam installer glibc.i686 -y
yum install glibc-devel -y
miam installer glibc-devel.i686 -y
miam installer ksh -y
miam installer libgcc -y
miam installer libgcc.i686 -y
miam installer libstdc ++ -y
yum installer libstdc ++. i686 -y
yum installer libstdc ++ - devel -y
yum installer libstdc ++ - devel.i686 -y
miam installer libaio -y
miam installer libaio.i686 -y
miam installer libaio-devel -y
miam installer libaio-devel.i686 -y
yum installer libXext -y
miam installer libXext.i686 -y
miam installer libXtst -y
miam installer libXtst.i686 -y
miam installer libX11 -y
miam installer libX11.i686 -y
miam installer libXau -y
miam installer libXau.i686 -y
miam installer libxcb -y
miam installer libxcb.i686 -y
miam installer libXi -y
miam installer libXi.i686 -y
yum install make -y
miam installer sysstat -y
yum installer unixODBC -y
yum installer unixODBC-devel -y
miam installer zlib-devel -y
miam installer zlib-devel.i686 -y

Créez les nouveaux groupes et utilisateurs.

groupadd -g 54321 oinstall


groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba, oper oracle


Vous pouvez définir les groupes supplémentaires et les attribuer aux utilisateurs
"oracle". Le vous permettrait d'attribuer les groupes individuels lors de l'installation. Pour
cette installation, je viens d'utiliser le groupe "dba".

groupadd -g 54324 backupdba


groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba, oper, backupdba, dgdba, kmdba, asmdba, asmoper,
asmadmin, racdba oracle

Configuration supplémentaire
Les étapes suivantes doivent être effectuées, que vous ayez effectué la configuration
manuelle ou automatique.

Effectuez les étapes suivantes en étant connecté à la machine virtuelle "ol7-122-rac1" en


tant qu'utilisateur root.

Définissez le mot de passe de l'utilisateur "oracle".

oracle passwd

En dehors de l'adresse localhost, le fichier "/ etc / hosts" peut être laissé vide, mais je
préfère mettre les adresses pour référence.

127.0.0.1 localhost.localdomain localhost


# Publique
192.168.56.101 ol7-122-rac1.localdomain ol7-122-rac1
192.168.56.102 ol7-122-rac2.localdomain ol7-122-rac2
# Privé
192.168.1.101 ol7-122-rac1-priv.localdomain ol7-122-rac1-priv
192.168.1.102 ol7-122-rac2-priv.localdomain ol7-122-rac2-priv
# Virtuel
192.168.56.103 ol7-122-rac1-vip.localdomain ol7-122-rac1-vip
192.168.56.104 ol7-122-rac2-vip.localdomain ol7-122-rac2-vip
# ANALYSE
# 192.168.56.105 ol7-122-scan.localdomain ol7-122-scan
# 192.168.56.106 ol7-122-scan.localdomain ol7-122-scan
# 192.168.56.107 ol7-122-scan.localdomain ol7-122-scan
L'adresse SCAN est mise en commentaire du fichier d'hôtes car elle doit être résolue à
l'aide d'un DNS, de sorte qu'elle peut effectuer un round-robin entre 3 adresses sur le
même sous-réseau que les adresses IP publiques. Le DNS peut être configuré sur la
machine hôte en utilisant BIND ou Dnsmasq , ce qui est beaucoup plus simple. Si vous
utilisez Dnsmasq, placez les entrées spécifiques à RAC dans le fichier "/ etc / hosts" des
machines hôtes, avec les entrées SCAN décommentées, et redémarrez Dnsmasq.

Assurez-vous que le fichier "/etc/resolv.conf" comprend une entrée de serveur de noms


qui pointe vers le serveur de noms correct. De plus, si les entrées «domaine» et
«recherche» sont toutes les deux présentes, commentez l'une d'elles. Pour cette
installation, mon "/etc/resolv.conf" ressemblait à ceci.

#domain localdomain
rechercher localdomain
serveur de noms 192.168.56.1

Les modifications apportées au "resolv.conf" seront écrasées par le gestionnaire de réseau,


en raison de la présence de l'interface NAT. Pour cette raison, cette interface doit
maintenant être désactivée au démarrage. Vous pouvez l'activer manuellement si vous
devez accéder à Internet à partir des VM. Modifiez le fichier "/ etc / sysconfig / network-
scripts / ifcfg-enp0s3" (eth0), en apportant la modification suivante. Cela prendra effet
après le prochain redémarrage.

ONBOOT = non

Il n'est pas nécessaire de recommencer maintenant. Vous pouvez simplement exécuter la


commande suivante. N'oubliez pas de modifier le nom de l'adaptateur si le vôtre est
nommé différemment.

# ifdown enp0s3
# #ifdown eth0

À ce stade, la mise en réseau du premier nœud doit ressembler à ce qui suit. Notez que
enp0s3 (eth0) n'a pas d'adresse IP associée car elle est désactivée.

# ifconfig
enp0s3: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500
éther 08: 00: 27: f6: 88: 78 txqueuelen 1000 (Ethernet)
Paquets RX 0 octets 0 (0,0 B)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 0 octets 0 (0,0 B)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

enp0s8: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500


inet 192.168.56.101 masque de réseau 255.255.255.0 diffusion 192.168.56.255
inet6 fe80 :: cf8d: 317d: 534: 17d9 prefixlen 64 scopeid 0x20 <lien>
éther 08: 00: 27: 82: 06: 32 txqueuelen 1000 (Ethernet)
Paquets RX 574 octets 54444 (53,1 Kio)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 547 octets 71219 (69,5 Kio)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

enp0s9: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500


inet 192.168.1.101 masque de réseau 255.255.255.0 diffusion 192.168.1.255
inet6 fe80 :: 9a9a: f249: 61d1: 5447 prefixlen 64 scopeid 0x20 <lien>
éther 08: 00: 27: 2e: 2c: cf txqueuelen 1000 (Ethernet)
Paquets RX 0 octets 0 (0,0 B)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 29 octets 4250 (4,1 Kio)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

lo: flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536


masque de réseau inet 127.0.0.1 255.0.0.0
inet6 :: 1 prefixlen 128 scopeid 0x10 <hôte>
loop txqueuelen 0 (boucle locale)
Paquets RX 68 octets 5780 (5,6 Kio)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 68 octets 5780 (5,6 Kio)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

virbr0: flags = 4099 <UP, BROADCAST, MULTICAST> mtu 1500


inet 192.168.122.1 masque de réseau 255.255.255.0 diffusion 192.168.122.255
éther 52: 54: 00: 4a: 12: 2f txqueuelen 0 (Ethernet)
Paquets RX 0 octets 0 (0,0 B)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 0 octets 0 (0,0 B)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

Avec cela en place et le DNS configuré, l'adresse SCAN est en cours de résolution pour les
trois adresses IP.

# nslookup ol7-122-scan
Serveur: 192.168.56.1
Adresse: 192.168.56.1 # 53

Nom: ol7-122-scan.localdomain
Adresse: 192.168.56.105
Nom: ol7-122-scan.localdomain
Adresse: 192.168.56.106
Nom: ol7-122-scan.localdomain
Adresse: 192.168.56.107

#
Changez le paramètre de SELinux en permissif en éditant le fichier "/ etc / selinux / config",
en vous assurant que l'indicateur SELINUX est défini comme suit.

SELINUX = permissif

Si vous avez activé le pare-feu Linux, vous devrez le désactiver ou le configurer, comme
indiqué ici ou ici . Voici un exemple de désactivation du pare-feu.

# systemctl stop firewalld


# systemctl désactiver le pare-feu

Assurez-vous que NTP (Chrony sur OL7 / RHEL7) est activé.

# systemctl activer chronyd


# systemctl restart chronyd
# chronyc -a 'rafale 4/4'
# chronyc -a makestep

Créez les répertoires dans lesquels le logiciel Oracle sera installé.

mkdir -p /u01/app/12.2.0.1/grid
mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
chown -R oracle: oinstall / u01
chmod -R 775 / u01 /

Connectez-vous en tant qu'utilisateur "oracle" et ajoutez les lignes suivantes à la fin du


fichier "/home/oracle/.bash_profile".

# Paramètres Oracle
exporter TMP = / tmp
export TMPDIR = $ TMP

export ORACLE_HOSTNAME = ol7-122-rac1.localdomain


export ORACLE_UNQNAME = CDBRAC
export ORACLE_BASE = / u01 / app / oracle
export GRID_HOME = / u01 / app / 12.2.0.1 / grid
export DB_HOME = $ ORACLE_BASE / product / 12.2.0.1 / db_1
export ORACLE_HOME = $ DB_HOME
export ORACLE_SID = cdbrac1
export ORACLE_TERM = xterm
export BASE_PATH = / usr / sbin: $ PATH
export PATH = $ ORACLE_HOME / bin: $ BASE_PATH

export LD_LIBRARY_PATH = $ ORACLE_HOME / lib: / lib: / usr / lib


export CLASSPATH = $ ORACLE_HOME / JRE: $ ORACLE_HOME / jlib: $ ORACLE_HOME / rdbms
/ jlib
alias grid_env = '. / home / oracle / grid_env '
alias db_env = '. / home / oracle / db_env '

Créez un fichier appelé "/ home / oracle / grid_env" avec le contenu suivant.

export ORACLE_SID = + ASM1


export ORACLE_HOME = $ GRID_HOME
export PATH = $ ORACLE_HOME / bin: $ BASE_PATH

export LD_LIBRARY_PATH = $ ORACLE_HOME / lib: / lib: / usr / lib


export CLASSPATH = $ ORACLE_HOME / JRE: $ ORACLE_HOME / jlib: $ ORACLE_HOME / rdbms
/ jlib

Créez un fichier appelé "/ home / oracle / db_env" avec le contenu suivant.

export ORACLE_SID = cdbrac1


export ORACLE_HOME = $ DB_HOME
export PATH = $ ORACLE_HOME / bin: $ BASE_PATH

export LD_LIBRARY_PATH = $ ORACLE_HOME / lib: / lib: / usr / lib


export CLASSPATH = $ ORACLE_HOME / JRE: $ ORACLE_HOME / jlib: $ ORACLE_HOME / rdbms
/ jlib

Une fois que le "/home/oracle/.bash_profile" a été exécuté, vous pourrez basculer entre
les environnements comme suit.

$ grid_env
$ echo $ ORACLE_HOME
/u01/app/12.2.0.1/grid
$ db_env
$ echo $ ORACLE_HOME
/u01/app/oracle/product/12.2.0.1/db_1
$

We've made a lot of changes, so it's worth doing a reboot of the VM at this point to make
sure all the changes have taken effect.

# shutdown -r now

Install Guest Additions


Click on the "Devices > Install Guest Additions" menu option at the top of the VM screen.
If you get the option to auto-run take it. If not, then run the following commands.

cd /media/VBOXADDITIONS*
sh ./VBoxLinuxAdditions.run
Add the "oracle" user into the "vboxsf" group so it has access to shared drives.

# usermod -G oinstall,dba,vboxsf oracle


# id oracle
uid=54321(oracle) gid=54321(oinstall)
groups=54321(oinstall),54322(dba),54323(vboxsf)
#

Unzip the database software (but not the grid software) on the host machine.

unzip linuxx64_12201_database.zip

Créez un dossier partagé (Périphériques> Dossiers partagés) sur la machine virtuelle,


pointant vers le répertoire de l'hôte où le logiciel Oracle a été décompressé. Cochez les
options "Montage automatique" et "Rendre permanent" avant de cliquer sur le bouton
"OK".

La machine virtuelle devra être redémarrée pour que les ajouts d'invités soient utilisés
correctement. La section suivante nécessite un arrêt, donc aucun redémarrage
supplémentaire n'est nécessaire pour le moment. Une fois la VM redémarrée, le dossier
partagé appelé "/media/sf_12.2.0.1" sera accessible par l'utilisateur "oracle".

Créer des disques partagés


Arrêtez la machine virtuelle "ol7-122-rac1" à l'aide de la commande suivante.

# shutdown -h maintenant
Sur le serveur hôte, créez 4 disques virtuels partageables et associez-les en tant que
support virtuel à l'aide des commandes suivantes. Vous pouvez choisir un emplacement
différent, mais assurez-vous qu'il se trouve en dehors du répertoire de VM existant.

$ mkdir -p / u04 / VirtualBox / ol7-122-rac


$ cd / u04 / VirtualBox / ol7-122-rac
$
$ # Créez les disques et associez-les à VirtualBox en tant que support virtuel.
$ VBoxManage createhd --filename asm1.vdi --size 20480 --format VDI --variant Fixe
$ VBoxManage createhd --filename asm2.vdi --size 20480 --format VDI --variant Fixe
$ VBoxManage createhd --filename asm3.vdi --size 20480 --format VDI --variant Fixe
$ VBoxManage createhd --filename asm4.vdi --size 20480 --format VDI --variant Fixe
$
$ # Connectez-les à la VM.
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 1 --device 0 -
-type hdd --medium asm1.vdi --mtype partageable
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 2 --device 0 -
-type hdd --medium asm2.vdi --mtype partageable
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 3 --device 0 -
-type hdd --medium asm3.vdi --mtype partageable
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 4 --device 0 -
-type hdd --medium asm4.vdi --mtype partageable
$
$ # Rendre partageable.
$ VBoxManage modifyhd asm1.vdi - type partageable
$ VBoxManage modifyhd asm2.vdi - type partageable
$ VBoxManage modifyhd asm3.vdi - type partageable
$ VBoxManage modifyhd asm4.vdi - type partageable

Si vous utilisez un hôte Windows, vous devrez modifier les chemins, mais le processus est
le même.

C:
mkdir C: \ VirtualBox \ ol7-122-rac
cd C: \ VirtualBox \ ol7-122-rac

"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" createhd --filename asm1.vdi


--size 20480 --format VDI --variant Fixed
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" createhd --filename asm2.vdi
--size 20480 --format VDI --variant Fixed
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" createhd --filename asm3.vdi
--size 20480 --format VDI --variant Fixed
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" createhd --filename asm4.vdi
--size 20480 --format VDI --variant Fixed

"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" storageattach ol7-122-rac1


--storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype
partageable
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" storageattach ol7-122-rac1
--storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype
partageable
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" storageattach ol7-122-rac1
--storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype
partageable
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" storageattach ol7-122-rac1
--storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype
partageable

"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" modifyhd asm1.vdi - type


partageable
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" modifyhd asm2.vdi - type
partageable
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" modifyhd asm3.vdi - type
partageable
"c: \ Program Files \ Oracle \ VirtualBox \ VBoxManage" modifyhd asm4.vdi - type
partageable

Démarrez la machine virtuelle "ol7-122-rac1" en cliquant sur le bouton "Démarrer" de la


barre d'outils. Lorsque le serveur a démarré, connectez-vous en tant qu'utilisateur root
afin de pouvoir configurer les disques partagés. Les disques actuels peuvent être vus en
exécutant les commandes suivantes.

# cd / dev
# ls sd *
sda sda1 sda2 sdb sdc sdd sde
#

Utilisez la commande "fdisk" pour partitionner les disques sdb en sde. La sortie suivante
montre la sortie fdisk attendue pour le disque sdb.

# fdisk / dev / sdb


Bienvenue dans fdisk (util-linux 2.23.2).

Les modifications resteront uniquement en mémoire jusqu'à ce que vous décidiez de


les écrire.
Soyez prudent avant d'utiliser la commande d'écriture.

Le périphérique ne contient pas de table de partition reconnue


Création d'un nouveau label de disque DOS avec l'identificateur de disque
0x14a4629c.

Commande (m pour l'aide): n


Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): w


The partition table has been altered!

Calling ioctl() to re-read partition table.


Syncing disks.
#

In each case, the sequence of answers is "n", "p", "1", "Return", "Return" and "w".

Once all the disks are partitioned, the results can be seen by repeating the previous "ls"
command.

# cd /dev
# ls sd*
sda sda1 sda2 sdb sdb1 sdc sdc1 sdd sdd1 sde sde1
#

Configurez vos règles UDEV, comme indiqué ici .

Ajoutez ce qui suit au fichier «/etc/scsi_id.config» pour configurer les périphériques SCSI
comme approuvés. Créez le fichier s'il n'existe pas déjà.

options = -g

L'ID SCSI de mes disques est affiché ci-dessous.

# / usr / lib / udev / scsi_id -g -u -d / dev / sdb1


1ATA_VBOX_HARDDISK_VB189c7a69-689f61b0
# / usr / lib / udev / scsi_id -g -u -d / dev / sdc1
1ATA_VBOX_HARDDISK_VBc4ae174e-fc756d12
# / usr / lib / udev / scsi_id -g -u -d / dev / sdd1
1ATA_VBOX_HARDDISK_VBa4e03079-ae751cbd
# / usr / lib / udev / scsi_id -g -u -d / dev / sde1
1ATA_VBOX_HARDDISK_VBf00747dc-10252f06
#

En utilisant ces valeurs, éditez le fichier "/etc/udev/rules.d/99-oracle-asmdevices.rules" en


ajoutant les 4 entrées suivantes. Tous les paramètres d'une seule entrée doivent être sur
la même ligne.
KERNEL == "sd? 1", SUBSYSTEM == "block", PROGRAM == "/ usr / lib / udev / scsi_id
-g -u -d / dev / $ parent", RESULT == "1ATA_VBOX_HARDDISK_VB189c7a69-689f61b0",
SYMLINK + = "oracleasm / asm-disk1", OWNER = "oracle", GROUP = "dba", MODE = "0660"
KERNEL == "sd? 1", SUBSYSTEM == "block", PROGRAM == "/ usr / lib / udev / scsi_id
-g -u -d / dev / $ parent", RESULT == "1ATA_VBOX_HARDDISK_VBc4ae174e-fc756d12",
SYMLINK + = "oracleasm / asm-disk2", OWNER = "oracle", GROUP = "dba", MODE = "0660"
KERNEL == "sd? 1", SUBSYSTEM == "block", PROGRAM == "/ usr / lib / udev / scsi_id
-g -u -d / dev / $ parent", RESULT == "1ATA_VBOX_HARDDISK_VBa4e03079-ae751cbd",
SYMLINK + = "oracleasm / asm-disk3", OWNER = "oracle", GROUP = "dba", MODE = "0660"
KERNEL == "sd? 1", SUBSYSTEM == "block", PROGRAM == "/ usr / lib / udev / scsi_id
-g -u -d / dev / $ parent", RESULT == "1ATA_VBOX_HARDDISK_VBf00747dc-10252f06",
SYMLINK + = "oracleasm / asm-disk4", OWNER = "oracle", GROUP = "dba", MODE = "0660"

Chargez les tables de partition de périphérique de bloc mises à jour.

# / sbin / partprobe / dev / sdb1


# / sbin / partprobe / dev / sdc1
# / sbin / partprobe / dev / sdd1
# / sbin / partprobe / dev / sde1

Testez les règles fonctionnent comme prévu.

# / sbin / udevadm test / block / sdb / sdb1

Rechargez les règles UDEV.

# / sbin / udevadm control --reload-rules

Les disques doivent maintenant être visibles et avoir la propriété correcte à l'aide de la
commande suivante. S'ils ne sont pas visibles, votre configuration UDEV est incorrecte et
doit être corrigée avant de continuer.

# ls -al / dev / oracleasm / *


lrwxrwxrwx. 1 racine racine 7 6 mars 17:41 / dev / oracleasm / asm-disk1 -> ../sdb1
lrwxrwxrwx. 1 racine racine 7 6 mars 17:41 / dev / oracleasm / asm-disk2 -> ../sdc1
lrwxrwxrwx. 1 racine racine 7 6 mars 17:41 / dev / oracleasm / asm-disk3 -> ../sdd1
lrwxrwxrwx. 1 racine racine 7 6 mars 17:41 / dev / oracleasm / asm-disk4 -> ../sde1
#

Les liens symboliques appartiennent à root, mais les périphériques qu'ils désignent ont
maintenant la propriété correcte.

# ls -al / dev / sd * 1
brw-rw ----. 1 disque racine 8, 1 avril 25 14:11 / dev / sda1
brw-rw ----. 1 oracle dba 8, 17 avril 25 14:11 / dev / sdb1
brw-rw ----. 1 oracle dba 8, 33 25 avril 14:11 / dev / sdc1
brw-rw----. 1 oracle dba 8, 49 Apr 25 14:11 /dev/sdd1
brw-rw----. 1 oracle dba 8, 65 Apr 25 14:11 /dev/sde1
#

The shared disks are now configured for the grid infrastructure.

Clone the Virtual Machine


Do not use VirtualBox to clone VM, as it will also attempt to clone the shared disks, which
is not what we want. Instead we must manually clone the VM.

Shut down the "ol7-122-rac1" virtual machine using the following command.

# shutdown -h now

You may get errors if you create the virtual disk in the default location VirtualBox will use
to create the VM. If that happens, rename the folder holding the new virtual disk and go
through the creation process of the new VM again.
Manually clone the "ol7-122-rac1.vdi" disk using the following commands on the host
server.

$ # Linux
$ mkdir -p /u03/VirtualBox/ol7-122-rac2
$ VBoxManage clonehd /u01/VirtualBox/ol7-122-rac1/ol7-122-rac1.vdi
/u03/VirtualBox/ol7-122-rac2/ol7-122-rac2.vdi

Rem Windows
mkdir "C:\VirtualBox\ol7-122-rac2"
"c:\Program Files\Oracle\VirtualBox\VBoxManage" clonehd "C:\VirtualBox\ol7-122-
rac1\ol7-122-rac1.vdi" "C:\VirtualBox\ol7-122-rac2\ol7-122-rac2.vdi"

Create the "ol7-122-rac2" virtual machine in VirtualBox in the same way as you did for
"ol7-122-rac1", with the exception of using an existing "ol7-122-rac2.vdi" virtual hard
drive.
Remember to add the three network adaptor as you did on the "ol7-122-rac1" VM. When
the VM is created, attach the shared disks to this VM.

$ # Linux : Switch to the shared storage location and attach them.


$ cd /u04/VirtualBox/ol7-122-rac
$
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 1 --device 0 -
-type hdd --medium asm1.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 2 --device 0 -
-type hdd --medium asm2.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 3 --device 0 -
-type hdd --medium asm3.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 4 --device 0 -
-type hdd --medium asm4.vdi --mtype shareable

Rem Windows : Switch to the shared storage location and attach them.
C:
cd C:\VirtualBox\ol7-122-rac

"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --


storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --
storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --
storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --
storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype shareable

Start the "ol7-122-rac2" virtual machine by clicking the "Start" button on the toolbar.
Ignore any network errors during the startup.

Log in to the "ol7-122-rac2" virtual machine as the "root" user so we can reconfigure the
network settings to match the following.

• hostname: ol7-122-rac2.localdomain
• enp0s3 (eth0): DHCP (*Not* Connect Automatically)
• enp0s8 (eth1): IP=192.168.56.102, Subnet=255.255.255.0, Gateway=192.168.56.1,
DNS=192.168.56.1, Search=localdomain (Connect Automatically)
• enp0s9 (eth2): IP=192.168.1.102, Subnet=255.255.255.0, Gateway=<blank>,
DNS=<blank>, Search=<blank> (Connect Automatically)

Amend the hostname in the "/etc/hostname" file.

ol7-122-rac2.localdomain

Unlike previous Linux versions, we shouldn't have to edit the MAC address associated with
the network adapters, but we will have to alter their IP addresses.

Edit the "/etc/sysconfig/network-scripts/ifcfg-enp0s8" (eth1), amending only the IPADDR


settings as follows and deleting the UUID entry.

IPADDR=192.168.56.102

Modifiez le "/ etc / sysconfig / network-scripts / ifcfg-enp0s9" (eth2), en modifiant


uniquement les paramètres IPADDR comme suit et en supprimant l'entrée UUID.

IPADDR = 192.168.1.102

Redémarrez les machines virtuelles.

# shutdown -r now

À ce stade, la mise en réseau du deuxième nœud doit ressembler à ce qui suit. Notez que
enp0s3 (eth0) n'a pas d'adresse IP associée car elle est désactivée.

# ifconfig
enp0s3: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500
éther 08: 00: 27: dc: 7c: 74 txqueuelen 1000 (Ethernet)
Paquets RX 0 octets 0 (0,0 B)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 0 octets 0 (0,0 B)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

enp0s8: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500


inet 192.168.56.102 masque de réseau 255.255.255.0 diffusion 192.168.56.255
inet6 fe80 :: a00: 27ff: fed9: c89a prefixlen 64 scopeid 0x20 <lien>
éther 08: 00: 27: d9: c8: 9a txqueuelen 1000 (Ethernet)
Paquets RX 197 octets 19460 (19,0 Kio)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 178 octets 27171 (26,5 Kio)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

enp0s9: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500


inet 192.168.1.102 masque de réseau 255.255.255.0 diffusion 192.168.1.255
inet6 fe80 :: a00: 27ff: feb4: 6bf prefixlen 64 scopeid 0x20 <lien>
éther 08: 00: 27: b4: 06: bf txqueuelen 1000 (Ethernet)
Paquets RX 0 octets 0 (0,0 B)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 30 octets 4112 (4,0 Kio)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

lo: flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536


masque de réseau inet 127.0.0.1 255.0.0.0
inet6 :: 1 prefixlen 128 scopeid 0x10 <hôte>
loop txqueuelen 0 (boucle locale)
Paquets RX 4 octets 420 (420,0 B)
Erreurs RX 0 abandonnées 0 dépassements 0 trame 0
Paquets TX 4 octets 420 (420,0 B)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0

Modifiez le fichier "/home/oracle/.bash_profile" sur le nœud "ol7-122-rac2" pour corriger


les valeurs ORACLE_SID et ORACLE_HOSTNAME.

export ORACLE_SID = cdbrac2


export ORACLE_HOSTNAME = ol7-122-rac2.localdomain

Modifiez également le paramètre ORACLE_SID dans les fichiers "/ home / oracle / db_env"
et "/ home / oracle / grid_env".

Redémarrez la machine virtuelle "ol7-122-rac2" et démarrez la machine virtuelle "ol7-122-


rac1". Lorsque les deux nœuds ont démarré, vérifiez qu'ils peuvent à la fois envoyer une
requête ping à toutes les adresses IP publiques et privées à l'aide des commandes
suivantes.

ping -c 3 ol7-122-rac1
ping -c 3 ol7-122-rac1-priv
ping -c 3 ol7-122-rac2
ping -c 3 ol7-122-rac2-priv

Vérifiez que l'adresse SCAN est toujours résolue correctement sur les deux nœuds.

# nslookup ol7-122-scan
Serveur: 192.168.56.1
Adresse: 192.168.56.1 # 53

Nom: ol7-122-scan.localdomain
Adresse: 192.168.56.105
Nom: ol7-122-scan.localdomain
Adresse: 192.168.56.106
Nom: ol7-122-scan.localdomain
Adresse: 192.168.56.107

À ce stade, les adresses IP virtuelles définies dans le fichier "/ etc / hosts" ne fonctionneront
pas, alors ne vous souciez pas de les tester.

Vérifiez que les règles UDEV fonctionnent sur les deux machines.

# ls -al / dev / oracleasm / *


lrwxrwxrwx. 1 racine racine 7 septembre 18 08:19 / dev / oracleasm / asm-disk1 ->
../sdb1
lrwxrwxrwx. 1 racine racine 7 sept 18 08:19 / dev / oracleasm / asm-disk2 -> ../sdc1
lrwxrwxrwx. 1 racine racine 7 sept 18 08:19 / dev / oracleasm / asm-disk3 -> ../sdd1
lrwxrwxrwx. 1 racine racine 7 septembre 18 08:19 / dev / oracleasm / asm-disk4 ->
../sde1
#

Avant 11gR2, nous utiliserions probablement l'utilitaire "runcluvfy.sh" dans le répertoire


racine du clusterware pour vérifier que les conditions préalables ont été remplies. Si vous
avez l'intention de configurer la connectivité SSH à l'aide du programme d'installation,
cette vérification doit être omise car elle échouera toujours. Si vous souhaitez configurer
manuellement la connectivité SSH , une fois que cela est fait, vous pouvez exécuter le
"runcluvfy.sh" avec la commande suivante.

/mountpoint/clusterware/runcluvfy.sh stage -pre crsinst -n ol7-122-rac1, ol7-122-


rac2 -verbose

Si vous rencontrez des problèmes, assurez-vous de les corriger avant de continuer.

La configuration de la machine virtuelle est maintenant terminée.


Avant d'aller de l'avant, vous devriez probablement arrêter vos machines virtuelles et en
prendre des instantanés. Si des pannes surviennent au-delà de ce point, il est
probablement préférable de revenir à ces instantanés, de nettoyer les lecteurs partagés et
de redémarrer l'installation de la grille. Une alternative au nettoyage des disques partagés
est de les sauvegarder maintenant en utilisant zip et de les remplacer simplement en cas
de panne.

$ # Linux
$ cd / u04 / VirtualBox / ol7-122-rac
$ zip PreGrid.zip * .vdi

Rem Windows
C:
cd C: \ VirtualBox \ ol7-122-rac
zip PreGrid.zip * .vdi

Installer l'infrastructure de réseau


Assurez-vous que les deux machines virtuelles sont démarrées. Le GI est maintenant une
installation d'image, alors effectuez ce qui suit sur le premier nœud en tant qu'utilisateur
"oracle".

exportation SOFTWARE_LOCATION = / media / sf_12.2.0.1 /


cd /u01/app/12.2.0.1/grid
décompressez -q $ SOFTWARE_LOCATION / linuxx64_12201_grid_home.zip

Installez le package suivant depuis la page d'accueil de la grille en tant qu'utilisateur "root"
sur tous les nœuds.

su -
# Nœud local.
cd /u01/app/12.2.0.1/grid/cv/rpm
rpm -Uvh cvuqdisk *

# Nœud distant.
scp ./cvuqdisk* root @ ol7-122-rac2: / tmp
racine ssh @ ol7-122-rac2 rpm -Uvh / tmp / cvuqdisk *
sortie

Si vous prévoyez d'utiliser le pilote AFD (le nouvel ASMLib), vous devez configurer les
disques partagés à l'aide de la asmcmdcommande ci-dessous. Nous utilisons UDEV, donc
ce n'est pas nécessaire.

# !!!! Je n'ai pas fait ça! !!!!


su -
# Définir l'environnement.
export ORACLE_HOME = / u01 / app / 12.2.0.1 / grid
export ORACLE_BASE = / tmp

# Marquez les disques.


$ ORACLE_HOME / bin / asmcmd afd_label DISK1 / dev / oracleasm / asm-disk1 --init
$ ORACLE_HOME / bin / asmcmd afd_label DISK2 / dev / oracleasm / asm-disk2 --init
$ ORACLE_HOME / bin / asmcmd afd_label DISK3 / dev / oracleasm / asm-disk3 --init
$ ORACLE_HOME / bin / asmcmd afd_label DISK4 / dev / oracleasm / asm-disk4 --init

# Disques de test.
$ ORACLE_HOME // bin / asmcmd afd_lslbl / dev / oracleasm / asm-disk1
$ ORACLE_HOME // bin / asmcmd afd_lslbl / dev / oracleasm / asm-disk2
$ ORACLE_HOME // bin / asmcmd afd_lslbl / dev / oracleasm / asm-disk3
$ ORACLE_HOME // bin / asmcmd afd_lslbl / dev / oracleasm / asm-disk4

# environnement non défini.


annulé ORACLE_BASE

sortie

Configurez l'infrastructure de grille en exécutant ce qui suit en tant qu'utilisateur «oracle».

J'aurais pu exécuter la configuration en mode silencieux en utilisant ce fichier de réponse


édité ( grid_config.rsp ) avec la commande suivante.

cd /u01/app/12.2.0.1/grid
./gridSetup.sh -silent -responseFile /tmp/grid_config.rsp

Au lieu de cela, voici la configuration interactive.

cd /u01/app/12.2.0.1/grid
./gridSetup.sh

Sélectionnez l'option «Configurer Oracle Grid Infrastructure pour un nouveau cluster»,


puis cliquez sur le bouton «Suivant».
Acceptez l'option «Configurer un cluster autonome Oracle» en cliquant sur le bouton
«Suivant».
Entrez le nom du cluster "ol7-122-cluster", le nom SCAN "ol7-122-scan" et le port SCAN
"1521", puis cliquez sur le bouton "Next".
Sur l'écran "Informations sur le nœud de cluster", cliquez sur le bouton "Ajouter".
Entrez les détails du deuxième nœud du cluster, puis cliquez sur le bouton "OK".
Cliquez sur le bouton "Connectivité SSH ..." et entrez le mot de passe de l'utilisateur
"oracle". Cliquez sur le bouton "Configuration" pour configurer la connectivité SSH, et sur
le bouton "Test" pour le tester une fois qu'il est terminé. Une fois le test terminé, cliquez
sur le bouton "Suivant".
Vérifiez que les réseaux publics et privés sont correctement spécifiés. Si l'interface NAT est
affichée, n'oubliez pas de la marquer comme "Ne pas utiliser". Cliquez sur le bouton
"Suivant".
Acceptez l'option «Configurer ASM à l'aide de périphériques bloc» en cliquant sur le
bouton «Suivant».
Sélectionnez l'option "Non", car nous ne voulons pas créer un groupe de disques séparé
pour le GIMR dans ce cas. Cliquez sur le bouton "Suivant".
Définissez la redondance sur «Externe», cliquez sur le bouton «Modifier le chemin de
découverte» et définissez le chemin sur «/ dev / oracleasm / *». Revenez à l'écran principal
et sélectionnez les 4 disques. Décochez l'option «Configurer le pilote de filtre Oracle
ASM», puis cliquez sur le bouton «Suivant».
Entrez les informations d'identification et cliquez sur le bouton "Suivant".
Acceptez l'option IPMI par défaut en cliquant sur le bouton "Suivant".
Ne vous inscrivez pas avec EM. Cliquez sur le bouton "Suivant".
Nous utilisons un seul utilisateur et un seul groupe pour gérer à la fois l'ASM et ajouter la
base de données, alors définissez les groupes sur "dba" et cliquez sur le bouton
"Suivant". Acceptez les avertissements dans la boîte de dialogue suivante en cliquant sur
le bouton "Oui".
Entrez l'emplacement de la base Oracle "/ u01 / app / oracle" et cliquez sur le bouton
"Suivant". Nous avons déjà des répertoires pré-créés pour l'installation ultérieure de la
base de données, donc ignorez l'avertissement suivant indiquant que Oracle Base n'est
pas vide en cliquant sur le bouton "Oui".
Acceptez le répertoire d'inventaire par défaut en cliquant sur le bouton "Suivant".
Si vous souhaitez que les scripts racine s'exécutent automatiquement, entrez les
informations d'identification appropriées. Je préfère les exécuter manuellement. Cliquez
sur le bouton "Suivant".
Attendez que les vérifications des prérequis soient terminées. Si vous rencontrez des
problèmes, utilisez le bouton «Réparer et vérifier à nouveau». Une fois les correctifs
possibles terminés, cochez la case «Ignorer tout» et cliquez sur le bouton «Suivant». Il est
probable que les tests "Mémoire physique" et "Protocole NTP (Network Time Protocol)"
échoueront pour ce type d'installation. C'est acceptable.
Si vous êtes satisfait des informations récapitulatives, cliquez sur le bouton "Installer".
Attendez que l'installation se déroule.
Lorsque vous y êtes invité, exécutez les scripts de configuration sur chaque nœud.
La sortie du fichier "orainstRoot.sh" doit ressembler à celle répertoriée ci-dessous.

# /u01/app/oraInventory/orainstRoot.sh
Modification des autorisations de / u01 / app / oraInventory.
Ajout d'autorisations de lecture et d'écriture pour le groupe.
Suppression des autorisations de lecture, d'écriture et d'exécution pour le monde.

Changement du nom de groupe de / u01 / app / oraInventory en oinstall.


L'exécution du script est terminée.
#

La sortie du "root.sh" variera un peu selon le nœud sur lequel il est exécuté. Exemple
de sortie peut être vu ici ( Node1 , Node2 ).

Une fois les scripts terminés, retournez à l'écran "Exécuter les scripts de configuration" sur
"ol7-122-rac1" et cliquez sur le bouton "OK".

Attendez que les assistants de configuration se terminent.


Si l'une des étapes de configuration échoue, vous devez vérifier le journal spécifié pour
voir si l'erreur est un show-stopper ou non. La seule erreur que j'ai reçue concernait la
synchronisation de l'heure (PRVG-13606..

PRVG-13606: le démon chrony n'est synchronisé avec aucune source de temps externe
sur le nœud ...

Pourvu que vous n'ayez aucun show-stoppers, il est prudent d'ignorer les erreurs en
cliquant sur le bouton "Suivant".

Cliquez sur le bouton "Fermer" pour quitter le programme d'installation.


L'installation de l'infrastructure du réseau est maintenant terminée. Nous pouvons vérifier
l'état de l'installation à l'aide des commandes suivantes.

$ grid_env
$ crsctl stat res -t
-------------------------------------------------- ------------------------------
Nom Détails de l'état du serveur d'état cible
-------------------------------------------------- ------------------------------
Ressources locales
-------------------------------------------------- ------------------------------
ora.ASMNET1LSNR_ASM.lsnr
EN LIGNE EN LIGNE ol7-122-rac1 STABLE
EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.DATA.dg
EN LIGNE EN LIGNE ol7-122-rac1 STABLE
EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.LISTENER.lsnr
EN LIGNE EN LIGNE ol7-122-rac1 STABLE
EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.chad
EN LIGNE EN LIGNE ol7-122-rac1 STABLE
EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.net1.network
EN LIGNE EN LIGNE ol7-122-rac1 STABLE
EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.ons
EN LIGNE EN LIGNE ol7-122-rac1 STABLE
EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.proxy_advm
HORS LIGNE HORS LIGNE ol7-122-rac1 STABLE
HORS LIGNE HORS LIGNE ol7-122-rac2 STABLE
-------------------------------------------------- ------------------------------
Ressources du cluster
-------------------------------------------------- ------------------------------
ora.LISTENER_SCAN1.lsnr
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.LISTENER_SCAN2.lsnr
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.LISTENER_SCAN3.lsnr
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.MGMTLSNR
1 EN LIGNE EN LIGNE ol7-122-rac2 169.254.137.110 192.
168.1.102, STABLE
ora.asm
1 EN LIGNE EN LIGNE ol7-122-rac1 Démarré, STABLE
2 EN LIGNE EN LIGNE ol7-122-rac2 Démarré, STABLE
3 HORS LIGNE HORS LIGNE STABLE
ora.cvu
1 EN LIGNE EN LIGNE ol7-122-rac1 STABLE
ora.mgmtdb
1 EN LIGNE EN LIGNE ol7-122-rac2 Ouvert, STABLE
ora.ol7-122-rac1.vip
1 EN LIGNE EN LIGNE ol7-122-rac1 STABLE
ora.ol7-122-rac2.vip
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.qosmserver
1 EN LIGNE EN LIGNE ol7-122-rac1 STABLE
ora.scan1.vip
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.scan2.vip
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
ora.scan3.vip
1 EN LIGNE EN LIGNE ol7-122-rac2 STABLE
-------------------------------------------------- ------------------------------
$

À ce stade, il est probablement judicieux d'arrêter les deux machines virtuelles et de


prendre des instantanés. N'oubliez pas de créer un nouveau zip des disques ASM sur la
machine hôte, que vous devrez restaurer si vous revenez aux instantanés post-grille.

$ cd / u04 / VirtualBox / ol7-122-rac


$ zip PostGrid.zip * .vdi
Installez le logiciel de base de données
Assurez-vous que les machines virtuelles «ol7-122-rac1» et «ol7-122-rac2» sont
démarrées, puis connectez-vous à «ol7-122-rac1» en tant qu'utilisateur oracle et démarrez
le programme d'installation d'Oracle. Vérifiez que tous les services fonctionnent en
utilisant "crsctl stat res -t", comme décrit précédemment.

J'aurais pu exécuter l'OUI en mode silencieux en utilisant ce fichier de réponse édité


( db_install.rsp ) avec la commande suivante.

$ db_env
$ cd /media/sf_12.2.0.1/database
$ ./runInstaller -silent -ignoreSysPrereqs -showProgress -responseFile
/tmp/db_install.rsp

Au lieu de cela, voici la vue interactive.

$ db_env
$ cd /media/sf_12.2.0.1/database
$ ./runInstaller

Décochez la case des mises à jour de sécurité et cliquez sur le bouton "Suivant" et "Oui"
dans la boîte de dialogue d'avertissement suivante.
Sélectionnez l'option "Installer le logiciel de base de données uniquement", puis cliquez
sur le bouton "Suivant".
Acceptez l'option "Installation de la base de données Oracle Real Application Clusters" en
cliquant sur le bouton "Suivant".
Assurez-vous que les deux nœuds sont sélectionnés, puis cliquez sur le bouton "Suivant".
Sélectionnez l'option "Enterprise Edition", puis cliquez sur le bouton "Suivant".
Entrez "/ u01 / app / oracle" comme base Oracle et
"/u01/app/oracle/product/12.2.0.1/db_1" comme emplacement du logiciel, puis cliquez
sur le bouton "Suivant".
Sélectionnez les groupes de systèmes d'exploitation souhaités, puis cliquez sur le bouton
"Suivant". Dans ce cas, nous n'utilisons que le groupe "dba".
Attendez que la vérification des prérequis soit terminée. En cas de problème, cliquez sur
le bouton «Réparer et vérifier à nouveau» ou cochez la case «Tout ignorer» et cliquez sur
le bouton «Suivant».
Si vous êtes satisfait des informations récapitulatives, cliquez sur le bouton "Installer".
Attendez que l'installation se déroule.
Lorsque vous y êtes invité, exécutez le script de configuration sur chaque nœud. Lorsque
les scripts ont été exécutés sur chaque nœud, cliquez sur le bouton "OK".
Cliquez sur le bouton "Fermer" pour quitter le programme d'installation.

Arrêtez les deux machines virtuelles et prenez des instantanés. N'oubliez pas de créer un
nouveau zip des disques ASM sur la machine hôte, que vous devrez restaurer si vous
revenez aux instantanés post-db.

$ cd / u04 / VirtualBox / ol7-122-rac


$ zip PostDB.zip * .vdi

Créer une base de données


Assurez-vous que les machines virtuelles «ol7-122-rac1» et «ol7-122-rac2» sont
démarrées, puis connectez-vous à «ol7-122-rac1» en tant qu'utilisateur oracle et démarrez
l'assistant de création de base de données (DBCA).

J'aurais pu exécuter le DBCA en mode silencieux en utilisant ce fichier de réponse édité


( dbca.rsp ) avec la commande suivante.

db_env
dbca -silent -responseFile /tmp/dbca.rsp

Au lieu de cela, voici la vue interactive.

$ db_env
$ dbca

Sélectionnez l'option "Créer une base de données" et cliquez sur le bouton "Suivant".

Sélectionnez l'option "Configuration typique". Entrez le nom de la base de données du


conteneur (cdbrac), le nom de la base de données enfichable (pdb1) et le mot de passe
administrateur. Cliquez sur le bouton "Suivant".
Attendez que les vérifications des prérequis soient terminées. S'il y a des problèmes,
corrigez-les ou cochez la case "Ignorer tout" et cliquez sur le bouton "Suivant". S'il n'y a
pas de problème, vous accédez directement à l'écran de résumé.

Si vous êtes satisfait des informations récapitulatives, cliquez sur le bouton "Terminer".
Attendez que la création de la base de données ait lieu.
Si vous souhaitez modifier les mots de passe, cliquez sur le bouton "Gestion des mots de
passe". Une fois terminé, cliquez sur le bouton "Fermer".
La création de la base de données RAC est maintenant terminée.

Vérifiez l'état du RAC


Il existe plusieurs façons de vérifier l'état du RAC. L' srvctlutilitaire affiche la configuration
actuelle et l'état de la base de données RAC.

$ srvctl base de données de configuration -d cdbrac


Nom unique de la base de données: cdbrac
Nom de la base de données: cdbrac
Accueil Oracle: /u01/app/oracle/product/12.2.0.1/db_1
Utilisateur Oracle: oracle
Spfile: + DATA / CDBRAC / PARAMETERFILE / spfile.306.938083453
Fichier de mot de passe: + DATA / CDBRAC / PASSWORD / pwdcdbrac.285.938081999
Domaine:
Options de démarrage: ouvrir
Options d'arrêt: immédiat
Rôle de la base de données: PRIMAIRE
Politique de gestion: AUTOMATIQUE
Pools de serveurs:
Groupes de disques: DATA
Monter les chemins des points:
Prestations de service:
Type: RAC
Démarrer la concurrence:
Arrêter la concurrence:
Groupe OSDBA: dba
Groupe OSOPER:
Instances de base de données: cdbrac1, cdbrac2
Nœuds configurés: ol7-122-rac1, ol7-122-rac2
CSS critique: non
Nombre de processeurs: 0
Cible mémoire: 0
Mémoire maximale: 0
Numéro de réseau par défaut pour les services de base de données:
La base de données est gérée par l'administrateur
$

base de données d'état $ srvctl -d cdbrac


L'instance cdbrac1 s'exécute sur le nœud ol7-122-rac1
L'instance cdbrac2 s'exécute sur le nœud ol7-122-rac2
$

La V$ACTIVE_INSTANCESvue peut également afficher l'état actuel des instances.

$ sqlplus / comme sysdba

SQL * Plus: Release 12.2.0.1.0 Production le mercredi 8 mars 11:04:42 2017

Copyright (c) 1982, 2016, Oracle. Tous les droits sont réservés.

Connecté à:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - Production 64 bits

SQL> SELECT inst_name FROM v $ active_instances;

INST_NAME
-------------------------------------------------- ------------------------------
ol7-122-rac1.localdomain: cdbrac1
ol7-122-rac2.localdomain: cdbrac2

SQL>

Vous aimerez peut-être aussi