mardi 7 octobre 2014


Bonjour,

Je pense arrêter ce blog car je quitte Oracle pour m'élever dans le Cloud. C'est une décision difficile, car je laisse derrière moi beaucoup de choses, mais beaucoup de choses se présentent devant moi également et comme le changement est l'essence même de la vie ... comme on dit, il faut savoir évoluer avec son temps. Et comme la connaissance ne vaut que si elle est partagée, je laisse donc ce blog ouvert, car il peut toujours vous servir, mais je vais en ouvrir un autre sur un thème plus météorologique ...

Jean FRANCOIS


mardi 12 novembre 2013

Les correctifs et évolutions d’un produit passent par des mises à jour mineur ou majeure avec un impact pour la plateforme différente selon les cas. Le numéro de version du produit permet d’identifier ces modifications.

Pour Fusion Middleware, le numéro de version comprend 4 digits : 11gR1(11.1.1.7)PS6

DB major release number

11gR1(11.1.1.7)PS6
(Larry Digit) Version majeur correspondant à la version DataBase et Middleware. C’est une nouvelle version qui nécessite une installation à part entière avec recréation ou migration de domaine et d’application. Elle apporte souvent de nouvelles fonctionnalités et de nouvelles versions de norme. Elle intègre les PATCH des versions mineur et révision antérieures.
DB maintenance release number
11gR1(11.1.1.7)PS6
C’est la version de maintenance DataBase.
FMW release number
11gR1(11.1.1.7)PS6
Numéro de version pour la partie Fusion Middleware. Le ‘R’ faisant partie du nom de la version
Patchset version
11gR1(11.1.1.7)PS6
(ou Patch Set ou Maintenance Pack) C’est un ensemble de PATCH. Le PS étant ce nombre -1.

Exemple pour la 11gR1

FMW Release Name
11gR1
11gR1
PS1
11gR1
PS2
11gR1
PS3
11gR1
PS4
11gR1
PS5
FMW Release Number
11.1.1.1.0
11.1.1.2.0
11.1.1.3.0
11.1.1.4.0
11.1.1.5.0
11.1.1.6.0
WLS Release Name

11gR1 Patchset 1
11gR1 Patchset 2
11gR1 Patchset 3
11gR1 Patchset 4
11gR1 Patchset 5
WLS Release Number
10.3.1
10.3.2
10.3.3
10.3.4
10.3.5
10.3.6
WLS Bugs Version in BugDB
10.3.1.0
10.3.2.0
10.3.3.0
10.3.4.0
10.3.5.0
10.3.6.0

Pour la famille de version 11gR1, WLS a utilisé un numéro de version 10.3. Mais à partir de 12c, WLS devrait rester en phase par rapport au numéro de FMW.

Pour Weblogic nous avons : WLS 10.3.4.0.1

major version
WLS 10.3.4.0.1

minor version
WLS 10.3.4.0.1

patch set
WLS 10.3.4.0.1
Maintenance Pack Service

WLS 10.3.4.0.1
Réserver pour une prochaine utilisation. Dans certain produit, utilisé comme numéro de rolling patch.
PSU
WLS 10.3.4.0.1
(patch set update)

Les patchs applicables sont de différentes natures et différentes fréquences.

ü PSU                Patch Set Update ou ensemble de patch. À partir de Weblogic Server 10.3.4 un ensemble de patchs est fournit régulièrement afin de mettre à niveau la plateforme. Ces patchs sont fournit par quarter et applicable de façon cumulative. Ils contiennent également les Critical Patch Update CPU et testé pour la non-régression
ü CPU                Critical Patch Update ou patch associé à la sécurité. Ces PATCH peuvent sortir à tout moment selon les corrections éditeur.
ü One-Off      (Interim) Patch spécifique ou patch correctif d’un problème particulier.


Type
Cycle
Provenance
Mode d’application
PSU
Tous les 3 mois
Sur le site du support, cherchez le mot clef ‘Patch Set Update Availability Document’ ou référez-vous à l’article

Doc ID 1470197.1 : Master Note on WebLogic Server Patch Set Updates (PSUs)

 Doc ID 859115.1 : My Oracle Support Recommended Patches for Oracle WebLogic Server & Oracle Fusion Middleware Products
