Oracle 11gR2 sur RedHat 7 64 bits
De wikiGite
RedHat sera ici installé sur une machine virtuelle VMWare. Adapter la procédure en fonction des besoins.
Sommaire
Installation RedHat 7
1. Télécharger la dernière image ISO RedHat sur https://access.redhat.com
2. Créer une VM
- ressources : 16G RAM, 300G disque format dynamique
- Faire pointer le lecteur cd vers l'ISO RedHat
3. Activer (booter) la VM
4. IMPORTANT : L'installateur graphique de RedHat ne s'affiche pas correctement par défaut dans la console VMWare. Au lancement :
- Aller dans « Troubleshooting » / « install in basic graphic mode »
- Touche TABULATION
- remplacer "xdriver=vesa" par "vga=794", valider.
Note : on a pas ce problème sur une VM KVM.
5. Sur l'écran « Installation summary », choisir la langue et le clavier
6. Paramétrer le réseau dans « Network & hostname » (sélectionner la carte et cliquer sur « Configure »)
7. Paramétrer les partitions dans « Installation destination »
8. Sélectionner le disque de destination, demander la création des partitions automatiquement, puis supprimer /home (l'assistant crée une partition /home distincte sur le reste du disque. On veut garder cette place pour un "/u01" qui contiendra Oracle)
9. Revenir sur l'écran d’accueil et cliquer sur « Begin installation »
10. Pendant l'installation, créer le mot de passe root, ne pas créer d'autre utilisateur.
Une fois le système installé et la VM redémarrée, s'y connecter en SSH.
11. Vérifier que la VM a accès à internet
12. Enregistrer le système auprèsde Redhat :
subscription-manager register Le système a été enregistré avec l'ID : xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
13. Lister les souscriptions disponibles et noter le numéro « ID du pool »,
subscription-manager list --available
14. Souscrire à ce pool (ID ci-dessus sans les tirets)
subscription-manager subscribe --pool=xxxxxxxxxxxxxxxxxxxxxxxxxx
15. Vérification :
subscription-manager list --consumed
16. Vérifier les dépôts activés
yum repolist all
le dépôt « rhel-7-server-rpms/7Server/x86_64 » doit être actif 17. Mettre le système à jour
yum update
Préparation de l'installation d'Oracle 11gR2 par YUM
Selon http://www.snapdba.com/2014/01/oracle-database-11gr2-11-2-0-4-installation-on-oracle-linux-6-4/ et http://www.snapdba.com/2013/03/oracle-linux-6-4-installation-64-bit : en activant les dépôt d'Oracle linux (ou en installant directement Oracle linux), les pré-requis peuvent être automatisés par
yum install oracle-rdbms-server-11gR2-preinstall
A valider ! Et voir ce que ça automatise par rapport au chapitre ci-dessous.
Installation d'Oracle 11gR2 manuellement
1. Télécharger les fichiers sur https://support.oracle.com (au minimum : fichiers 1 et 2 (database), 4 (client), et 7 (uninstall))
2. Installer les pré-requis (le dépôt additionnel « server-optional-rpms est nécessaire pour le paquet compat-libstdc++-33)
yum install yum-utils xauth unzip psmisc yum-config-manager --enable rhel-7-server-optional-rpms yum install ksh binutils glibc compat-libstdc++-33 compat-libcap1 glibc-common glibc-devel glibc-headers elfutils-libelf elfutils-libelf-devel elfutils gcc gcc-c++ ksh libaio libaio-devel libgcc libstdc++-devel make libXi libXtst numactl-devel sysstat mksh unixODBC unixODBC-devel
3. Formater et monter une partition LVM /u01 à partir de l'espace libre restant sur le disque.
4. Initialiser l'arborescence Oracle
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
5. Créer groupes et utilisateur
groupadd -g 502 oinstall groupadd -g 503 dba groupadd -g 504 oper groupadd -g 505 asmadmin # UTILE ?? useradd -u 502 -g oinstall -G dba,oper -d /u01 -s /bin/bash oracle11 passwd oracle11
6. Changer les droits de /u01
chown -R oracle11:oinstall /u01 chmod -R 775 /u01
7. Adapter les paramètres système pour Oracle
vi /etc/sysctl.d/99-sysctl.conf
ajouter :
#### Oracle 11g Kernel Parameters #### fs.suid_dumpable = 1 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967296 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=4194304 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586
vi /etc/security/limits.conf
ajouter :
#### oracle User Settings 4 Oracle 11g #### oracle11 soft nproc 2047 oracle11 hard nproc 16384 oracle11 soft nofile 4096 oracle11 hard nofile 65536 oracle11 soft stack 10240 oracle11 hard stack 32768
appliquer les paramètres :
/sbin/sysctl -p
8. Désactiver SELINUX et le firewall local
systemctl stop firewalld systemctl disable firewalld vi /etc/selinux/config
modifier : SELINUX=disabled 9. Se connecter sous l'utilisateur Oracle (attention aux espaces autour du « - »)
su - oracle11 vi .bashrc
ajouter :
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
9.1. Sur RH7 et bash, c'est .bash_profile qui est lancé en interactif. Créer .bash_profile :
vi .bash_profile
# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
NOTE : Sur linux, en interactif (connexion à une console ou ssh), c'est .bash_profile qui est exécuté. En non-interactif (cron, su -c, etc.) c'est .bashrc qui est exécuté.
10. dézipper les archives oracle (par exemple dans /u01/install), donner les droits à oracle11
chown -R oracle11.oinstall /u01/install/database
11. Lancer l'installation
cd /u01/install/database ./runInstaller
NOTE : l'installation est graphique. Ne pas oublier « xhost + » et « ssh -X » si client linux, ou Xming si client Windows.
Répondre Y si l'avertissement suivant s'affiche :
Vérification de l'écran : doit être configuré pour afficher au moins 256 couleurs >>> Impossible d'exécuter la vérification automatique des couleurs d'affichage à l'aide de la commande /usr/bin/xdpyinfo. Vérifiez que la variable DISPLAY est définie. Echec <<<< Echec de la vérification de certaines exigences. Vous devez répondre à ces exigences pour pouvoir poursuivre l'installation, Voulez-vous poursuivre ? (o/n) [n]
12. Passer les différents écrans graphiques avec le bouton « suivant » :
- ne pas donner d'adresse électronique, décocher "recevoir les mises à jour..." > suivant (valider l'avertissement)
- ignorer les mises à jour > suivant (valider "ne pas être averti....")
- installer le logiciel uniquement > suivant (les bases de données seront créées individuellement plus tard)
- bases mono-instance (« single instance ») > suivant
- langues anglais+français > suivant
- Standard Edition > suivant
- vérifier les chemins ORACLE_BASE et ORACLE_HOME > suivant
- vérifier chemin oraInventory (créé automatiquement) et groupe > suivant
- vérifier groupes dba,oper > suivant
13. A la validation, le message indiquant un swap trop petite (< RAM) peut être ignoré; de même le message indiquant « pdksh » manquant peut être ignoré aussi (le package « ksh » le remplace).
S'il n'y a que ces 2 avertissements, cocher "ignorer tout" et valider.
NOTE RedHat7 : en cas d'erreur
"Erreur lors de l'appel de la cible 'agent nmhs' du fichier Make"
- laisser l'installateur en attente
- aller en console dans le répertoire /u01/app/oracle/product/11.2.0.4/sysman/lib
- éditer ins_emagent.mk avec vi
- chercher MK_EMAGENT_NMECTL, remplacer la ligne :
$(MK_EMAGENT_NMECTL)
par
$(MK_EMAGENT_NMECTL) -lnnz11
- sauver, revenir à l'installateur et cliquer « réessayer »
14. A la fin de l'installation, exécuter en "root" les 2 scripts indiqués
Installation du patch 11.2.0.4.1
1. Le patch « DATABASE_PATCH_SET_11.2.0.4.1 » est disponible sur support.oracle.com sous le nom « p17478514_112040_Linux-x86-64.zip ».
2.Télécharger aussi la dernière version d'Opatch (11.2.0.3.5 = p6880880_112000_Linux-x86-64.zip).
cd $ORACLE_HOME unzip /ora11ginst/OPatch/Patch\ 6880880/p6880880_112000_Linux-x86-64.zip
et répondre « A » (« All »)
3. Décompresser le patch et lancer la vérification
unzip p17478514_112040_Linux-x86-64.zip cd 17478514 opatch prereq CheckConflictAgainstOHWithDetail -ph ./
4. Si la vérification répond « Prereq "checkConflictAgainstOHWithDetail" passed. », lancer la mise à jour
opatch apply
« Entrée » sur « Adresse électronique/nom utilisateur : », et « O » sur « Voulez-vous ne pas être informé des problèmes de sécurité ([O]ui, [N]on) [N] ? »
Clone de la machine virtuelle RH7 (si nécessaire)
Stopper la VM, la cloner. Lancer la VM clonée, modifier l'adresse IP et /etc/hostname. Vérifier la souscription :
subscription-manager refresh
En cas de problème, la refaire :
subscription-manager clean subscription-manager unregister subscription-manager register
Création des bases de données
Le programme Oracle ayant été installé seul (sans création de base), lancer d'abord "netca" pour créer un LISTENER, puis "dbca" pour créer les bases.
Suivre les écrans de création de la base (les options dépendent des besoins de la base, à voir individuellement).
Après création d'une base, si la console DBCONSOLE a été installée (par défaut), on y accède par :
https://176.100.3.145:1158/em
L'initialisation de l'environnement Oracle en console se fait par :
/usr/local/bin/oraenv
Démarrage-arrêt automatique du listener et des bases :
- modifier /etc/oratab, mettre "Y" (en bout de ligne) pour les bases à lancer/arrêter automatiquement
- créer un fichier /etc/systemd/system/dboracle.service contenant :
[Unit] Description=Oracle Autostart Service After=syslog.target network.target [Service] Type=simple RemainAfterExit=yes User=oracle11 Group=oinstall ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/11.2.0/dbhome_1 ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/11.2.0/dbhome_1 [Install] WantedBy=multi-user.target
Activer le démarrage automatique des bases Oracle :
systemctl enable dboracle.service
Si nécessaire, le démarrage manuel de bases est possible par :
$ORACLE_HOME/bin/dbstart $ORACLE_HOME
Et l'arrêt des bases:
$ORACLE_HOME/bin/dbshut $ORACLE_HOME
Ressources
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCHBHDB