Salut,
 
Merci pour ta réponse !
 
Tout d'abors, je viens de passer 3 heures à revoir le code de l'appli intranet, afin de vérifier que je ferme correctement toutes les connections.
 
En effet, au départ la destruction des objets merdait, et j'avais déjà tout remodifié.
J'avais donc rechangé, histoire de bien tout fermer comme il faut.
 
Mais là, en ajoutant des logs sur mon objet de connection, je me suis apperçu que les objets mettaient trois plombes à se détruire... Et du coup une connection ouverte restait ouverte 300 secondes, même si elle n'était plus du tout utilisée.
 
Après re-modifications, je force bien la fermeture de chaque connection "à la main".
Seulement, la plupart du temps j'ai des erreurs "NullReferenceException", ce qui indique que mon ancien code marchait... parfois ! Un coup de try de goret, et maintenant ça doit être bon. J'espère juste que ça ferme pour de bon... Pas moyen de monitorer ADO malheureusement (ou alors je ne connais pas le moyen de le faire, et je suis preneur d'une suggestion ! 
)
 
Sinon, le langage utilisé pour l'intranet, c'est C#/.NET
J'avais déjà posté ma détresse sur le sujet des connexions la semaine dernière.
 
 
Pour ce qui est des paramètres :
   SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jan 25 22:27:28 2006
   (c) Copyright 2000 Oracle Corporation.  All rights reserved.
     Connected to:
 Oracle8i Enterprise Edition Release 8.1.7.4.1 - Production
 With the Partitioning option
 JServer Release 8.1.7.4.1 - Production
   SQL> select 1 from dual;
            1
 ----------
          1
   SQL> show parameters open_cursors
 ORA-00942: table or view does not exist
     SQL> show parameters open_cursors;
 ORA-00942: table or view does not exist
     SQL>  
   | 
 
Hmmm... Faut être SYSTEM pour les voir ? Si c'est le cas, on est mal barrés, j'ai pas ce login, et la société qui a installé la base étant coulée depuis, je vois pas trop comment récupérer le mot de passes 
 
Arf !
 SQL> connect system/manager
 Connected.
 SQL> show parameters open_cursors
   NAME                                 TYPE    VALUE
 ------------------------------------ ------- ------------------------------
 open_cursors                         integer 300
 SQL>  
   | 
300 ça me semble pas trop mal déjà... A moins que les curseurs restent ouverts pendant qu'on se balade dans le jeu de résultat ?
 
Sinon, pour les logs, y'a rien dans le répertoire que tu indiques... Enfin... Il n'existe pas 
 
Le "initSID.ora :
 #   ##################################################################
 #(2)                   -------Installation/Database Size------   #
 #                      SMALL           MEDIUM           LARGE    #
 #  Block         2K    4500K            6800K           17000K   #
 #  Size          4K    5500K            8800K           21000K   #
 #                                                                #
 # Oracle 8i                                                      #
 ##################################################################
 #                                    
 #   db_name = "SID"
 instance_name = SID
 service_names = SID
 db_files = 1024
 control_files = (d:\oracle\ora81\DATABASE\ctl1SID.ora)
 control_files = (d:\generix\serveur\data\ctl2SID.ora)
 #         open_cursors = 300   max_enabled_roles = 30   db_file_multiblock_read_count = 8   db_block_buffers = 8110   shared_pool_size = 52428800   large_pool_size = 15728640   #java_pool_size = 0   # sk 15/12/2003  avant =
 optimizer_mode=RULE
 #         log_checkpoint_interval = 10000   log_checkpoint_timeout = 1800   #         processes = 200 # sk 15/12/2003  avant =150   parallel_max_servers = 5   log_buffer = 32768   #         max_dump_file_size = 10240   #         global_names = true   oracle_trace_collection_name =""   user_dump_dest=%DIR_RDBMS%\trace   db_block_size = 8192   #         background_dump_dest=%DIR_RDBMS%\trace   remote_login_passwordfile = exclusive  # shared       os_authent_prefix =""   distributed_transactions = 10   sort_area_size = 65536   sort_area_retained_size = 65536   #   rollback_segments = (roll_1)           rollback_segments = (roll_2)           compatible = 8.1.5.0.0  
 UTL_FILE_DIR=* \
   | 
 