Enlever le PSU précédent avant d’installer le suivant. Utiliser l’outil SmartUpdate.

Dans chaque PSU zip vous avez un README explicatif du passage du patch avec BSU.
CPU
Selon l’alerte
Se mettre sur la mailing liste d’alerte ou référez vous au site suivant :


Doc ID 1074055.1 : Security Vulnerability FAQ for Oracle Database and Fusion Middleware Products

Même procédure que PSU mais sans devoir supprimer le CPU précédent
ONE-OFF
À la demande et au cas par cas

Même procédure que PSU.


.Exemple d’exécution du PS

Récupérer le PSU associé à la version sous :


Déziper sous le répertoire $FMW_HOME/$WL_HOME/utils/bsu/cache_dir ou créer un répertoire spécifique pour le PSU (dans le cas d’un remove)

Appliquer la commande (sourcer le setWLSEnv.[sh/cms])

cd $FMW_HOME/$WL_HOME/utils/bsu
bsu.cmd -install -patch_download_dir=$FMW_HOME/$WL_HOME/utils/bsu/cache_dir -patchlist=L51R -pr
od_dir==$FMW_HOME/$WL_HOME/wlserver_10.3
Recherche des conflits..
Aucun conflit dΘtectΘ

Installation de l'ID de patch : L51R..
RΘsultat : SuccΦs

Pour vérifier l’application du PATCH

Avant passage du PSU

java weblogic.version

WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050

Après

$FMW_HOME/$WL_HOME/utils/bsu>java weblogic.version

WebLogic Server 10.3.6.0.5 PSU Patch for BUG16619891 Tue Apr 23 13:24:29 IST 2013
WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050

Avant installation, il faut enlever le PSU précédent :

bsu.cmd -remove -patchlist=L51R -prod_dir==$FMW_HOME/$WL_HOME/wlserver_10.3
Recherche des conflits..
Aucun conflit dΘtectΘ

Suppression de l'ID de patch : L51R..
RΘsultat : SuccΦs


PSUs and One-off Patches
There is no requirement to move to the latest PSU to get a one-off patch of a bug fix. Oracle provides one-off fixes on all PSU versions as long as the release or patch set version is supported for error correction.

Once a PSU is applied, service requests for new problems and new one-off patch requests are filed on the current 5-number PSU version installed.

  • Example 1: PSU 10.3.4.0.1 is installed, and bug 123456 is encountered.
    If a 10.3.4 patch exists for bug 123456 and it does not conflict with the PSU or if there is an existing 10.3.4.0.1 patch, then apply it.
    Otherwise, do the following:
    1. Request a one-off patch for 123456 on top of 10.3.4.0.1.
    2. Apply the one-off patch after Oracle provides it.

PASSAGE PSU



La dépréciation de l’option de profile dans l’outil de déploiement de PATCH remet en question la façon dont sont déployées les plateformes dans la mesure où on ne peut plus appliquer de PATCH spécifique a un domaine, mais globalement a l’ensemble des domaines de la machine.

Une politique de déploiement systématique de Patch Set Update est donc à envisager pour systématiser l’application de PATCH avec une gestion des One-Off Patch à la demande du support. Reste à valider les conflits de ces PATCH unitaires face au déploiement de nouveaux PSU.

Pour chaque One-Off PATCH, vous avez un ID et un ou n Bug Number. Pour valider que les One-Off PATCH en cours sont inclus dans le PSU que vous voulez installer, il faudra retrouver les Bug ID du patch associé a son ID patch et le vérifier dans la liste des Bug Number du PSU (cette liste ne comprend pas le PATCH ID).

Vous trouvez l’ensemble des Bug ID d’un PSU sous cette URL.






Choix du la version du PSU associé à la version de Weblogic





Liste des Bug Fix number associé au PSU.





Vous devrez ensuite faire la corrélation entre les Bug Fix Number de vos One Off PATCH et leurs Bud ID à rechercher sous chaque patch-descriptor.xml

 
Exemple :



Exemple du PATCH : p15895479_12110_Generic.zip

p15895479_12110_Generic.zip\JT3L.jar\patch-descriptor.xml

  JT3L
 
    system
    weblogic_patch.jar
    BUG15895479_1211.jar
 



