Le client Oracle 10g R2 sous Windows

Introduction

Cet article décrit la mise en œuvre d'un client Oracle 10g R2 sous windows pour la préparation d'un package ou pour une procédure d'installation manuelle sans "setup".

Cet article s'attarde notamment sur les modifications apportées au niveau :

  • des variables d'environnement
  • de la base de registres
  • des entrées ODBC

Version et composants du client Oracle 10gR2

Le client Oracle 10g R2 retenu est la version 10.2.0.3 et inclut les composants spécifiques ci-dessous :

  • Oracle SQLJ
  • Oracle Database utilities ( SQL*Plus, SQL Loader pour Sophis et ClientView )
  • Oracle Java Client
  • SQL*Plus
  • Oracle JDBC/THIN interfaces
  • Oracle Objects for OLE
  • Oracle ODBC driver
  • Oracle provider for OLE DB
  • Oracle data provider for .NET
  • Oracle Call Interface (OCI)

Livrables

Dans toute la suite de cette documentation, la variable %ORACLE_HOME% est le répertoire d'installation final du client Oracle 10g R2.

En respectant les normes pour les versions précédentes (C:\Logiciel\oracle\ora81 pour la version 8i, C:\Logiciel\oracle\ora92 pour la version 9i ), le client Oracle 10g R2 est installé dans le répertoire C:\Logiciel\oracle\ora102.

Les livrables finaux sont :

  • un fichier zip ora102.zip contenant une image du répertoire C:\Logiciel\oracle\ora102
  • un fichier de registre nommé 10gEntry.reg, fichier de registre contenant les entrées nécessaires HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE.
  • un fichier ODBC.reg.txt contenant les entrées nécessaires pour les drivers ODBC Oracle dans la base de registres.

Reproductibilité de l'installation

Pour reproduire l'installation du client Oracle 10g R2 10.2.0.3, les sources sont :

  • Installation du client Oracle 10gR2 10.2.0.1
  • Patch du client Oracle 10.2.0.3
  • Patch ODBC

L'installation du client Oracle 10g suppose implicitement que les clients Oracle 8i ou Oracle 9i soient désinstallés au préalable.

Installation de la version 10.2.0.1

Lors de l'installation du client 10g R2 10.2.0.1 (fichier setup.exe), l'option "Custom" est choisie.

C'est dans l'écran "Specify Home Details" que l'on spécifie le chemin d'installation du client Oracle %ORACLE_HOME% : C:\Logiciel\oracle\ora102

Ci-dessous la liste de tous les composants nécessaires et à cocher pour installation :

  • Oracle SQLJ 10.2.0.1.0
  • Oracle Database utilities 10.2.0.1.0
  • Oracle Java Client 10.2.0.1.0
  • SQL*Plus 10.2.0.1.0
  • Oracle JDBC/THIN interfaces 10.2.0.1.0
  • Oracle Objects for OLE 10.2.0.1.0
  • Oracle ODBC driver 10.2.0.1.0
  • Oracle provider for OLE DB 10.2.0.1.0
  • Oracle data provider for .NET 10.2.0.1.0
  • Oracle Call Interface (OCI) 10.2.0.1.0

Installation du patch 10.2.0.3

Pour l'installation du patch 10.2.0.3 du client 10g R2 (fichier setup.exe), prendre garde au nom de l'installation OraClient10g_home1 afin de bien pointer sur le répertoire %ORACLE_HOME%

Le reste de l'installation du patch ne nécessite pas d'actions particulières.

Installation du dernier patch ODBC

Le dernier patch pour le pilote ODBC Oracle est ensuite installé. L'application de ce patch consiste à simplement écraser 3 fichiers dll et un fichier msb.

ODBCPatch\bin\sqora32.dll => %ORACLE_HOME%\bin

ODBCPatch\bin\sqoras32.dll => %ORACLE_HOME%\bin

ODBCPatch\bin\sqresus.dll => %ORACLE_HOME%\bin

ODBCPatch\ODBC\mesg\oraodbus.msb => %ORACLE_HOME%\ODBC\mesg\

Modification de la variable d'environnement système %PATH%

Certaines variables d'environnement systèmes sont modifiées et plus particulièrement la variable d'environnement système %PATH%.

Toutes les entrées référençant éventuellement les clients Oracle 8i et Oracle 9i dans la variable d'environnement %PATH% sont retirées.

Le répertoire %ORACLE_HOME\bin est ajouté dans la variable %PATH%

set PATH=C:\Logiciel\oracle\ora102\bin;%PATH% 

Modification de la base de registres

