Thursday, May 28, 2009

Dilbert's digs IIT

Dilbert IIT
Dilbert IIT

Dilbert's digs IIT

Dilbert IIT
Dilbert IIT

Tuesday, May 19, 2009

Oracle: How to convert BLOB to CLOB

Thanks to Oracle forums.

CREATE OR REPLACE FUNCTION blob_to_clob (blob_in IN BLOB)
RETURN CLOB
AS
v_clob CLOB;
v_varchar VARCHAR2(32767);
v_start PLS_INTEGER := 1;
v_buffer PLS_INTEGER := 32767;
BEGIN
DBMS_LOB.CREATETEMPORARY(v_clob, TRUE);

FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer)
LOOP

v_varchar := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in, v_buffer, v_start));

DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar);

v_start := v_start + v_buffer;
END LOOP;

RETURN v_clob;

END blob_to_clob;
/

Example: Select blob_to_clob(blob_column) from table_name;

Thursday, May 7, 2009

Oracle: SQL to find CPU used percentage for each session

Select username,v.sid||','||v.serial# sid_session,round((s.value/y.value)*100,2) cpu_used_percentage
from v$session v, v$sesstat s,v$sysstat y
where v.username is not null
and v.sid = s.sid
and s.statistic#=y.statistic#
and y. name = 'CPU used by this session'
Order by username,3 desc

EXP-00003: no storage definition found for segment(xx, xx)

This error may occur while exporting table with LOB columns or large tables expanding to multiple extents.

Resolution: Make sure that the version of your export client matches or greater than database version.

You will get this error when export client version is lower than database version.

Example: Exporting 9.2.08 database with 9.2.0.1 client.