On recherché sur métalink l’ID 15895479 pour trouver les Bug ID.


Bug ID que nous cherchons dans la liste de Bug ID du PSU.


Il faut donc faire une liste des ces Patch ID a chaque récupération de One-Off PATCH et de leurs Bug ID afin de faciliter la recherche lors du passage de nouveau PSU. Tous les One-Off PATCH non présent dans le PSU sont à conserver dans la configuration.

La procédure serait :

ü  Enlever tous les PSU et One-Off
ü  Installer le nouveau PSU
ü  Re installer tous les One-Off PATCH non présent dans le nouveau PSU
ü  Vérifier les incompatibilités entre One-Off PATCH et PSU lors du passage du One-Off PATCH et valider avec le support de cette incompatibilité.

En règle générale, tous les nouveaux PSU Weblogic embarquent les One-Off PATCH précédent.

RECOMMANDATION



Définir et valider les PATCHS ORACLE à déployer sur l’ensemble des plates-formes ou selon le cas sur des domaines spécifiques comprenant :

  • Les PATCHS techniques
  • Les PATCHS Sécurités

Établir une série de PATCHS à inclure dans la procédure de création de domaine standard. Et des PATCHS à rajouter selon le cas sur les domaines ou instances (spécifique aux installations).

S’assurer de l’impact des PATCHS (sur les applications, dans le CLASSPATH, etc … ).

Définir une procédure d’installation de ces PATCH afin d’automatiser au maximum leurs déploiements (prise en compte dans les Template d’installation de domaine, utilisation de canaux automatisés, … )

Deux types de PATCH peuvent être livrés par le support Oracle :

ü      Officiel            Les correctifs publiés et déployables via l’outil BSU.
ü      Partiel  Développé spécifiquement pour le cas.

Pour les patches dits Partiel ils sont à récupérer directement sur le SR via le site du support et à déployer à la main selon un protocole spécifique.

Les PATCH dits Officiel sont à télécharger et à déployer via l’outil Smart Update ou BSU. Ce déploiement s’effectue en deux phases :

ü Téléchargement       Téléchargement du PATCH à partir de l’ID et du PASSCODE fourni par le support (via l’interface graphique).
ü Installation            Via le répertoire repository issu du téléchargement (en ligne de commande).
S’informer des derniers patchs sécurités à installer par rapport à la version de Weblogic installée (ainsi que des derniers Service Pack à valider sur une plate-forme de tests). Vous pouvez vous inscrire dans une mailing liste afin d’être alerté.

Cet article présente la façon d’installer une plateforme virtualisée avec Oracle Virtual Box et Oracle Linux 6.4 (sur un PC quad core et 8 Go de mémoire, l’idéale étant une plateforme octo core avec 16 Go).

L’objectif étant de travailler sur des machines virtuelles pouvant établir un réseau au sein du Host (votre PC) et d’autres Guest (d’autres machines virtuelles hébergées sur votre PC)

Il vous faudra pour cela récupérer et installer le logiciel Virtual Box, puis créer des machines virtuelles Template à partir d’une image ISO de Oracle Linux 6.4.

La configuration de la machine virtuelle consistera à déclarer une interface réseau type NAT pour les accès externes (afin d’installe des packages complémentaires post installation) et Host-Only pour établir un réseau local entre les Guest.


Ce type de plateforme permet de travailler sur un PC afin de monter une configuration multi machine type SOA avec des Guest d’hébergement Weblogic et Fusion Middleware et Oracle DataBase.

L’avantage d’une VM est également la portabilité inter machine et la pérennité (installé une fois, utilisé plusieurs fois). On peut également mettre en veille une VM qui permet de démarrer rapidement une configuration, ainsi que capturer des images pour des retours arrière lors de manipulation malheureuse.

BINAIRE D’INSTALLATION



Récupérer les binaires d’installation aux URL suivantes :

VIRTUAL BOX


ORACLE LINUX 6.4


ORACLE WEBLOGIC 12.1.2


ORACLE DATABASE 12c


INSTALLATION VIRTUAL BOX



Après installation de Virtual Box (installation classique Windows) vous pouvez configurer la partie réseau NAT (pour la GateWay d’accès externe) et Host Only (Pour le réseau local au Host).

