|
|
|
Forum Home
»
DBA
Topic:
ORA-1555 trovare informazioni (BIND e User)
Risposte:
14
Pagine:
1
Ultimo Invio:
26-lug-2009 16.57
da:
Giovanna
|
 |
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 8.31
|
|
Salve a tutti, ho avuto il classico ORA-1555 su una query che vielen eseguita moltissimo. Di solito senza problemi.
Il cliente vuole sapere che i valori delle BIND e l'utente che ha provocato il problema.
Per cercaree le bind Intanto mi sono cercata lo SCN che curiosamente mi da una data del giorno prima: SELECT SCN_TO_TIMESTAMP(11626794108) FROM dual; 27.06.2009 22:36:15,000000000
ORA-01555 caused by SQL statement below (SQL ID: 3y3wpaf8t38yy, Query Duration=24909 sec, SCN: 0x0002.b502cc7c): Sun Jun 28 05:31:24 2009
Se faccio una ricerca SELECT SQL_TEXT, HASH_VALUE FROM V$SQLAREA AS OF SCN 11626794108 WHERE SQL_ID =3y3wpaf8t38yy
SELECT NAME, VALUE_STRING,DATATYPE_STRING FROM V$SQL_BIND_CAPTURE AS OF SCN 11626794108 WHERE HASH_VALUE = 2442240980
Trovo delle variabili, ma sono sempre le stesse con o senza as of scn ...
Cosa faccio di sbagliato? Poi dovrei sapere quale USER ha lanciato questa query, se cerco SQL_ID nella tabella V$SESSION non lo trovo.
Potete darmi un'altra soluzione?
Mille grazie in anticipo e buona giornata Gio
|
|
Alasondro
Posts:
2.013
Da:
Italia
Registrato:
1-dic-2005
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 9.35
|
|
prova così per le bind:
select name, position, datatype_string, was_captured, value_string, anydata.accesstimestamp(value_anydata) from v$sql_bind_capture where sql_id = '3y3wpaf8t38yy'
poi potresti dare un'occhiata a v$sqlarea e v$active_session_history
Alessandro
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 12.00
|
|
Ciao Alessandro ! grazie, lo provo questa sera.
Dimmi, funzionano le flashback query sulle view V$?
Ho quasi l'imressione che non funzionino.
Io so che all'ora X (del SCN nell'alert log) la query Y é stata eseguita. Perché non trovo nessun User in V$SESSION?
Almeno secondo la mia logica femminile .
Ciao Gio
|
|
Alasondro
Posts:
2.013
Da:
Italia
Registrato:
1-dic-2005
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 12.24
|
|
no a quanto io sappia; le v$ del resto sono speciali, fanno riferimento a strutture interne di Oracle
Ciao Alessandro
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 12.56
|
|
é tutta la mattina che cerco un riferimento in proposito nella documentazione.
Se almeno trovassi dove sta sta tabella o$sql_bind_capture potrei provare ad usare flashback sulla tabella e non sulla view ...
Se trovo qualcosa ti faccio sapere a dopo Gio
|
|
Alasondro
Posts:
2.013
Da:
Italia
Registrato:
1-dic-2005
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 15.19
|
|
occhio a non abusare di quelle strutture, puoi crearti molti problemi di performance legati a latch contention e non solo
Alessandro
|
|
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 15.23
|
|
Secondo me la flashback su quelle tabelle (che non sono vere tabelle ma solo strutture della SGA) non funziona. Non credo che oracle si prenda la briga di generare dell'UNDO per ogni struttura interna.
Saluti Cristian
|
|
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 15.27
|
|
Aggiungerei che non hai la certezza di trovare in v$sql_bind_capture i valori dell'esecuzione che ti interessa, perché credo che i valori per uno stesso cursore vengano catturati per default a intervalli, non ad ogni esecuzione (e tu dici che viene eseguita moltissimo).
Saluti Cristian
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
30-giu-2009 16.46
|
|
Ciao , execution della view V$SQLAREA riporta 3982  Non sono milioni, ma neanche decine.
Allora devo dire al cliente che non posso dargli le info che vuole ... almeno senza attivare il trace.
Ciao ciao Gio
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
1-lug-2009 9.01
|
|
Ciao a tutti,
se la query é piu` vecchia di 30 minuti si deve cercare nella history
Prima si deve trovare il numero denna snap
SELECT dhsq.snap_id, sql_id, plan_hash_value, To_char(begin_interval_time,'yyyymmdd hh24:mi') begint, To_char(end_interval_time,'yyyymmdd hh24:mi') endint FROM dba_hist_sqlstat dhsq, dba_hist_snapshot dhsn WHERE dhsq.sql_id = '&SQL_ID' AND dhsq.snap_id = dhsn.snap_id ORDER BY 1,2,3
poi: SELECT NAME,POSITION,DATATYPE_STRING,VALUE_STRING FROM DBA_HIST_SQLBIND WHERE SQL_ID='' and SNAP_ID=&SNAPID;
Per lo user, non ho ancora una risposta  a dopo Gio
|
|
Alasondro
Posts:
2.013
Da:
Italia
Registrato:
1-dic-2005
|
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
3-lug-2009 17.45
|
|
Ciao , mille grazie per il riassunto!
Il db continua peró a "sputare" ORA-01555 ... e io non so cosa pensare, se io provo ad eseguire la stessa query, ci vogliono ca39 msc . Qualche volta peró dura talmente tanto da non poter essere portata a termine ...
Sono semplici Select ((.
Qualcuno ha una idea? Questo é il risultato della query SELECT * FROM V$SQLAREA WHERE SQL_ID ='0jh0rns1rj46j';
senza testo della query che e´lunghissimo.
Cosa vi dice la vostra esperienza?
Mille grazie ancora
Gio
SQL_TEXT SQL_FULLTEXT SQL_ID SHARABLE_MEM PERSISTENT_MEM RUNTIME_MEM SORTS VERSION_COUNT LOADED_VERSIONS OPEN_VERSIONS USERS_OPENING FETCHES EXECUTIONS PX_SERVERS_EXECUTIONS END_OF_FETCH_COUNT USERS_EXECUTING LOADS FIRST_LOAD_TIME INVALIDATIONS PARSE_CALLS DISK_READS DIRECT_WRITES BUFFER_GETS APPLICATION_WAIT_TIME CONCURRENCY_WAIT_TIME CLUSTER_WAIT_TIME USER_IO_WAIT_TIME PLSQL_EXEC_TIME JAVA_EXEC_TIME ROWS_PROCESSED COMMAND_TYPE OPTIMIZER_MODE OPTIMIZER_COST OPTIMIZER_ENV OPTIMIZER_ENV_HASH_VALUE PARSING_USER_ID PARSING_SCHEMA_ID PARSING_SCHEMA_NAME KEPT_VERSIONS ADDRESS HASH_VALUE OLD_HASH_VALUE PLAN_HASH_VALUE MODULE MODULE_HASH ACTION ACTION_HASH SERIALIZABLE_ABORTS OUTLINE_CATEGORY CPU_TIME ELAPSED_TIME OUTLINE_SID LAST_ACTIVE_CHILD_ADDRESS REMOTE OBJECT_STATUS LITERAL_HASH_VALUE LAST_LOAD_TIME IS_OBSOLETE CHILD_LATCH SQL_PROFILE PROGRAM_ID PROGRAM_LINE# EXACT_MATCHING_SIGNATURE FORCE_MATCHING_SIGNATURE LAST_ACTIVE_TIME BIND_DATA TYPECHECK_MEM 0jh0rns1rj46j 44.654 17.824 11.104 0 4 1 0 0 67 20 0 15 0 12 2009-07-03/03:38:05 12 20 21 0 403 0 0 0 223.843 0 0 302 3 FIRST_ROWS 1 E289FB89A4E49800CE001000AEF9E3E2CFFA3320564145555195A1005555551545545558591555449665851D5511058555155515152552455580588055A1454A8E09504020000020000000000100001000A0000002002080007D000000007D00000032001010000080830F2000000000190000803E00404A8E0920504696A1252040262320030020003020A000A5A000 558.857.676 59 59 FRA_WH1_HL 0 000000040A7A02C8 58.233.041 494.715.392 892.687.313 MGrntw.exe 1.720.629.873 0 0 104.588 304.132 0000000428F9E7C0 N VALID 0 07.03.2009 17:10:59 N 2 0 0 13.851.651.149.946.400.000 13.851.651.149.946.400.000 07.03.2009 17:19:51 BEDA0A2004004A4E0EBA000307C0021603C22009F00120036703393332C0021604C34A245C 0
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
4-lug-2009 11.31
|
|
Salve a tutti ancora una volta ,
sto provando a confrontare due AWR und di Novembre 2008
Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn User I/O 467,961 0.00 3,099 7 2.04 Commit 228,292 0.03 739 3 1.00 System I/O 250,003 0.00 557 2 1.09 Application 7,685 0.57 139 18 0.03 Administrative 18,191 0.00 36 2 0.08 Network 2,849,236 0.00 25 0 12.43 Concurrency 2,306 33.17 24 10 0.01 Other 6,778 11.73 16 2 0.03 Configuration 71 0.00 1 11 0.00
E quella dell'ultimo 01555
Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn Commit 400,345 0.07 1,125 3 1.00 User I/O 119,152 0.00 777 7 0.30 System I/O 437,103 0.00 688 2 1.09 Application 2,406 0.12 25 10 0.01 Concurrency 1,123 0.36 23 21 0.00 Network 4,520,166 0.00 22 0 11.27 Configuration 257 0.00 3 13 0.00 Other 14,774 0.37 2 0 0.04
Quello che salta agli occhi é che System I/O é raddoppiato 250,00 /437,103 ma anche i commit, quindi credo sia normale.
Configuration riporta anche una grande differenza Configuration 71/257
Io purtroppo non ho la piú pallida idea, se ci sono stati cambiamenti nell'applicazione.
Sono sempre + nel pallone 
Saluti Gio
|
|
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
10-lug-2009 16.37
|
|
Ciao, purtroppo l'output della query su V$SQL del post precedente è parzialmente illeggibile. Io vedo ad esempio un buffer gets di 403, quindi un valore basso. Non ho capito qual'è il valore di elapsed_time. Il problema solitamente è dovuto al fatto che qualcuno dall'altra parte sta facendo tante modifiche ai dati della tabella e l'aumento di commit non esclude questa possibilità. Senz'altro tanti commit aumentano la probabilità di avere un ORA-01555. Se fai delle prove da sql*plus prova ad abilitatere il "l'autotrace" (set autotrace on) e vedi se c'è generazione di redo allora è probabile ci sia "delayed cleanout", prova del fatto che i dati della tabella sono stati modificati massivamente. Ciò spiegerebbe anche i tempi alti.
Saluti Cristian
Il messaggio è stato scritto da: cristiancudizio a 10-lug-2009 16.38
|
|
Giovanna
Posts:
106
Da:
Germania
Registrato:
22-gen-2008
|
|
Re: ORA-1555 trovare informazioni (BIND e User)
Inviato:
26-lug-2009 16.57
|
|
Ciao , io non posso assolutamente fare prove su questa macchina ... quasi da non crederci, ma non abbiamo un sistema di test e ho il divieto assoluto di settare trace senza il permesso .
Io aspetto che accada un altra volta e forse avró il permesso. Mille grazie anche per il BLOG. Buona Domenica Gio
|
|
| |