Oracle 12c : dernière connexion des utilisateurs

Oracle 12c introduit une fonctionnalité interessante pour connaître la date de dernière connexion des utilisateurs.
Ce renseignement est stocké dans le champ spare6 de la table USER$.

Pour le consulter, il suffit donc de faire la requête suivante :

ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT='DD.MM.YYYY HH24:MI:SS';
SELECT NAME,SPARE6 from USER$ ORDER BY NAME;

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 :