NAT



FileàPreferencesàNetworkàNat NetWork







GATEWAY = 10.0.2.0

HOST-ONLY

Host-Only pour définir le réseau local sur votre Host.





Avec comme réseau local 192.168.56.0. Vos Guest ou image virtuel pourront prendre des plages d’IP fixes sur 192.168.56.xxx

CREATION GUEST ORACLE LINUX 6.4



Une fois installé Virtual Box, il suffit de trouver une place disque pour héberger le Guest et créer un paramétrage et un disque virtuel.

OVBàNew


Choisir un nom pour la VM (également le nom du répertoire d’hébergement de la configuration OVB et disque virtuel). Préciser que c’est une image de type Linux et plus spécifiquement Oracle Linux 64 bits (autant profiter du contexte éditeur et de ses optimisations).

Le choix d’un nom contenant Oracle Linux 64 permet l’auto remplissage des champs Type et Version (plutôt pratique).


Prévoir une taille suffisante qu’on pourra réduire par la suite (pré requis d’installation pour certains logicielle).




Prendre suffisamment d’espace disque sous peine de devoir réallouer des files système post installation.



Une fois le paramétrage du Guest créé, nous allons paramétrer la partie réseau avec deux interfaces d’accès externe (NAT) et local (Host Only) afin de mixer les deux modes.


Adapter 1 : eth0 : NAT
Adapter 2 : eth1 : Host Only

Positionner vous sur votre Guest

OVBà${Guest}à[click droit]àSettingsàNetwork



Accès NAT sur l’Adapter 1 qui sera sous Linux l’interface eth0.


Accès Host-Only sur l’Adapter 2 qui sera sous Linux l’interface eth1.


Créer également une entrée disque pour déclarer le fichier ISO d’installation d’Oracle Linux 6.4 qui sera exécuté au lancement du Guest.

OVBà${Guest}à[click droit]àSettingsàStorageà+Disqueà Choose diskà${PATH fichier iso installation}/OracleLinux-R6-U4-Server-x86_64-dvd.iso




Démarrer votre Guest pour installation.

INSTALLATION ORACLE LINUX 6.4



Une fois lancée la VM, celle-ci boot sur l’image de votre installation Linux faisant apparaitre ce joli logo fusion du Pingouin Linux et d’Iron Man Oracle.



Passez le test Media sous peine de perdre le disque que vous avez monté.


Début de l’installation.


Prendre une installation en anglais sous peine de devoir re traduire une traduction approximative (ce qui est toujours pénible)


Par contre, on conserve un clavier français car la traduction querty vers azerty est encore plus pénible, surtout qu’il faudra reconfigurer post Install le clavier français si on ne coche pas ici la version FR.

On prend les defaults.



 On donne un nom à la machine (que l’on pourra modifier par la suite)


 On prend un local bien de chez nous.


On donne un mot de passe bien compliqué type : oracle

On accepte d’avoir choisi un mot de passe bien compliqué

Par simplicité, on ne prend d’un seul four-tout (ou file system).


On prendra une configuration type Server mais avec un minimum vital, car c’est une image template qui va être répliqué un grand nombre de fois.


 Et on prend un café le temps de l’installation.


Et on reboot le tout.




On se connecte en root et on va déclarer les deux interfaces réseaux à lancer au démarrage.


 Editer le fichier suivant pour activer au démarrage l’interface Eth0 (le modifier comme présenté ci-dessous)

NAT (DHCP) : /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=08:00:27:36:31:8C
TYPE=Ethernet
UUID=ddd4efef-debf-4e4f-b1cf-7bf605e8f38e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

Et configurer l’interface Eth1 pour la passer en IP fixe (nécessaire pour les futures installations).

Host Only (FIXED IP) : /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
HWADDR=08:00:27:5A:EA:7E
TYPE=Ethernet
UUID=089b990b-7e0e-4dfa-b10a-dbd16e282ac5
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=no
IPADDR=192.168.56.179
NETMASK=255.255.255.0
NETWORK=192.168.56.0
BROADCAST=192.168.56.255  
IPV6INIT=no
USERCTL=no

On désactive le FireWall pour ne pas avoir de problème de connexion.

