Oracle mechanics

19.09.2014

ASH-трассировка PL/SQL

Filed under: Active Session History,Диагностика системы (instance),Oracle — Игорь Усольцев @ 00:13
Tags: ,

К примеру, в AWR-отчёте бд ERP-системы на первом месте видно продолжающееся/неоконченное выполнение процедуры, лидирующей по использованному DB Time с большим отрывом от ближайшего преследователя — 72% против 18%:

SQL ordered by Elapsed Time           DB/Inst: OEBS/OEBS1  Snaps: 73249-73250

        Elapsed                  Elapsed Time
        Time (s)    Executions  per Exec (s)  %Total   %CPU    %IO    SQL Id
---------------- -------------- ------------- ------ ------ ------ -------------
        36,572.3              0           N/A   72.5   45.7   41.0 5t39uchjqpyfm
Module: XLAACCUP
BEGIN xla_accounting_pkg.unit_processor_batch(:errbuf,:rc,:A0,:A1,:A2,:A3,:A4,:A

         9,246.2             15        616.41   18.3   29.4   65.5 0vjcg5zp30z2x

Для быстрой оценки такого рода проблем написал скрипт ash_plsqlmon_hist.sql, который по истории ASH вначале показывает суммарный вклад запросов и PL/SQL блоков по частоте попадания в историю ASH (ASH_ROWS), кол-во зафиксированных неповторяющихся выполнений (EXECS), затем — мин/мах время наблюдения(с соответствующими названиями столбцов) и общий профиль ожиданий (WAIT_PROFILE) примерно так:
(more…)

18.09.2014

PL/SQL пакет для генерации PDF

Filed under: Oracle — Игорь Усольцев @ 23:34
Tags: ,

Пакет от Anton Scheffer для создания PDF версии 1.3, с поддержкой TruType Fonts и вставкой картинок JPG и PNG

Код открытый, работает как описано, позиционируется как замена Middleware/Reports. Судя по публикации на сайте фирмы, с лицензионной чистотой должно быть всё норм

Входит в библиотеку PL/SQL утилит Alexandria для разных текстовых форматов и протоколов

27.08.2012

Преобразование PL/SQL типов в CAST(COLLECT…) при миграция на многобайтовую кодировку (UTF)

Filed under: bugs,Oracle,PL/SQL,SQL — Igor Usoltsev @ 23:37
Tags: , ,

Проблема проявляется после миграции на UTF:

SQL> desc l

 Name   Type
 -----  ----------------
 C1     VARCHAR2(1 CHAR)

SQL> create or replace type l_tbl is table of varchar2(1 char);
 2 /

Type created.

SQL> select cast(collect(l.c1) as l_tbl) as collection from l;
select cast(collect(l.c1) as l_tbl) as collection from l
 *
ERROR at line 1:
ORA-22814: attribute or element value is larger than specified in type

До миграции (в бд с однобайтовой кодировкой CL8MSWIN1251) та же синтаксическая конструкция работает без ошибок: (more…)

18.08.2010

PL/SQL Native Compilation — «разгон» выполнения хранимых процедур в Oracle 11g

Filed under: Oracle,Oracle new features — Igor Usoltsev @ 14:41
Tags: ,

Отличная статья Игоря Мельникова PL/SQL Native Compilation — «разгон» выполнения хранимых процедур — с тестами, цифрами, ссылками и обсуждением

Theme: Rubric. Get a free blog at WordPress.com

Отслеживать

Get every new post delivered to your Inbox.

Join 126 other followers