Installation de Oracle 12c sur Ubuntu 14.04 64 bits
Pré-requis pour l’installation du SGDR Oracle
Il faut savoir que Oracle est conçu pour tourner sur un environnement RedHat. Il y a donc quelques actions à effectuer sur Ubuntu pour adapter la distribution.
De plus, la version 12c est conçue pour s’exécuter en environnement 64 bits, les versions 32 bits ne sont pas supportées par le noyau.
Installation des dépendances :
Certaines librairies, non présentes par défaut sur Ubuntu, sont nécessaires au bon fonctionnement du SGBDR Oracle. Voici la commande à jouer dans le terminal :
sudo apt-get -y install alien autoconf automake autotools-dev binutils doxygen elfutils expat gawk gcc gcc-multilib g++-multilib libstdc++6.4.7-dev libstdc++6:i386 ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libstdc++5 lsb-cxx make pdksh openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev x11-utils zlibc libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386 libpthread-workqueue0 libpthread-workqueue-dev libzthread-2.3-2 libzthread-dev libpthread-stubs0-dev lsb-rpm libtool libtiff5-dev unzip flex
Java 1.7 mininum est nécessaire pour l’installation et l’utilisation du SGBDR. Récupérer les sources sur internet et voici comment l’installer :
rpm -i /home/candy/Downloads/jdk-8u31-linux-x64.rpm
mkdir -p /usr/java
cd /usr/java/
tar xzvf jdk-8u31-linux-x64.tar.gz
Création des liens symboliques :
sudo su ln -sf bash /bin/sh ls -l /bin/sh ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/rpm /bin/rpm ln -s /usr/bin/basename /bin/basename mkdir /etc/rc.d for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done mkdir /usr/lib64 ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64 ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/ exit
Création du Compte Utilisateur :
Ensuite, il est important de créer deux groupes et un compte utilisateur spécifique qui sera utilisé pour l’installation et propriétaires des outils Oracle.
Habituellement le compte utilisateur se nomme oracle et appartient au groupe Oracle Inventory (oinstall) comme groupe principal et au groupe OSDBA (dba) comme groupe secondaire. Voici les commandes nécessaires à la création de ces deux groupes et cet utilisateur :
sudo su addgroup oinstall addgroup dba addgroup nobody usermod -g nobody nobody useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle passwd oracle mkdir /home/oracle /u01 chown -R oracle:dba /home/oracle /u01 mkdir -p /u01/app chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ exit
Configuration des paramètres du noyau :
Vérifier le contenu du fichier /etc/sysctl.conf pour qu’il soit conforme à l’image ci-dessous :
fs.suid_dumpable = 1 kernel.shmall = 2097152 kernel.shmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 fs.aio-max-nr = 1048576 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 = 1048576
Définir les limites du shell pour le compte oracle :
Ajouter dans le fichier /etc/security/limits.conf les éléments suivants :
oracle soft nproc 2047 oracle hard nproc 16384 oracle hard nofile 65536 oracle soft nofile 1024 oracle soft stack 10240
Modifier le fichier /etc/pam.d/login pour incorporer la ligne suivante :
session required pam_limits.so
Modifier le fichier /etc/profile en fonction de la distribution et du shell par défaut de l’utilisateur oracle.
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
Appliquer les paramètres instantanément, grâce à la commande suivante sysctl -p
Modification du profile de l’utilisateur Oracle :
Modifier le fichier /home/oracle/.bash_profile pour ajouter la ligne suivante umask 022 qui permet de définir les droits d’accès des nouveaux fichiers.
Modifier le fichier /home/oracle/.bashrc dans le répertoire home de l’utilisateur oracle pour ajouter les variables d’environnements nécessaires au bon fonctionnement du SGBDR. Pour appliquer les changements, exécuter la commande : source ~/.bashrc
export JAVA_HOME=/usr/java/jdk1.8.0_31/bin/java export PATH=$PATH:/usr/java/jdk1.8.0_31/bin # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=ubuntu.local; export ORACLE_HOSTNAME ORACLE_UNQNAME=DB12C; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/12/dbhome_1; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
Configuration de la couche réseau :
Récupérer l’adresse IP à l’aide de la commande ifconfig. Récupérer le nom d’hôte avec la commande hostname et modifier le fichier /etc/hosts en conséquence.
Ajouter les droits de connexion au X Server pour l’adresse IP correspondante : xhost +IP
Configuration de la couche Oracle NET :
Modification du fichier /u01/app/oracle/product/12/dbhome_1/network/admin/sqlnet.ora comme suit :
TRACE_LEVEL_SERVER = ADMIN ADR_BASE = /u01/app/oracle
Modification du fichier /u01/app/oracle/product/12/dbhome_1/network/admin/tnsname.ora comme suit :
LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = ubuntu.local)(PORT = 1521)) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ubuntu.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
Modification du fichier /u01/app/oracle/product/12/dbhome_1/network/admin/listener.ora comme suit :
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/12/dbhome_1) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ubuntu.local)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /u01/app/oracle
Création de la base de données Oracle :
Télécharger les fichiers d’installation depuis le site internet Oracle.
- linuxamd64_12c_database_1of2.zip
- linuxamd64_12c_database_2of2.zip
Extraire le contenu de ces archives dans le répertoire /home/oracle. Vous aurez un répertoire database auquel il faut attribuer les droit oracle:oinstall.
Puis exécuter les commandes dans le terminal connecté en tant que oracle :
DISPLAY=:0.0 ; export DISPLAY
xhost +
cd /home/oracle/database
./runInstaller
Une interface graphique va s’ouvrir contenant une douzaine d’étapes qui vous permettra d’installer le noyau d’Oracle et de créer une première base de données.