service iptables stop
chkconfig iptables off

Et on reboot le tout (encore une fois) (avec la commande reboot mais si vous ne savez pas cela, ce n’est pas la peine de continuer ce tuto …. )

Vous pouvez maintenant lancer un putty sur ce Guest pour tester la connectivité du Host vers le Guest et un wget de votre URL préféré du Guest vers l’extérieure.

Dans le cas d’un proxy d’entreprise, vous pouvez positionner cette variable

export http_proxy=http://${username}:${password}@${alias proxy}:${port proxy}



CUSTOMISATION MASTER LINUX



Quelques éléments doivent être rajoutés pour compléter l’installation.

UPDATE

Un update peut être réalisé pour mettre à jour la souche Linux. Là vous pouvez allez carrément planter le caféier car la procédure est longue.

yum update

INSTALLATION X11

Dans certains cas, vous aurez besoin de lancer des interfaces graphiques. Pour cela, vous pouvez installer la partie X11 et xterm (moins long que l’update).

yum install kernel-devel gcc
yum groupinstall "X Window System"
yum install xterm

CONFIGURATION RESEAU

Ajouter dans le fichier /etc/hosts le nom du Host et du Guest.

Pour le Host il faut le chercher dans l’interface réseau installé par OVB. Pour cela faite un ipconfig via un éditeur de commande DOS sous Windows 7 et rechercher l’interface VirtualBox. Cet IP représentera le Host (votre PC) sous la machine virtuelle Linux.

ipconfig

indows IP Configuration

thernet adapter VirtualBox Host-Only Network:

  Connection-specific DNS Suffix  . :
  IPv4 Address. . . . . . . . . . . : 192.168.56.1
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . :

Pour le Guest c’est l’IP fixe que vous avez défini dans le Guest et visible du Host et d’autre Guest.

On rajoute donc dans le Guest

/etc/hosts
192.168.56.1    host
192.168.56.178  OL64

Et dans le Host

C:\WINDOWS\system32\drivers\etc\hosts
192.168.56.178    OL64

Ajouter dans le .bash_profile de vos utilisateurs Guest l’entrée suivante afin de rediriger les flux X11 vers votre Host.

export DISPLAY=host:0.0

COMPTE UTILISATEUR

Vous pouvez créer un compte utilisateur.

groupadd oinstall
useradd -d /home/oracle -g oinstall -p oracle oracle
                              
PARAMETRAGE PUTTY

Installer Xming sur votre Host en y renseignant l’IP de vos Guest et relancer Xming (fichier C:\Program Files (x86)\Xming\X0.hosts). Cet utilitaire vous permettra de lancer des applications X11 de votre Guest vers le Host.

Placer dans putty : puttyàsshàX11àEnable + X Display = host


Un auto login sur le compte utilisateur unix oracle.


Un titre de fenêtre pour distinguer sur quel Guest vous êtes connecté.


Avec cette option pour éviter le changement de nom de la fenêtre automatiquement.


MONTAGE PARTAGE



Pour voir vos disques Windows à partir de vos VM, vous devrez installer l’utilitaire Guest Addition de OVB sur votre Guest. Pour cela récupérer l’image ISO de l’outil depuis votre installation OVB et placez-le à la racine du compte utilisateur root (au plus simple avec un client FTP).

C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso

ou



Puis monter l’image et lancer l’utilitaire.

mkdir /mnt/VBoxGuestAdditions
mount -o loop VBoxGuestAdditions.iso /mnt/VBoxGuestAdditions
cd /mnt/VBoxGuestAdditions
./VBoxLinuxAdditions.run

reboot


Si durant vous rencontrez des problèmes, re installer les packages manquants et rebooter la VM.

 [root@OL64 VBoxGuestAdditions]# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.0 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-uek-devel-2.6.39-400.210.2.el6uek.i686
         
