prog:oracle_sqlplus_ora-22835_clob
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | prog:oracle_sqlplus_ora-22835_clob [2019/06/11 11:34] (aktuell) – angelegt gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Einen CLOB gesplittet in SQL*Plus ausgeben | ||
+ | |||
+ | Das Problem: | ||
+ | |||
+ | <fc # | ||
+ | |||
+ | |||
+ | Bei der Auswertung des Error Trigger Logging ( siehe => [[dba: | ||
+ | |||
+ | Mehr als 4k an Zeichen kann in SQL*Plus aus einer CLOB Spalte nicht direkt gelesen werden, ein Setzen des Buffers für Long/RAW Daten mit "set buffer 65000" hilft hier leider auch nicht. | ||
+ | |||
+ | Eine Lösung kann sein den CLOB in 4K Blöcke mit **dbms_lob.substr (clob, amount, position )** aufzusplieten und die mehren Spalten auszugeben. | ||
+ | |||
+ | |||
+ | |||
+ | Die Lösung: | ||
+ | |||
+ | |||
+ | CLOB in einzelne " | ||
+ | <code sql> | ||
+ | with ErrorLog as | ||
+ | ( select | ||
+ | , log_date | ||
+ | , LOG_USR | ||
+ | , ERR_NR | ||
+ | , substr(ERR_MSG, | ||
+ | , dbms_lob.getlength(STMT) len | ||
+ | FROM SYSTEM.ora_errors | ||
+ | WHERE nvl(log_usr,' | ||
+ | ) | ||
+ | select | ||
+ | COUNT (*) AS anzahl | ||
+ | , to_char(min(log_date),' | ||
+ | , to_char(max(log_date),' | ||
+ | , LOG_USR | ||
+ | , ERR_NR | ||
+ | , mesg | ||
+ | , dbms_lob.substr(stmt, | ||
+ | , case when len > 4000 then dbms_lob.substr(stmt, | ||
+ | , case when len > 8000 then dbms_lob.substr(stmt, | ||
+ | , case when len > 12000 then dbms_lob.substr(stmt, | ||
+ | , case when len > 16000 then dbms_lob.substr(stmt, | ||
+ | FROM ErrorLog | ||
+ | GROUP BY LOG_USR | ||
+ | , ERR_NR | ||
+ | , mesg | ||
+ | , dbms_lob.substr(stmt, | ||
+ | , case when len > 4000 then dbms_lob.substr(stmt, | ||
+ | , case when len > 8000 then dbms_lob.substr(stmt, | ||
+ | , case when len > 12000 then dbms_lob.substr(stmt, | ||
+ | , case when len > 16000 then dbms_lob.substr(stmt, | ||
+ | ORDER BY 1 | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | |||
+ | Oracle Doku => SUBSTR https:// | ||
+ | |||
+ | |||
+ | AskTom => https:// |
prog/oracle_sqlplus_ora-22835_clob.txt · Zuletzt geändert: 2019/06/11 11:34 von gpipperr