Кнопки и меню (главное окно)
Боковое меню
-
Меню "Action"
-
Меню "DB"
-
Oracle REDO management
-
Database storage manager
-
Oracle move object
-
Oracle analyze table
-
Oracle index management
-
Oracle compile invalid object
-
Reclaimable
-
Show "Startup file"
-
Show "SPFile"
-
Representation
-
Oracle Logminer UI
-
Data transfer (lite)
-
-
Exec
-
Link
-
Putty
-
Putty [no connect]
-
Conf [Putty]
-
Conf [Link]
-
-
Open - список открытых окон
-
Редакторы
-
Document repository
-
Language editor
-
CerebroSQL DBEditor
-
Project manger
-
-
Data transfer
-
Monitoring
-
Network structure
-
Settings
-
Log
-
Program monitor
-
Редактор запросов
Верхнее меню
-
Refresh
-
Transaction
-
Top SQL
-
Session
-
Active SQL
-
Parameter editor
-
Error description
Меню "Action"
Oracle transaction
Информация по транзакциям в БД Oracle, их количестве по времени, статусам, откату
-
Вкладка "Count" - Информация по количеству транзакций в разрезе год, месяц, день
-
Вкладка "Dead transaction" - транзакции по которым не удалось провести откат. Данные из системной таблицы x$ktuxe
-
Вкладка "Rollback prograss" - на вкладке отображается информация по обработанным блокам транзакцией. При этом, если значение в столбце "used_ublk" это сигнализирует об откате.
-
Вкладка "Transaction recovery by SMON" - список сессий чьи изменения откатывет SMON (сессия была завершена в ОС)