A noter que "RULES" est déprecated, mais l'ERP a été écrit à l'origine pour obtenir de meilleurs perfs avec ce mode. Dans la doc technique, il est stipulé que sur les 9i et 10g ils préconisent maintenant STATISTICS, mais mettent en garde contre l'importance du tunning afin de ne pas avoir des perfs catastrophiques, et préconisent donc toujours RULES pour les sociétés qui n'ont pas un DBA sous la main (c'est le cas chez ce client)
 
Voici le "SQLNet.log" :
 ***********************************************************************
 Fatal NI connect error 12640, connecting to:
  (DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oraclegnx)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=gnx)(CID=(PROGRAM=d:\oracle\ora81\bin\ORACLE.EXE)(HOST=SRVBCI)(USER=SYSTEM))))
     VERSION INFORMATION:
  TNS for 32-bit Windows: Version 8.1.7.4.0 - Production
  Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 8.1.7.4.0 - Production
   Time: 25-JAN-2006 12:25:12
   Tracing not turned on.
   Tns error struct:
     nr err code: 0
     ns main err code: 12640
     TNS-12640: Authentication adapter initialization failed
     ns secondary err code: 0
     nt main err code: 0
     nt secondary err code: 0
     nt OS err code: 0
     ***********************************************************************
 Fatal NI connect error 12640, connecting to:
  (DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oraclegnx)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=gnx)(CID=(PROGRAM=d:\oracle\ora81\bin\ORACLE.EXE)(HOST=SRVBCI)(USER=SYSTEM))))
     VERSION INFORMATION:
  TNS for 32-bit Windows: Version 8.1.7.4.0 - Production
  Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 8.1.7.4.0 - Production
   Time: 25-JAN-2006 12:25:12
   Tracing not turned on.
   Tns error struct:
     nr err code: 0
     ns main err code: 12640
     TNS-12640: Authentication adapter initialization failed
     ns secondary err code: 0
     nt main err code: 0
     nt secondary err code: 0
     nt OS err code: 0
   | 
 
A noter que ces erreurs sont quelques instants après le reboot, à priori des requêtes en spool qui se sont faites gicler du moteur qui s'arrêtait (3 minutes avant le reboot du serveur, sâchant qu'il était planté depuis au moins 30 minutes)
 
-- Edit : En fait, en regardant bien, cette erreur se produit quelques instants après chaque reboot. Ca doit correspondre au message d'erreur qu'on a au moment du chargement de l'ERP : il essaie de démarrer la base, qui est déjà démarrée...
M'enfin c'est pas bien grave, puisque la base est déjà démarrée 
 
A noter que dans l'EventLog de Windows, à part des tas d'alerts "PerfLog" indiquant des délais exprirés dans les prises de mesures des perfs système, y'a aucun truc étrange avant le reboot. Ces messages sont explicables par la charge CPU de 100% pendant 30 minutes.
 
Le "SIDALRT.log" est normal :
 Thread 1 advanced to log sequence 25867
   Current log# 3 seq# 25867 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG3GNX.DBF
 Wed Jan 25 11:27:19 2006
 Thread 1 advanced to log sequence 25868
   Current log# 4 seq# 25868 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG4GNX.DBF
 Wed Jan 25 11:36:33 2006
 Thread 1 advanced to log sequence 25869
   Current log# 1 seq# 25869 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG1GNX.DBF
 Wed Jan 25 11:57:38 2006
 Thread 1 advanced to log sequence 25870
   Current log# 2 seq# 25870 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG2GNX.DBF
 Dump file d:\oracle\ora81\RDBMS\trace\gnxALRT.LOG
 Wed Jan 25 12:28:58 2006
 ORACLE V8.1.7.4.1 - Production vsnsta=0
 vsnsql=f vsnxtr=3
 Windows 2000 Version 5.0 Service Pack 4, CPU type 586
 Starting up ORACLE RDBMS Version: 8.1.7.4.1.
 System parameters with non-default values:
   processes                = 200
   shared_pool_size         = 52428800
   large_pool_size          = 15728640
   control_files            = d:\oracle\ora81\DATABASE\ctl1gnx.ora, d:\generix\serveur\data\ctl2gnx.ora
   db_block_buffers         = 8110
   db_block_size            = 8192
   compatible               = 8.1.5.0.0
   log_buffer               = 32768
   log_checkpoint_interval  = 10000
   log_checkpoint_timeout   = 1800
   db_files                 = 1024
   db_file_multiblock_read_count= 8
   rollback_segments        = roll_1, roll_2
   max_enabled_roles        = 30
   remote_login_passwordfile= EXCLUSIVE
   global_names             = TRUE
   distributed_transactions = 10
   instance_name            = gnx
   service_names            = gnx
   sort_area_size           = 65536
   sort_area_retained_size  = 65536
   db_name                  = gnx
   open_cursors             = 300
   os_authent_prefix        =     optimizer_mode           = RULE
   utl_file_dir             = *
   parallel_max_servers     = 5
   background_dump_dest     = %DIR_RDBMS%\trace
   user_dump_dest           = %DIR_RDBMS%\trace
   max_dump_file_size       = 10240
   oracle_trace_collection_name=   PMON started with pid=2
 DBW0 started with pid=3
 LGWR started with pid=4
 CKPT started with pid=5
 SMON started with pid=6
 RECO started with pid=7
 Wed Jan 25 12:29:02 2006
 alter database mount exclusive   Wed Jan 25 12:29:09 2006
 Successful mount of redo thread 1, with mount id 1200376725.
 Wed Jan 25 12:29:09 2006
 Database mounted in Exclusive Mode.
 Completed: alter database mount exclusive
 Wed Jan 25 12:29:09 2006
 alter database open
 Beginning crash recovery of 1 threads
 Wed Jan 25 12:29:11 2006
 Thread recovery: start rolling forward thread 1
 Recovery of Online Redo Log: Thread 1 Group 1 Seq 25869 Reading mem 0
   Mem# 0 errs 0: D:\GENERIX\SERVEUR\DATA\LOG1GNX.DBF
 Recovery of Online Redo Log: Thread 1 Group 2 Seq 25870 Reading mem 0
   Mem# 0 errs 0: D:\GENERIX\SERVEUR\DATA\LOG2GNX.DBF
 Wed Jan 25 12:29:13 2006
 Thread recovery: finish rolling forward thread 1
 Thread recovery: 278 data blocks read, 89 data blocks written, 3594 redo blocks read
 Crash recovery completed successfully
 Wed Jan 25 12:29:14 2006
 Thread 1 advanced to log sequence 25871
 Thread 1 opened at log sequence 25871
   Current log# 3 seq# 25871 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG3GNX.DBF
 Successful open of redo thread 1.
 Wed Jan 25 12:29:14 2006
 SMON: enabling cache recovery
 SMON: enabling tx recovery
 Wed Jan 25 12:29:16 2006
 Completed: alter database open
 Wed Jan 25 14:01:04 2006
 Thread 1 advanced to log sequence 25872
   Current log# 4 seq# 25872 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG4GNX.DBF
 Wed Jan 25 14:28:25 2006
 Thread 1 advanced to log sequence 25873
   Current log# 1 seq# 25873 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG1GNX.DBF
 Wed Jan 25 14:42:58 2006
 Thread 1 advanced to log sequence 25874
   Current log# 2 seq# 25874 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG2GNX.DBF
 Wed Jan 25 15:10:12 2006
 Thread 1 advanced to log sequence 25875
   Current log# 3 seq# 25875 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG3GNX.DBF
 Wed Jan 25 15:30:41 2006
 Thread 1 advanced to log sequence 25876
   Current log# 4 seq# 25876 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG4GNX.DBF
 Wed Jan 25 15:49:45 2006
 Thread 1 advanced to log sequence 25877
   Current log# 1 seq# 25877 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG1GNX.DBF
 Wed Jan 25 16:46:58 2006
 Thread 1 advanced to log sequence 25878
   Current log# 2 seq# 25878 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG2GNX.DBF
 Wed Jan 25 17:10:21 2006
 Thread 1 advanced to log sequence 25879
   Current log# 3 seq# 25879 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG3GNX.DBF
 Wed Jan 25 21:04:25 2006
 Thread 1 advanced to log sequence 25880
   Current log# 4 seq# 25880 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG4GNX.DBF
 Wed Jan 25 22:09:40 2006
 Thread 1 advanced to log sequence 25881
   Current log# 1 seq# 25881 mem# 0: D:\GENERIX\SERVEUR\DATA\LOG1GNX.DBF
   | 
=> Les rotations de logs ne sont pas plus rapides avant qu'après reboot.
 
Et rien de particulier dans le listner.log
 25-JAN-2006 12:07:17 * service_update * gnx * 0
 25-JAN-2006 12:07:19 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4354)) * establish * gnx * 0
 25-JAN-2006 12:08:04 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=C:\Program Files\Quest Software\TOAD\TOAD.exe)(HOST=METAFRAME01)(USER=MARYSE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.198)(PORT=4861)) * establish * gnx * 0
 25-JAN-2006 12:13:37 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4356)) * establish * gnx * 0
 25-JAN-2006 12:16:47 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4358)) * establish * gnx * 0
 25-JAN-2006 12:17:18 * service_update * gnx * 0
 25-JAN-2006 12:23:07 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4360)) * establish * gnx * 0
 25-JAN-2006 12:25:13 * service_died * gnx * 12547
 TNS-12547: TNS:lost contact
   TNSLSNR for 32-bit Windows: Version 8.1.7.4.0 - Production on 25-JAN-2006 12:28:54
   (c) Copyright 1998 Oracle Corporation.  All rights reserved.
   System parameter file is d:\oracle\ora81\network\admin\listener.ora
 Log messages written to d:\oracle\ora81\network\log\listener.log
 Trace information written to d:\oracle\ora81\network\trace\listener.trc
 Trace level is currently 0
   Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=srvbci.BCI.local)(PORT=1521)))
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
 TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
 25-JAN-2006 12:29:02 * service_register * gnx * 0
 25-JAN-2006 12:29:11 * service_update * gnx * 0
 25-JAN-2006 12:29:24 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4363)) * establish * gnx * 0
 25-JAN-2006 12:32:34 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4365)) * establish * gnx * 0
 25-JAN-2006 12:33:53 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4367)) * establish * gnx * 0
 25-JAN-2006 12:35:44 * (CONNECT_DATA=(SERVICE_NAME=gnx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=SERVICE?R?SEAU))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.11)(PORT=4369)) * establish * gnx * 0
 25-JAN-2006 12:39:11 * service_update * gnx * 0
   | 
 
Message édité par Arjuna le 25-01-2006 à 22:56:50