====== 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'