Oracle 11gR2 sur RedHat 7 64 bits 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é. IMPORTANT : charger ces configurations avant de lancer l'installation ! source .bash_profile 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 ou . oraenv si le PATH est correct 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://linux-tutorial-for-beginners.blogspot.fr/2013/04/linux-fedora-18-gnome3-howto-install-gettingstarted-oracle-11g-r2-database.html http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCHBHDB