Bonjour !
Je maintiens une appli java qui tournait sur TOmcat 4 avec Oracle 8i.
Suite au passage de la BD en Oracle 9i, Tomcat 4 tombe en java out of memory error...
Nous avons donc migré en Tomcat 5 (est-ce judicieux?) et mené un audit transactionnel.
Je remarque dans les résultats que toutes mes requêtes SQL métier sont entourées de requêtes SQL intempestives telles que :
ou alors ce genre de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Oracle: Execute OpiQuery=OOPEN Oracle: Prepare&Execute SqlQuery=requete métier' Oracle: Execute OpiQuery=ODNY Oracle: Execute OpiQuery=OALL7 Fetch RowRequested=10 Oracle: Execute OpiQuery=OALL7 Fetch RowRequested=10 Oracle: Execute OpiQuery=OCANCEL Oracle: Execute OpiQuery=OCLOSE Oracle: Execute OpiQuery=OROLL Oracle: Execute OpiQuery=OCOMON
Qu'est-ce qu'une OpiQuery ?....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Oracle: Prepare&Execute SqlQuery='ALTER SESSION SET isolation_level = READ committed' Oracle: Execute OpiQuery=OOPEN Oracle: Prepare&Execute SqlQuery='ALTER SESSION SET isolation_level = READ committed' Oracle: Execute OpiQuery=OCLOSE Oracle: Prepare&Execute SqlQuery='SET TRANSACTION READ write' Oracle: Execute OpiQuery=OOPEN Oracle: Prepare&Execute SqlQuery='SET TRANSACTION READ write' Oracle: Execute OpiQuery=OCLOSE
Voici comment sont appelées mes requêtes dans mon code Java :
- POUR UN SELECT
- POUR UN UPDATE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Connection conn = null; Statement stmt = null; ResultSet rs = null; String sql = "select ... from ... where ..."; try{ conn = ds.getConnection(); stmt = conn.createStatement (); rs = stmt.executeQuery(sql); if ( rs.next() ) { return true; } return false; } } ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Connection conn = null; Statement stmt = null; ResultSet rs = null; String sql = "update ... set ... where ..."; try{ conn = ds.getConnection(); stmt = conn.createStatement (); int rowsAffected = 0; rowsAffected = stmt.executeUpdate (sql); } ...
Est-ce que qqun peut m'aider ?
D'avance merci
Partager