Building the main Guest Additions module                   [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions              [  OK  ]
Installing the Window System drivers
Installing X.Org Server 1.13 modules                       [  OK  ]
Setting up the Window System to use the Guest Additions    [  OK  ]
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services componen[  OK  ]

Une fois l’installation terminée, vous devriez avoir le résultat suivant :

[root@OL64 VBoxGuestAdditions]# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.0 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.3.0 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-uek-devel-2.6.39-400.210.2.el6uek.i686

Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
Starting the VirtualBox Guest Additions                    [  OK  ]
Installing the Window System drivers
Installing X.Org Server 1.13 modules                       [  OK  ]
Setting up the Window System to use the Guest Additions    [  OK  ]
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services componen[  OK  ]



Pour déclarer vos partages, allez dans les paramètres de votre VM et ajoutez vos lecteurs ou répertoires (en exemple ici, le partage du lecteur E: ).




Une fois l’image remontée vous pouvez voir les répertoires en partages (automatiquement)

df –k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_ol24-lv_root
                      12941636   3365360   8918868  28% /
tmpfs                   510408         0    510408   0% /dev/shm
/dev/sda1               495844     99944    370300  22% /boot
E_DRIVE              488383484 448345792  40037692  92% /media/sf_E_DRIVE
D_DRIVE              114268156  89788988  24479168  79% /media/sf_D_DRIVE

Si vous voulez réaliser un point de montage particulier :

mkdir /mnt/D_DRIVE
mount -t vboxsf D_DRIVE /mnt/D_DRIVE

mkdir /mnt/E_DRIVE
mount -t vboxsf E_DRIVE /mnt/E_DRIVE

Pour persister le paramétrage :

/etc/fstab
D_DRIVE                 /mnt/D_DRIVE            vboxsf  defaults        0 0
E_DRIVE                 /mnt/E_DRIVE            vboxsf  defaults        0 0

Pour la prise en compte du montage au démarrage :

/etc/rc.local
mount D_DRIVE
mount E_DRIVE

TEMPLATE



On pourra exporter cette configuration pour en faire un Template de VM (l’inconvénient est que l’on conserve la MAC ADDRESS qui peut entraîner des conflits entre VM d’une même souche).

Créer un scripte pour customiser le futur Template (il suffit de préciser la fin de la nouvelle IP et le nom de la machine).

TEMPLATE.sh
IP=$1
if [ -z $IP ]
then
        read -p "IP        : " IP
fi

HOST_NAME=$2
if [ -z $HOST_NAME ]
then
        read -p "HOST NAME        : " HOST_NAME
fi

read -p "CUTOMIZE TEMPLATE WITH IP[192.168.56.$IP] HOST_NAME[$HOST_NAME] (y/n) : "  RES

if [ "y" != "$RES" ]
then
        exit
fi

sed -i "s/192.168.56.179/192.168.56.${IP}/g" /etc/sysconfig/network-scripts/ifcfg-eth1
sed -i "s/OL64/${HOST_NAME}/g" /etc/sysconfig/network
sed -i "s/192.168.56.179/192.168.56.${IP}/g" /etc/hosts
sed -i "s/OL64/${HOST_NAME}/g" /etc/hosts
                                          
reboot

Exporter la VM pour en faire un Template.


CLONE



L’option Clone permet de dupliquer une machine en changeant la MAC ADDRESS mais oblige de re paramétré de nouvelles interfaces (Eth2, Eth3) (chose possible également avec l’import).


Ce scripte permet de renseigner la nouvelle IP et nom de machine en recréant les fichiers d’interface réseau sur Eth2 et Eth3 (avec les nouvelles adresses MAC)

CLONE.sh
##############################################################################################
# CUSTOMIZE NETWORK INTERFACE
##############################################################################################

# -------------------------------------------------------------------------------------------
# GET NEW PARAM
# -------------------------------------------------------------------------------------------

# --- get new IP

echo
IP=$1
if [ -z $IP ]
then
        read -p "NEW IP   : 192.168.56." IP
fi

# --- get new HOST NAME

HOST_NAME=$2
if [ -z $HOST_NAME ]
then
        read -p "HOST NAME : " HOST_NAME
fi
echo

read -p "CUTOMIZE TEMPLATE WITH IP[192.168.56.$IP] HOST_NAME[$HOST_NAME] (y/n) : "  RES

if [ "y" != "$RES" ]
then
        exit
fi

# --- get new UUID

UUID_NEW0="`uuidgen`"
UUID_NEW1="`uuidgen`"

# ---  get new MAC ADDR

MACADDR_ETH2="`ifconfig -a | grep eth2 | grep HWaddr | awk '{print $5}'`"
MACADDR_ETH3="`ifconfig -a | grep eth3 | grep HWaddr | awk '{print $5}'`"

# -------------------------------------------------------------------------------------------
# GET OLD PARAM
# -------------------------------------------------------------------------------------------

MACADDR_ETH0="`cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep HWADDR | awk -F'=' '{print $2}'`"
MACADDR_ETH1="`cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep HWADDR | awk -F'=' '{print $2}'`"

UUDI_ETH0="`cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep UUID | awk -F'=' '{print $2}'`"
UUID_ETH1="`cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep UUID | awk -F'=' '{print $2}'`"

MACHINE_NAME="`cat /etc/sysconfig/network | grep HOSTNAME | awk -F'=' '{print $2}'`"

OLD_IP="`cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep IPADDR | awk -F'=' '{print $2}'`"

# -------------------------------------------------------------------------------------------
# RESET NETWORK PARAM
# -------------------------------------------------------------------------------------------

sed -i "s/${OLD_IP}/192.168.56.${IP}/g" /etc/sysconfig/network-scripts/ifcfg-eth1
sed -i "s/${MACHINE_NAME}/${HOST_NAME}/g" /etc/sysconfig/network
sed -i "s/${OLD_IP}/192.168.56.${IP}/g" /etc/hosts
sed -i "s/${MACHINE_NAME}/${HOST_NAME}/g" /etc/hosts

sed -i  "s/${MACADDR_ETH0}/${MACADDR_ETH2}/g" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i  "s/${UUDI_ETH0}/${UUID_NEW0}/g" /etc/sysconfig/network-scripts/ifcfg-eth0

sed -i  "s/${MACADDR_ETH1}/${MACADDR_ETH3}/g" /etc/sysconfig/network-scripts/ifcfg-eth1
sed -i  "s/${UUID_ETH1}/${UUID_NEW1}/g" /etc/sysconfig/network-scripts/ifcfg-eth1

# --- DATABASE PART
if [ -f /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora ]
then
       sed -i  "s/localhost/${HOST_NAME}/g" /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
fi

if [ -f /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora ]
then
       sed -i  "s/localhost/${HOST_NAME}/g" /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora
fi

if [ -f /home/oracle/scripts/startup.sh ]
then
       sed -i  "s/guest.db12c/${HOST_NAME}/g" /home/oracle/scripts/startup.sh
fi

if [ -f /home/oracle/scripts/shutdown.sh ]
then
       sed -i  "s/guest.db12c/${HOST_NAME}/g" /home/oracle/scripts/shutdown.sh
fi

# -------------------------------------------------------------------------------------------
# REINIT Eth2 & Eth3 to keep Eth0 & Eth1 after reboot
# -------------------------------------------------------------------------------------------

rm -f /etc/udev/rules.d/70-persistent-net.rules

reboot

DATABASE




PRE INSTALLATION

Installation des package et paramétrage

Lancer la VM pour charger les packages de pre installation d’Oracle DB12c

yum install oracle-rdbms-server-11gR2-preinstall -y
yum install oracle-rdbms-server-12cR1-preinstall -y


Arrêter la VM et créer une partition d’installation (/u01).


Relancer la VM et installer la partition.

fdisk /dev/sdb
p       
n
p
1
‘ ‘
‘ ‘
t
8e
p
w


pvcreate /dev/sdb1
vgcreate -v vg_oracledb /dev/sdb1
lvcreate -v --size 18g --name lv_oracledb vg_oracledb
mkfs.ext4 -v /dev/mapper/vg_oracledb-lv_oracledb
mkdir -v /u01
mount -t ext4 /dev/vg_oracledb/lv_oracledb /u01
df -h /u01             

vi /etc/fstab
/dev/mapper/vg_oracledb-lv_oracledb    /u01     ext4    defaults        1 1

Changer le nom de la machine

vi /etc/sysconfig/network
HOSTNAME=guest.db12c

vi /etc/hosts
192.168.56.xxx  guest.db12c

reboot

INSTALLATION

Récupérer les binaires d’installation et de zipper les

unzip linuxamd64_12c_database_1of2.zip
unzip linuxamd64_12c_database_2of2.zip
rm linuxamd64_12c_database_1of2.zip linuxamd64_12c_database_2of2.zip
                           
mkdir -p /u01/app/oradata  
chown -R oracle:oinstall /u01

Lancer l’installer

cd  database
./runInstaller

Prendre le default (sauf l’option Container DataBase qui n’est pas compatible avec le RCU)
(cas avec une base multi tenant)

(Cas avec une base non multi tenant dans le cas du MDS qui n’est pas compatible PDB)




POST INSTALLATION

vi /etc/oratab

TSH1:/u01/app/oracle/product/9.2.0:Y

vi /etc/init.d/dbora

#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database software.

ORA_OWNER=oracle

case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        # Remove "&" if you don't want startup as a background process.
        su $ORA_OWNER -c "/home/oracle/scripts/startup.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" &

        touch /var/lock/subsys/dbora
        ;;
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su $ORA_OWNER -c "/home/oracle/scripts/shutdown.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1"
        rm -f /var/lock/subsys/dbora
        ;;
esac

chmod 750 /etc/init.d/dbora
chkconfig --add dbora  
                                        
mkdir /home/oracle/scripts
chown -R oracle:oinstall /home/oracle/scripts
                                                       
vi /home/oracle/scripts/startup.sh

#!/bin/bash

export TMP=/tmp
export TMPDIR=$TMP
export PATH=/usr/sbin:/usr/local/bin:$PATH
export ORACLE_HOSTNAME=guest.db12c
export ORACLE_UNQNAME=orcl

export ORACLE_SID=orcl
ORAENV_ASK=NO
. oraenv
ORAENV_ASK=YES

# Start Listener
lsnrctl start

# Start Database
sqlplus / as sysdba << EOF
STARTUP;
EXIT;
EOF

vi /home/oracle/scripts/shutdown.sh
                
#!/bin/bash

export TMP=/tmp
export TMPDIR=$TMP
export PATH=/usr/sbin:/usr/local/bin:$PATH
export ORACLE_HOSTNAME=guest.db12c
export ORACLE_UNQNAME=orcl

export ORACLE_SID=orcl
ORAENV_ASK=NO
. oraenv
ORAENV_ASK=YES

# Stop Database
sqlplus / as sysdba << EOF
SHUTDOWN IMMEDIATE;
EXIT;
EOF

# Stop Listener
lsnrctl stop
                                                           
chmod u+x /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh
chown oracle.oinstall /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh

sous le compte oracle.

Modifier le .bash_profile du compte unix oracle.

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=orcl  
export PATH=$ORACLE_HOME/bin:$PATH
                                                     
. ./.bash_profile

sqlplus / as sysdba

Suppression des limites de temps pour l’expiration des mots de passe
ALTER PROFILE DEFAULT LIMIT PASSWORD_GRACE_TIME UNLIMITED;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LOCK_TIME UNLIMITED;
commit;

Suppression des audit log
NOAUDIT ALL;    
DELETE FROM SYS.AUD$;
commit;

alter user sys identified by oracle ;
alter user system identified by oracle;
alter user dbsnmp identified by oracle;
commit;


TEST INSTALLATION

Test sous root l’arrêt redémarrage

# service dbora start
# service dbora stop
a
. ./.bash_profile
$ORACLE_HOME/bin/sqlplus 'sys/oracle@orcl as sysdba'
select sysdate from dual;

[oracle@guest ~]$ lsnrctl status

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 04-NOV-2013 15:47:55

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                04-NOV-2013 15:43:39
Uptime                    0 days 0 hr. 4 min. 15 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/guest/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=guest.db12c)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "pdborcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

Test sur le host


AUTEUR

Ma photo
Carrières Sur Sein, Yvelines, France
Consultant Oracle (Ancien consultant BEA depuis 2001), je m’occupe des expertises sur les produits Oracle : SOCLE (Weblogic, Coherence, JRockit) SOA (Service Bus, SOA Suite, BPM)
MON CV

LABEL 3D

Blogumulus by Roy Tanck and Amanda Fazani

LABEL CLOUD

MAP

Locations of visitors to this page

AUTRES BLOG

LIVRES

MEMBRES