Articles avec les mots clés ’oracle’
Installer SQL*Plus sur Ubuntu 11.10
Dans cet article, nous allons installer le client SQL*Plus d’Oracle sous Ubuntu 11.10.
Tout d’abord nous allons installer les pré-requis :
sudo apt-get install libaio1 unzip
Si nous utilisons les PAM (pam_ldap, pam_mysql, …) pour l’authentification des utilisateurs de la machine, alors il faut installer le daemon nscd :
sudo apt-get install nscd sudo update-rc.d nscd enable
Nous allons donc télécharger depuis les fichiers instantclient-basic-linux32-11.2.0.2.0.zip et instantclient-sqlplus-linux32-11.2.0.2.0.zip.
Nous les décompressons dans /usr/local :
sudo unzip instantclient-sqlplus-linux32-11.2.0.2.0.zip -d /usr/local sudo unzip instantclient-basic-linux32-11.2.0.2.0.zip -d /usr/local sudo ln -s /usr/local/instantclient_11_2/sqlplus /usr/bin/sqlplus
Nous allons ensuite créer le fichier /etc/ld.so.conf.d/sqlplus.conf (sudo vi /etc/ld.so.conf.d/sqlplus.conf) et y mettre :
/usr/local/instantclient_11_2
Suivi d’un :
sudo ldconfig
Nous allons télécharger une icone et la placer dans /usr/local/instantclient_11_2 :
cd /usr/local/instantclient_11_2 sudo wget http://www.mricons.com/ajax/download/png/95358/128/sql -O sqlplus.png
Nous allons ajouter une entrée dans le menu Gnome en créant le fichier /usr/share/applications/sqlplus.desktop (sudo vi /usr/share/applications/sqlplus.desktop) et en y mettant :
[Desktop Entry] Encoding=UTF-8 Name=SqlPlus GenericName=SqlPlus Comment=Oracle Instant Client SqlPlus Exec=/usr/bin/gnome-terminal -t "SQL*Plus" -e "/usr/bin/sqlplus /nolog" Terminal=False; Type=Application Categories=Development Version=11.2.0.2 Icon=/usr/local/instantclient_11_2/sqlplus.png
Nous pouvons maintenant lancer SQL*Plus depuis le menu Gnome et nous connecter à un serveur de bases de données Oracle :
Ajouter le support OCI8 à php sous Centos 5
L’extension OCI8 permet ajoute à php des fonctionnalités permettant de communiquer avec une base Oracle.
OCI8 n’est pas fourni de base avec php, il convient de l’installer manuellement.
Avant toute chose, nous allons installer apache-php :
yum install php php-devel httpd /etc/init.d/httpd start
Nous créons ensuite un fichier /var/www/html/phpinfo.php contenant :
<?php
phpinfo();
?>
Cette page est donc accessible depuis l'adresse http://127.0.0.1/phpinfo.php
Il faut ensuite télécharger et décompresser l'extension oci8 pour php :
wget http://pecl.php.net/get/oci8-1.4.5.tgz tar zxf oci8-1.4.5.tgz
Pour installer l'extension OCI8, deux cas de figures peuvent se présenter. Soit la machine possède déjà un serveur oracle configuré (cf article sur l'installation d'un serveur oracle) soit la machine ne possède pas de serveur oracle local et devra accéder à un serveur oracle distant.
Si un serveur oracle local est installé :
cd oci8-1.4.5 phpize ./configure --with-oci8=shared,$ORACLE_HOME make make install
Si aucun serveur oracle n'est présent sur la machine :
Il faut alors installer oracle_instantclient. Nous choisirons la version 11.2-basic et 11.2-devel en rpm depuis cette page
rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
Nous pouvons maintenant compiler l'extension OCI8 :
cd oci8-1.4.5 phpize ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib make make install
Configuration de php
Cette étape est commune aux deux méthodes d'installation précédentes.
Ajouter au fichier /etc/php.ini la ligne :
extension=oci8.so
et redémarrer le serveur apache :
/etc/init.d/httpd restart
Maintenant, en allant sur la page http://127.0.0.1/phpinfo.php, vous devez avoir une section oci8 de ce style :
Installation d’Oracle 11gR2 sur Centos 5
Il est possible d’installer une base Oracle 11g a des fins de test.
L’OTN Developer License Terms spécifie :
We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing, testing, prototyping and demonstrating your application.
Il faut donc télécharger les deux fichiers LinuxX86 présents sur la page des téléchargements et les décompresser dans le répertoire /tmp
Préparation du système d’exploitation :
Le système (CentOS 5) doit être à jour.
Nous allons suivre les recommandations d’oracle concernant le nommage des répertoires d’installation.
Nous allons donc modifier le fichier /etc/profile et y ajouter :
export ORACLE_BASE="/opt/oracle" export ORACLE_HOME="$ORACLE_BASE/product/11.2.0/db_1" export ORACLE_HOSTNAME="mamachine.be-root.com" export ORACLE_SID="beroot"
Nous pouvons ensuite faire un source /etc/profile afin d’avoir les variables positionnées précédemment actives sous la session courante.
Nous allons ensuite installer les dépendances ;
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers libaio libaio-devel libgomp libstdc++ libstdc++-devel make numactl sysstat unixODBC-devel pdksh
Il faut maintenant créer l’utilisateur « oracle » ainsi que les groupes rattachés :
/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/groupadd asmadmin /usr/sbin/groupadd asmdba /usr/sbin/useradd -g oinstall -G dba,asmdba,asmadmin oracle
Et positionner un mot de passe pour l’utilisateur oracle :
passwd oracle
Modifions ensuite le fichier /etc/security/limits.conf :
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
Ces limites sont fixées dans la documentation officielle d’oracle :
Nous allons ensuite créer la structure des répertoires :
mkdir -p $ORACLE_BASE/oradata mkdir -p $ORACLE_BASE/recovery_area chown -R oracle:oinstall $ORACLE_BASE chmod -R 775 $ORACLE_BASE mkdir -p /opt/oraInventory chmod 775 /opt/oraInventory chown oracle:oinstall /opt/oraInventory
La documentation officielle d’oracle donne les paramètres du noyau à modifier ainsi que le fichier concerné :
Ainsi, pour vérifier le paramètre shmmni, il suffit de faire un cat /proc/sys/kernel/shmmni
Pour fixer les valeurs , nous allons modifier le fichier /etc/sysctl.conf :
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 2123476992 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
On applique les valeur à l’aide d’un petit sysctl -p
Pour lancer l’installation, il faut un environnement graphique correctement configuré. Soit on se loggue sous le compte oracle directement, soit on fait un su – oracle en ayant fait au préalable un xhost +. J’ai choisi cette dernière solution :
xhost + su - oracle /tmp/database/runInstaller
Tout d’abord, on choisit de créer une base de données :
… en classe serveur :
… en mono-instance :
… une installation standard :
Il suffit ensuite de définir le mot de passe d’administration ainsi que de mettre le nom de la base de donnée à la même valeur que la variable ORACLE_SID :
A la fin de l’installation, il suffit juste d’exécuter sous l’identité root depuis un terminal le ou les scripts stipulés dans la dernière fenêtre d’installation :
Directement après installation, Oracle Enterprise Manager est accessible depuis un navigateur web à l’adresse https://127.0.0.1:1158/em/
Il est possible de se connecter en SYS/SYSDBA à l’aide du mot de passe rentré lors de l’installation.
Arret du serveur Oracle en ligne de commande :
En tant qu’utilisateur oracle :
Démarrage du serveur Oracle en ligne de commande :
Le démarrage de l’instance se fait en plusieurs étape. Tout d’abord le listener qui gère la partie réseau puis ensuite le démarrage de la base à proprement parler. Toutes ces étapes se font sous l’identité oracle :
Ensuite, on peut éventuellement redémarrer Oracle Enterprise Manager pour administrer la base depuis l’interface web vue précédemment :













