среда, 4 июня 2008 г.

Как написать в alert.log

Это можно сделать при помощи функции
dbms_system.ksdwrt(2,'Строка')


Первый параметр:
1 - Писать в лог сессии
2 - Писать в alert.log
3 - Писать в оба места

Подсмотрено у Льюиса

воскресенье, 1 июня 2008 г.

Еще один способ получить план

Event 10132 « Oracle Scratchpad
Хороший и простой способ получить план выполнения запроса. Нужно попробовать на 10.

На 11 для скрипта
column sid new_value a
select sid from sysp where rownum = 1;

alter session set events '10132 trace name context forever, level 1';

select * from sysp where sid = &a;

alter session set events '10132 trace name context forever, level 0';


Получены следующие результаты (обрезаны):

select * from sysp where sid = 116250109
sql_text_length=43
sql=
select * from sysp where sid = 116250109

----- Explain Plan Dump -----
----- Plan Table -----

============
Plan Table
============
-------------------------------------+-----------------------------------+
| Id | Operation | Name | Rows | Bytes | Cost | Time |
-------------------------------------+-----------------------------------+
| 0 | SELECT STATEMENT | | | | 3 | |
| 1 | INDEX UNIQUE SCAN | PK_SYSP | 1 | 25 | 2 | 00:00:01 |
-------------------------------------+-----------------------------------+
Predicate Information:
----------------------
1 - access("SID"=116250109)

Content of other_xml column