Count transaction view
->Запрос для извлечения данных<-
SELECT TO_CHAR(FIRST_TIME,'YYYY') INTERVAL,
round(SUM(NEXT_CHANGE#-FIRST_CHANGE#)/1000) "COUNT"
FROM V$LOG_HISTORY where to_char(first_time,'yyyy')=$$CURRENT_YEAR
GROUP BY TO_CHAR(FIRST_TIME,'YYYY')
ORDER BY 1
или
SELECT TO_CHAR(FIRST_TIME,'MM') INTERVAL,
round(SUM(NEXT_CHANGE#-FIRST_CHANGE#)/1000) "COUNT"
FROM V$LOG_HISTORY where to_char(first_time,'yyyy')=$$CURRENT_YEAR
GROUP BY TO_CHAR(FIRST_TIME,'MM')
ORDER BY 1
или
SELECT TO_CHAR(FIRST_TIME,'MM-dd') INTERVAL,
round(SUM(NEXT_CHANGE#-FIRST_CHANGE#)/1000) "COUNT"
FROM V$LOG_HISTORY where to_char(first_time,'yyyy')=$$CURRENT_YEAR
GROUP BY TO_CHAR(FIRST_TIME,'MM-dd')
ORDER BY 1
-----
Dead transaction
->Запрос для извлечения данных<-
select ktuxeusn,
ktuxeslt,
ktuxesqn,
ktuxesta,
ktuxesiz
from x$ktuxe
where ktuxesta <> 'INACTIVE' and ktuxecfl like 'ÞAD%' order by ktuxesiz asc
-----
Rollback progress
->Запрос для извлечения данных<-
select ses.username,ses.sid
, substr(ses.program, 1, 19) command
, tra.used_ublk
from v$session ses
, v$transaction tra
where ses.saddr = tra.ses_addr
-----
Transaction recovery by SMON
->Запрос для извлечения данных<-
select usn,
state,
undoblockstotal "Total",
undoblocksdone "Done",
undoblockstotal-undoblocksdone "ToDo",
decode(cputime,0,'unknown',sysdate+(((undoblockstotal-undoblocksdone) / (undoblocksdone / cputime)) / 86400)) "Estimated"
from v$fast_start_transactions
-----
Oracle Top SQL
Топ формируется по следующим типам:
-
Buffer
-
Physical Reads
-
Executions
-
Parse Calls
-
Sharable Memory
-
Version Count

Последовательность действий
-
Из выпадающего списка "Top type" выбрать тип группировки
-
В поле "Number of displayed rows" указать количество отображаемых строк в ТОПе
-
Нажать кнопку "Show data"
Просмотр информации по запросу
-
Выделить строку в списке "List query"
-
В поле "Query text" отобразится сам запрос
-
На вкладке "Plan" план запроса
-
При переключении на вкладку "Recomendation" формируются рекомендации по оптимизации запроса с помощью DBMS_SQLTUNE
Buffer
->Запрос для извлечения данных<-
SELECT * FROM
(SELECT sql_fulltext sql,
sql_id,
buffer_gets, executions, buffer_gets/(nvl2(executions,1,1)) "Gets/Exec",
hash_value,address
FROM V$SQLAREA
WHERE buffer_gets > 10000
ORDER BY buffer_gets DESC)
WHERE rownum <= 100
-----
Physical read
->Запрос для извлечения данных<-
SELECT * FROM
(SELECT sql_fulltext sql,
sql_id,
disk_reads, executions, disk_reads/(nvl2(executions,1,1)) "Reads/Exec",
hash_value,address
FROM V$SQLAREA
WHERE disk_reads > 1000
ORDER BY disk_reads DESC)
WHERE rownum <= 100
-----
Executions
->Запрос для извлечения данных<-
SELECT * FROM
(SELECT sql_fulltext sql,
sql_id,
executions, rows_processed, rows_processed/(nvl2(executions,1,1)) "Rows/Exec",
hash_value,address
FROM V$SQLAREA
WHERE executions > 100
ORDER BY executions DESC)
WHERE rownum <= 100
-----
Parse calls
->Запрос для извлечения данных<-
SELECT * FROM
(SELECT sql_fulltext sql,
sql_id,
parse_calls, executions, hash_value,address
FROM V$SQLAREA
WHERE parse_calls > 1000
ORDER BY parse_calls DESC)
WHERE rownum <= 100
-----
Sharable memory
->Запрос для извлечения данных<-
SELECT * FROM
(SELECT sql_fulltext sql,
sql_id,
sharable_mem, executions, hash_value,address
FROM V$SQLAREA
WHERE sharable_mem > 1048576
ORDER BY sharable_mem DESC)
WHERE rownum <= 100
-----
Version count
->Запрос для извлечения данных<-
SELECT * FROM
(SELECT sql_fulltext sql,
sql_id,
version_count, executions, hash_value,address
FROM V$SQLAREA
WHERE version_count > 20
ORDER BY version_count DESC)
WHERE rownum <= 100
-----
Load recomendation
->Запрос для извлечения данных<-
DECLARE
my_task_name VARCHAR2 (30);
BEGIN
my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK (
sql_id => $$SQL_ID
, task_name => $$TASK_NAME_GEN);
END;
/
begin DBMS_SQLTUNE.EXECUTE_TUNING_TASK ($$TASK_NAME_GEN); end;
/
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK ($$TASK_NAME_GEN) "SQL" FROM dual
-----
Oracle session list
Подробную информацию смотрите в соответствующем разделе
Oracle active SQL
История активных сессий, подробная информация о текущих активных сессиях
Вкладка "Longops"
Вкладка содержит информация по сессиям выполняющим длительные операции (полные чтения)

Oracle SQL Profile
Список созданных профилей для запросов.
Цветовой индикатор в списке "Profile name" указывает на статус профиля, зеленый - активен, красный - отключен.
Через контекстное меню профиль можно включать/выключать

Список созданных профилей SQL запросов
->Запрос для извлечения данных<-
select name, status from DBA_SQL_PROFILES
-----
Подробная информация о профиле
->Запрос для извлечения данных<-
select name, category, signature, created, last_modified, type, status, force_matching, sql_text from DBA_SQL_PROFILES where name=$$SQL_PROFILE_NAME
-----
Включение/выключение профиля запроса
->Запрос для извлечения данных<-
begin DBMS_SQLTUNE.ALTER_SQL_PROFILE('$$SQL_PROFILE_NAME','STATUS','ENABLED'); end;
/
begin DBMS_SQLTUNE.ALTER_SQL_PROFILE('$$SQL_PROFILE_NAME','STATUS','DISABLED'); end;
/
-----
Oracle FileStat
Подробная информация по использованию файлов БД.
Страница "Datafile I/O"
Статистика в процентах по вводу/выводу по файлам

->Запрос для извлечения данных<-
SELECT a.tablespace_name,
a.file_name,
a.blocks,
round((a.phywrts*(8192/1024))/1024) phywrts,
round((a.phyrds*(8192/1024))/1024) phyrds
FROM
(SELECT t.name tablespace_name,
d.name file_name,
d.blocks,
f.phywrts,
f.phyrds
FROM v$filestat f,
v$datafile d,
V$TABLESPACE t
WHERE f.file#=d.file#
AND d.blocks >0
AND t.ts#=d.ts#
UNION ALL
SELECT t.name tablespace_name,
d.name file_name,
d.blocks,
f.phywrts,
f.phyrds
FROM v$tempstat f,
v$tempfile d,
V$TABLESPACE t
WHERE f.file#=d.file#
AND d.blocks >0
AND t.ts#=d.ts# ) a
order by 4 desc
-----
Страница "Session I/O"
Статистика по вводу/выводу в разрезе сессий

->Запрос для извлечения данных<-
SELECT
s.sid||':'||
s.serial# SS,
NVL(DECODE(s.type,'BACKGROUND','SYS ('||b.name||')',
s.username),substr(p.program,instr(p.program,'('))) oracle_user,
s.status status,
s.machine machine,
nvl(s.osuser,'('||b.name||')') os_user,
round(((i.block_gets+i.consistent_gets)*8192)/1024/1024,3) logical_reads,
round((i.physical_reads*8192)/1024/1024,3) physical_reads,
s.program client_program,
t.ksusestv*10 cpu_usage,
s.logon_time logon_time,
s.sql_hash_value
FROM v$session s,
v$process p,
v$sess_io i,
x$ksusesta t,
v$bgprocess b
WHERE p.addr=s.paddr
AND i.sid=s.sid
AND t.indx=s.sid
AND t.ksusestn=12
AND p.addr=b.paddr(+)
order by i.physical_reads desc
-----
Страница "IOStat_File"
Данные из представления v_$iostat_file. Суммарные данные по вводу/выводу по типам файлов используемых в СУБД Oracle

->Запрос для извлечения данных<-
with iostat_file as
(select filetype_name,sum(large_read_reqs) large_read_reqs,
sum(large_read_servicetime) large_read_servicetime,
sum(large_write_reqs) large_write_reqs,
sum(large_write_servicetime) large_write_servicetime,
sum(small_read_reqs) small_read_reqs,
sum(small_read_servicetime) small_read_servicetime,
sum(small_sync_read_latency) small_sync_read_latency,
sum(small_sync_read_reqs) small_sync_read_reqs,
sum(small_write_reqs) small_write_reqs,
sum(small_write_servicetime) small_write_servicetime
from sys.v_$iostat_file
group by filetype_name)
select filetype_name, small_read_reqs + large_read_reqs "reads",
large_write_reqs + small_write_reqs "writes",
round((small_read_servicetime + large_read_servicetime)/1000)
read_time_sec,
round((small_write_servicetime + large_write_servicetime)/1000)
write_time_sec,
case when small_sync_read_reqs > 0 then
round(small_sync_read_latency / small_sync_read_reqs, 2)
end avg_sync_read_ms,
round(( small_read_servicetime+large_read_servicetime
+ small_write_servicetime + large_write_servicetime)
/ 1000, 2) total_io_seconds
from iostat_file
order by 7 desc
-----
Страница "IOStat_Function"
Статистика использования ввода/вывода с диска функциями в СУБД Oracle

->Запрос для извлечения данных<-
select
function_name,
small_read_reqs + large_read_reqs reads,
small_write_reqs + large_write_reqs writes,
wait_time/1000 wait_time_sec,
case when number_of_waits > 0 then
round(wait_time / number_of_waits, 2)
end avg_wait_ms
from
v$iostat_function
order by
wait_time desc
-----
Oracle memory using
Детальная информация по распределению памяти между буферами СУБД Oracle. Статистика их использования

Pools [MB] - распределение памяти между буферами в СУБД Oracle
Данные обновляются каждые 15 сек. Информация собирается основным ядром мониторинга работы БД
->Запрос для извлечения данных<-
select s.name "name", sum(s.summ) "sum" from (select case
when pool is null then name
when pool is not null then pool
end as name, round(sum(bytes)/1024/1024,1) as summ
from v$sgastat group by pool, name) s group by s.name
union all
select name, round(bytes/1024/1024) as sum from v$sgainfo where name in ('Free SGA Memory Available','Streams Pool Size','Maximum SGA Size')
-----
Вкладка "Parameter"
->Запрос для извлечения данных<-
select name, display_value from v$parameter where
Upper(name) like Upper('%inmemo%') or
Upper(name) like Upper('%sga%') or
Upper(name) like Upper('%pga%') or
Upper(name) like Upper('%memor%') or
Upper(name) like Upper('%pool%')
order by 1
-----
Вкладка "SGAINFO"
->Запрос для извлечения данных<-
select name, round(bytes/1024/1024,2) "MB", resizeable from V$SGAINFO
------
Вкладка "SGASTAT"
->Запрос для извлечения данных<-
select pool, name, bytes from V$SGASTAT
-----
Вкладка "PGASTAT"
->Запрос для извлечения данных<-
select name,
case
when Upper(substr(unit, 0,4))= Upper('byte') then
round(value/1024/1024,2)||' MB' else to_char(value)
end "value", substr(unit, 0,4) "Type"
from V$PGASTAT
-----
Вкладка "PGA Advice"
->Запрос для извлечения данных<-
SELECT ROUND(pga_target_for_estimate/1024/1024) target_mb,
estd_pga_cache_hit_percentage cache_hit_perc
FROM v$pga_target_advice
-----
Вкладка "Cache advice"
->Запрос для извлечения данных<-
SELECT size_for_estimate,
estd_physical_read_factor,
estd_physical_reads
FROM v$db_cache_advice
WHERE name= 'DEFAULT'
AND block_size = (SELECT value
FROM v$parameter
WHERE name = 'db_block_size')
AND advice_status = 'ON'
-----
Вкладка "Memory advice"
->Запрос для извлечения данных<-
SELECT memory_size, memory_size_factor, estd_db_time, estd_db_time_factor
FROM v$memory_target_advice
ORDER BY memory_size
-----
Oracle ASM storage
Подробную информацию смотрите в соответствующем разделе
Oracle alert.log view
Просмотр системного журнала alert.log

->Запрос для извлечения данных<-
select component_id, host_address,originating_timestamp,message_text
from v$diag_alert_ext
where component_id not like '%tnslsnr%'
order by originating_timestamp
-----
Переключатель "Type filter"
-
Full data - загрузить все данные из "v$diag_alert_ext"
-
Ora only - выбрать только строки содержащие текст ошибок
-
Select the last - выбрать последние N (значение указывается в поле "The number of lines (last)") строк
-
Date between - выбрать данные за интервал времени
Oracle AWR generator
Формирование и просмотр AWR отчетов

Последовательность действий
-
Из выпадающего списка "Start_id" выбрать snap_id начиная с которого формировать отчет
-
Из выпадающего списка "End_id" выбрать snap_id заканчивая которым формировать отчет
-
Нажать кнопку "Show"
-
В блоке "Report" появится AWR отчет в HTML формате
Программа сформирует AWR отчет и сохранит его в локальной базе и на диске в директории .\tmp\awr\
Имя отчета добавится в список "AWR save list"
Просмотр ранее сформированных отчетов
-
Установить галку "Show reports for all databases" если необходимо просмотреть AWR отчет по другой базе
-
При необходимости список сохраненных отчетов можно отсортировать выбрав нужную БД из выпадающего списка "Select the name of the database"
-
выбрать нужный отчет в списке "AWR save list"

Номер снимка данных и время его создания
->Запрос для извлечения данных<-
select a.* from (select snap_id||' {'||to_char(end_interval_time,'dd:mm:yyyy hh24:mi')||'}' as "ID"
from DBA_HIST_SNAPSHOT order by snap_id desc) a
-----
Формирование AWR
->Запрос для извлечения данных<-
select * from table(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML((select dbid from v$database),1,'$$START_SNAP','$$END_SNAP'))
-----
Registry
Список "зарегистрированных" компонентов БД, их статус и версия


Registry
->Запрос для извлечения данных<-
select dr.COMP_NAME, dr.VERSION, dr.STATUS, dr.SCHEMA, dr.PROCEDURE from DBA_REGISTRY dr
-----
Registry history
->Запрос для извлечения данных<-
select h.ACTION_TIME,
h.ACTION,
h.NAMESPACE,
h.VERSION,
h.COMMENTS
from dba_registry_history h
-----
Program SQL
Список запросов (не полный) используемых для сбора данных о состоянии БД

Scripts
Персональное хранилище скриптов для операционных систем.

Создание новой записи о скрипте
-
Нажать кнопку "Create new script"
-
Заполнить поле "Script name" - имя скрипта
-
Заполнить поле (или выбрать из списка ранее введенных) "Group name" - поле используется для группировки записей в дереве "List script"
-
Из выпадающего списка "Script type" выбрать тип скрипта (для добавления нового типа нажать кнопку "Add type")
-
В поле "Comment" ввести комментарий при необходимости
-
В поле "Run time string [info]" указать интервал запуска скрипта в ОС (информационно)
-
В поле "Script" ввести тело скрипта
-
Нажать кнопку "Save"

Oracle feature used
Статистика использования опций в СУБД Oracle

->Запрос для извлечения данных<-
SELECT name,
detected_usages detected,
total_samples samples,
currently_used used,
to_char(last_sample_date,'DD-MM-YYYY:HH24:MI') last_sample,
sample_interval interval
FROM dba_feature_usage_statistics
where version = (select version from v$instance)
order by currently_used desc, name
-----
Меню "DB"
Reclaimable space
Рекомендации СУБД по оптимизации структуры хранения объектов, освобождения пространства

->Запрос для извлечения данных<-
select TABLESPACE_NAME,
segment_name,
segment_owner,
segment_type,
partition_name,
Round(allocated_space/1024/1024,2) "allocated_space" ,
round(used_space/1024/1024,2) "used_space",
Round(reclaimable_space/1024/1024,2) "reclaimable_space",
recommendations,
c1,c2,c3
from
table(dbms_space.asa_recommendations())
order by reclaimable_space desc
-----
Show "Startup file"
Сформировать и показать команды для пересоздания controlfile базы данных

Аналогичный список команд формируется через sqlplus следующей командой:
> alter database backup controlfile to trace as '<Path>';
Show "SPFile"
Сформировать и показать файл параметров

Representation
Описание системных представлений каталога СУБД Oracle
Вкладка "My view description"
Список описаний представлений поставляемых с программой. Описания можно редактировать через редактор БД программы

Вкладка "System view description"
Описание объектов извлекаемое из БД. Содержит информацию как о колонках представлений так и их код

Меню "Exec"
Меню служит хранилищем ссылок для быстрого подключения к серверам (подпункт putty) и запуска сторонних программ (подпункт link)
Link
Список сохраненных линков для быстрого запуска сторонних программ
Putty
Список сохраненных соединений для быстрого подключения к серверам через putty
Putty [No connect]
Запустить putty без подключения к серверам
Conf(Putty)
Создание ссылки для быстрого подключения к серверу используя программу putty.exe (программа putty.exe должна располагаться в директории .\config)

Создание соединения
-
Нажать кнопку "New" - не обязательное действие, необходимо для полной очистки всех полей формы
-
В поле "Group name" ввести имя группы - используется для группировки соединений в подменю в меню exec и в дереве соединений
-
Заполнить поле "Connection alias" - выводится в меню
-
Заполнить поле "Server IP"
-
Заполнить поле "DNS name server"
-
Заполнить поле "User connect"
-
Заполнить поле "User password" или "Key privat file" если нужно подключатся по закрытому ключу
-
Сохранить соединение нажатием кнопки "Save"
Нажатие кнопки "Connect" - подключится через putty немедленно с введенными параметрами

Запись в меню состоит из DNS имени сервера и имени пользователя в скобках под кем осуществляется подключение

Conf[Link]
Создание линков для быстрого запуска сторонних программ с возможностью передачи им параметров
Порядок действий
-
Нажать кнопку "Create new link"
-
Заполнить поле "Program name" - информационно
-
Указать путь к исполняемому файлу сторонней программы в поле "Exe path"
-
Если необходимо указать параметры, ввести их в поле "Parameter start"

Oracle parameter editor
Редактор параметров СУБД Oracle позволяет быстро просматривать параметры БД и менять их при необходимости

Изменение значения параметра
-
В поле "Filter" ввести имя параметра для фильтрации списка "Parameter list"
-
Выбрать параметр в списке "Parameter list"
-
В поле "Value" ввести новое значение
-
В блоке "Scope" выбрать метод изменения параметра
-
Нажать кнопку "Apply"