Modification de la base de registre HKEY_LOCAL_MACHINE\Software\oracle

Lors de l'installation du client Oracle 10g, enlever toute référence aux versions d'Oracle antérieures dans la base de registres : pour cela, supprimer l'entrée HKEY_LOCAL_MACHINE\Software\Oracle.

L'entrée pour Oracle 10g dans la base de registres est toujours effectuée dans HKEY_LOCAL_MACHINE\Software\Oracle, mais contrairement aux versions précédentes, les entrées HOME0, HOME1 etc... disparaissent pour faire place à KEY_%ORACLE_NAME_HOME%

Si %ORACLE_NAME_HOME% est défini à OraClient10g_Home1, ce qui est le cas dans cette documentation technique, l'entrée dans la base de registres est alors HKEY_LOCAL_MACHINE\Software\oracle\KEY_OraClient10g_home1.

La racine de l'entrée HKEY_LOCAL_MACHINE\Software\oracle ne contient pas de valeurs.

Voici le détail des valeurs pour l'entrée HKEY_LOCAL_MACHINE\Software\oracle\KEY_OraClient10g_home1 (toutes les références aux fichiers de trace sont déportées vers C:\Temp) :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1]
"ORACLE_HOME"="C:\\Logiciel\\oracle\\ora102"
"ORACLE_HOME_NAME"="OraClient10g_home1"
"ORACLE_GROUP_NAME"="Oracle - OraClient10g_home1"
"ORACLE_BUNDLE_NAME"="Enterprise"
"NLS_LANG"="AMERICAN_AMERICA.WE8MSWIN1252"
"StatementCacheSize"="0"
"OLEDB"="C:\\Logiciel\\oracle\\ora102\\oledb\\mesg"
>"StmtCacheSize"="0"
"SQLPATH"="C:\\Logiciel\\oracle\\ora102\\dbs"
"OO4O"="C:\\Logiciel\\oracle\\ora102\\oo4o\\mesg"
"MSHELP_TOOLS"="C:\\Logiciel\\oracle\\ora102\\MSHELP"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1\OLEDB]
"CacheType"="Memory"
"ChunkSize"="100"
"DistribTX"="1"
"FetchSize"="100"
"OSAuthent"="0"
"PLSQLRset"="0"
"PwdChgDlg"="1"
"SchRstLng"="10000"
"UserDefFn"="0"
"DisableRetClause"="1"
"VCharNull"="1"
"TraceCategory"="0"
"TraceFileName"="c:\\temp\\OraOLEDB.trc"
"TraceLevel"="0"
"TraceOption"="0"
"SPPrmDefVal"="0"
"StmtCacheSize"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1\OO4O]
"CacheBlocks"="20"
"FetchLimit"="100"
"FetchSize"="4096"
"HelpFile"="C:\\Logiciel\\oracle\\ora102\\oo4o\\doc\\oracleo.hlp"
"PerBlock"="16"
"SliceSize"="256"
"TempFileDirectory"="c:\\temp"
"OO4O_HOME"="C:\\Logiciel\\oracle\\ora102\\oo4o"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET]

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET\1.102.3.0]
"DllPath"="C:\\Logiciel\\oracle\\ora102\\bin"
"TraceFileName"="C:\\temp\\odp.net1.trc"
"TraceLevel"="0"
"TraceOption"="0"
"StatementCacheSize"="0"

Modification de la base de registre HKEY_LOCAL_MACHINE\Software\ODBC pour Oracle

Pour référencer le driver ODBC Oracle 10g, les valeurs ci-dessous sont importées dans la base de registres au niveau de HKEY_LOCAL_MACHINE\Software\ODBC


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI]

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Oracle in OraClient10g_home1"="Installed"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Oracle in OraClient10g_home1]
"APILevel"="1"
"CPTimeout"="60"
"ConnectFunctions"="YYY"
"Driver"="C:\\Logiciel\\oracle\\ora102\\BIN\\SQORA32.DLL"
"DriverODBCVer"="03.51"
"FileUsage"="0"
"Setup"="C:\\Logiciel\\oracle\\ora102\\BIN\\SQORAS32.DLL"
"SQLLevel"="1"

Fichiers tnsnames.ora

Le fichier tnsnames.ora référençant toutes les instances Oracle est déployé dans le répertoire %ORACLE_HOME%\Network\admin (C:\Logiciel\oracle\ora102\network\admin).

Si des configurations particulières existent dans le fichier sqlnet.ora, déployer celui-ci également dans le répertoire %ORACLE_HOME%\Network\admin.