Архив на категорию 'Заметки'

Чтение/запись из BLOB полей в Oracle

Опубликовано: Май 14, 2009, категория: Заметки.

Иногда необходимо читать и писать из Blob полей, вот как это можно делать:

Чтение:

CREATE OR REPLACE PROCEDURE Read_Text_From_BLOB (
    p_id IN NUMBER) IS

    lob_loc  BLOB;

BEGIN

    DBMS_OUTPUT.ENABLE(100000);

    SELECT lob_text INTO lob_loc
    FROM   test_blob
    WHERE  id = p_id;

    DBMS_OUTPUT.PUT_LINE('THE LENGTH IS    : ' || DBMS_LOB.GETLENGTH(lob_loc));
    DBMS_OUTPUT.PUT_LINE(
        'THE BLOB IS READ : ' ||
        UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(lob_loc, 200, 1))
    );

END;
/

Запись:

CREATE OR REPLACE PROCEDURE Write_Text_To_BLOB (
      p_id     IN NUMBER
    , p_buffer IN VARCHAR2)

IS
      lob_loc BLOB;

BEGIN

    INSERT INTO test_blob (id, lob_text, timestamp)
        VALUES (p_id, empty_blob(), sysdate)
        RETURNING lob_text INTO lob_loc;

    -- DBMS_LOB.WRITEAPPEND(lob_loc, UTL_RAW.LENGTH(p_buffer), p_buffer);
    DBMS_LOB.WRITE(lob_loc, LENGTH(p_buffer), 1, UTL_RAW.CAST_TO_RAW(p_buffer));

END;
/

Источник: http://www.idevelopment.info/data/Oracle/DBA_tips/LOBs/LOBS_11.shtml

Ограничение на количество сессий и процессов в ORACLE

Опубликовано: Май 6, 2009, категория: Заметки.

Если Вы задались вопросом, какое максимальное  количество сессий и процессов разрешено в oracle, то Вы можете это узнать сделав следующий запрос:

(далее…)

Сбор статистики базы. Всегда ли это хорошо?

Опубликовано: Апрель 22, 2009, категория: Заметки.

Изначально я думал что сбор статистики всегда помогает базе, от чего запросы в ней начинают выполняться значительнее быстрее, однако на днях сталкнулся с обратной ситуацией. Сбор статстики привел только к понижению скорости выполнения запросов… пришлось удалить статистику, после чего работоспособность восстановилась.