====== Acacia : client oracle pour sympa ======
Installation et prérequis : http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
**??** : indique que je ne suis pas sure que c'est nécessaire
===== Packages système requis =====
* binutils-2.15.92.0.2
* compat-libstdc++-33-3.2.3
* elfutils-libelf-0.97
* elfutils-libelf-devel-0.97
* expat-1.95.7
* gcc-3.4.6
* gcc-c++-3.4.6 ??
* glibc-2.3.4-2.41
* glibc-2.3.4-2.41 (32 bit)
* glibc-common-2.3.4
* glibc-devel-2.3.4
* libaio-0.3.105
* libaio-0.3.105 (32 bit)
* libaio-devel-0.3.105
* libgcc-3.4.6
* libgcc-3.4.6 (32-bit)
* libstdc++-3.4.6
* libstdc++-3.4.6 (32 bit)
* libstdc++-devel 3.4.6
* make-3.80
* sysstat-5.0.5
# yum install unixODBC-devel pour perl DBD::ODBC
# yum install kmod-oracleasm ??
# yum install oracleasm-debuginfo ??
===== Installation client oracle =====
Documentation : http://www.xenialab.it/meo/web/white/oracle/HT_IC_RH.htm
Télécharger les packages oracle sous /usr/local/INSTALL/APPLI/ORACLE \\
sur http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
# cd /usr/local/INSTALL/APPLI/ORACLE
# rpm -ilv oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
# rpm -ilv oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
# rpm -ilv oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm (pour DBD::Oracle)
# unzip instantclient-sdk-linux.x64-12.1.0.1.0.zip
# cp -rp /usr/local/INSTALL/APPLI/ORACLE/instantclient_12_1/sdk rdbms (à vérifier si nécessaire)
===== Configuration du client oracle =====
==== Utilisateur et groupe oracle ====
# groupadd -g 505 dba
# useradd -u 505 -d /usr/lib/oracle/11.2/client -g "dba" oracle
# usermod -a -G dba sympa
==== Remplacement de client64 en client ====
# cd /usr/lib/oracle/11.2
# cp -rp client64/* client
# chown -R oracle:dba client
# chmod 770 client
# cd /usr/lib/oracle/11.2/client/lib
# ln -s libocci.so.11.1 libocci.so
# ln -s libclntsh.so.11.1 libclntsh.so
# cd /usr/share/oracle/11.2
# mv client64 client
# chown -R oracle:dba client
# cd /usr/include/oracle/11.2
# ln -s client64 client
==== Mise à jour variable environnement ====
# **vi /etc/profile.d/oracle.sh**
TNS_ADMIN=/usr/lib/oracle/11.2/client
ORACLE_HOME=/usr/lib/oracle/11.2/client
if [ -z $LD_LIBRARY_PATH ]; then
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
else
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/11.2/client/lib
fi
export TNS_ADMIN ORACLE_HOME LD_LIBRARY_PATH
==== Bug sympa avec oracle ====
err SQLSource::connect() No Database Driver installed for Oracle ; you should download and install DBD::Oracle from CPAN
err List::_load_users_include2() Inclusion include_sql_query failed in list
http://www.sympa.org/faq/database#errors_when_trying_to_load_dbdoracle
Ajouter dans **/etc/bashrc**
if [ -f /etc/profile.d/oracle.sh ];then
. /etc/profile.d/oracle.sh
fi
# vi **/etc/ld.so.conf.d/oracle.conf**
/usr/lib/oracle/11.2/client/lib
# su - sympa \\
# vi **.bash_profile**
PATH=$PATH:$HOME/bin:/usr/lib/oracle/11.2/client/bin
ORACLE_HOME=/usr/lib/oracle/11.2/client
TNS_ADMIN=/usr/lib/oracle/11.2/client
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
export PATH ORACLE_HOME TNS_ADMIN LD_LIBRARY_PATH
# reboot
==== Fichier de connexion tnsnames.ora====
# cd /usr/lib/oracle/11.2/client/
# vi tnsnames.ora
BASE1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxx.xxxxx.fr)(PORT = 1521))
(CONNECT_DATA = (SID = BASE1))
)
# chown oracle:dba tnsnames.ora
==== Test de connexion ====
# /usr/lib/oracle/11.2/client/bin/**sqlplus** [login]/[mot de passe]**@**BASE
===== Packages perl =====
Il faut les packages perl suivants
# perl -MCPAN -e shell
* DBD::Oracle
* DBD::ODBC ??
* Exporter ??
===== Fichier de configuration de la liste =====
include_sql_query
db_name BASE
name XXXXXX
db_port 1521
host XXXX.XXX.fr
passwd XXXXXXX
db_type Oracle
user XXXXXX
sql_query select distinct mel from acces_user where mel like '%@%grenoble-inp.fr'