Редактор SQL [PL/SQL] для С УБД Oracle
Информация на странице устарела. документация переносится на форум
Редактор SQL/PLSQL для СУБД Oracle позволяет быстро и удобно работать с базами данных, администрировать и мониторить работу. Редактор поддерживает работу с версиями сервера Oracle 8.0.3 и старше
Для работы с СУБД Oracle установка дополнительного ПО не требуется.
Все необходимые библиотеки идут в комплекте
По умолчанию используется библиотека версии 11G
Не нашли нужных функций? Пишите в комментариях на форуме и мы добавим нужный функционал
Меню
Подключение к СУБД Oracle
1. Выбрать ранее сохраненное соединение из выпадающего списка "Connection control"
2. Выполнив команду connect ... в редакторе запросов.
Структура команды: connect <username>/<Password>@<TNSALIAS>
Пример: connect sys/oracle@tmpdb
p.s.: указание режима as sysdba не требуется, программа разбирает команду на части и проверяет введенный параметры
3. В редакторе соединения листа с БД
Структура листа
Менеджер соединений
Соединения создаются в едином менеджере соединений, подробнее
Load db report
select instance_name,
host_name,
version,
startup_time,
status,
archiver
from v$instance;
select name,
created,
log_mode,
open_mode,
database_role,
SWITCHOVER_STATUS,
PLATFORM_NAME
from v$database;
select count(*) "Count" from V$TABLESPACE;
select count(*) "Count",
round(sum(bytes/1024/1024/1024),2)||' GB' "SizeFile"
from DBA_DATA_FILES;
select count(*) "Count" from ALL_USERS;
select count(distinct(l.group#)) "Count",
round(l.bytes/1024/1024) "MB",
count(lf.GROUP#)/count(distinct(l.group#)) "File"
from V$LOG l,
V$LOGFILE lf
where l.GROUP#=lf.GROUP#
group by bytes;
select name, round(value/1024/1024,2)|| ' MB' "MB" from V$SGA;
select l.RESOURCE_NAME, l.CURRENT_UTILIZATION, l.MAX_UTILIZATION, l.LIMIT_VALUE
from V$RESOURCE_LIMIT l where l.LIMIT_VALUE <>' UNLIMITED' and l.LIMIT_VALUE<>' 0' ;
select ad.status,
ad.target,
ad.schedule,
ads.destination,
ads.RECOVERY_MODE,
ads.DATABASE_MODE,
ad.LOG_SEQUENCE,
ads.ARCHIVED_SEQ#,
ads.APPLIED_SEQ#,
ad.fail_sequence,
ad.error
from V$ARCHIVE_DEST ad, V$ARCHIVE_DEST_STATUS ads
where ad.target='STANDBY'
and ad.DEST_NAME=ads.DEST_NAME
Дерево объектов
Управление соединением листа
Текущая схема
Схема поиска объектов
Дерево объектов
Настройки листа
Команды на листе
Connection control
Список соединений сохраненных в программе. При выборе соединения происходит подключение к БД
Кнопка "Show connection mabager" - отобразить/скрыть менеджер соединения
Кнопка "Disconnect current list" - Разорвать соединение с БД текущего листа
Current schema
Схема по умолчанию для поиска объектов. Равна имени пользователя под которым осуществлено подключение к БД.
При выборе другой схемы выполняется попытка выполнить команду:
alter session set current_schema = ....;
Schema name
Схема (пользователь) в которой осуществляется поиск объектов при работе с деревом объектов (ветка SCHEMA)
The object tree
Дерево объектов. Структурно состоит из 2 корневых узлов:
SCHEMA - объекты пользователя, таблицы, представления, .....
PUBLIC - "общие объекты"
"SCHEMA"
Узел "CLUSTER"
Кластер - это объект схемы, который содержит данные из одной или нескольких таблиц, каждая из которых имеет один или несколько общих столбцов. Oracle хранит вместе все строки из всех таблиц с одним и тем же ключом кластера.
Меню папки "CLUSTER"
-
Generate create command for all objects - сформировать код создания всех объектов
-
Generate code for all objects - сформировать код создания всех объектов, но так же вывести команды формирования и количество объектов
Меню дочерних узлов
-
View - сформировать код создания выбранного объекта, вывести описание объекта из системного каталога
select distinct(object_name) "object_name",
status
from $$VIEWTYPE_objects
where object_type = $$OBJECT_TYPE
and OWNER=$$OWNER
order by object_name
Узел "DATABASE LINK"
Список соединений к другим базам данных в выбранной схеме
Меню папки "DATABASE LINK"
-
Command create link - вывести в окне редактора шаблон кода для создания линка
CREATE DATABASE LINK "Link name"
CONNECT TO [User name]
IDENTIFIED BY [User password]
USING '[tnsalias or description]'
Меню дочерних узлов
-
Testing - проверить соединение.
фактически выполняется запрос вида:
select 'x' "x" from dual@<dblink name>
-
View - сформировать код создания выбранного объекта, вывести описание объекта из системного каталога
Узел "DIRECTORY"
Список "директорий" созданных в выбранной схеме. Директория создается командой create directory ...
select dd.OWNER||'.'||dd.DIRECTORY_NAME "Name",
dd.DIRECTORY_PATH
from DBA_DIRECTORIES dd
where owner=$$SCHEMA_NAME
order by dd.OWNER, dd.DIRECTORY_NAME
Меню
-
Drop (execute) - удалить директорию. Операция требует подтверждения
Редактор директорий
Вызывается или из меню ветки "DIRECTORY"
-
Create
Создание директории
-
Ввести в поле "Name directory" название новой директории
-
В поле "Path" ввести путь к директории на сервере с СУБД
-
Нажать кнопку "Create directory"
Изменение привилегий на директорию
-
В списке пользователей "List user" выбрать пользователей для которых необходимо выдать права
-
В блоке "Right" установить чеки на нужных правах
-
Нажать кнопку "Apply"
Узел "FUNCTION"
Список функций в выбранной схеме
select distinct(object_name) "object_name",
status
from $$VIEWTYPE_objects
where object_type = $$OBJECT_TYPE
and OWNER=$$OWNER
order by object_name
Меню
-
Get DDL - сформировать код создания функции и вывести в окне редактора
select dbms_metadata.get_ddl('FUNCTION',$$FUNCTION_NAME,$$FUNCTION_OWNER)
as ddl from dual
-
Show errors - отобразить список ошибок в функции при их наличии (данные выводятся в сетке). Функции с ошибками отображаются специальным значком
select line||'->'||position||' ('||text||')' "Error"
from ALL_ERRORS
where owner= $$OWNER
and type='FUNCTION'
and name=$$FUNCTION_NAME
order by sequence
-
Compile - перекомпилировать функцию
ALTER FUNCTION $$OWNER.$$FUNCTION_NAME COMPILE
Узел "INDEX"
Список индексов в выбранной схеме
select distinct(object_name) "object_name",
status
from $$VIEWTYPE_objects
where object_type = $$OBJECT_TYPE
and OWNER=$$OWNER
order by object_name
Дочерний узел "Column"
Список колонок по которым построен индекс
select column_name
from $$VIEWTYPE_IND_COLUMNS
where index_name=$$INDEX_NAME
and index_owner=$$OWNER
order by column_name
Дочерний узел "Table"
Таблица по колонкам которой построен индекс
select distinct(table_name) "Table_name"
from $$VIEWTYPE_INDEXES
where index_name=$$INDEX_NAME
and owner=$$OWNER
Дочерний узел "Expression"
Список выражений функциональных индексов
select column_expression
from $$VIEWTYPE_IND_EXPRESSIONS
where index_name=$$INDEX_NAME
and index_owner=$$OWNER
Меню
-
Get DDL - сформировать код создания индекса и вывести в окне редактора
Узел "INDEX PARTITION"
Список партицированных индексов в выбранной схеме
Меню аналогично меню узла "INDEX"
Дочерние узлы аналогичны дочерним узлам узла "INDEX", за исключением
Дочерний узел "Partition"
Список партиций индекса
select partition_name
from $$VIEWTYPE_IND_PARTITIONS
where index_name = $$INDEX_NAME
and index_owner = $$OWNER
order by partition_position desc
Узел "TABLE"
Список таблиц в выбранной схеме.
select distinct(object_name) "object_name",
status
from DBA_objects
where object_type = 'TABLE'
and OWNER=$$OWNER
order by object_name
Дочерний узел "Storage"
Размер таблицы и имя табличного пространства
select tablespace_name,
round(bytes/1024/1024,3) "size"
from DBA_SEGMENTS
where segment_name = $$TABLE_NAME
and owner=$$OWNER
Дочерний узел "Columns"
Список колонок таблицы с типом данных
select column_name||' ('||data_type||
(case
data_type WHEN 'VARCHAR2'
THEN '('||DATA_LENGTH||')'
end)||')' "name"
from $$VIEWTYPE_TAB_COLUMNS
where table_name=$$TABLE_NAME
and owner=$$OWNER
order by column_id
Дочерний узел "Index"
Список индексов построенных по колонкам таблицы
select i.index_name,
i.INDEX_TYPE,
i.UNIQUENESS,
i.COMPRESSION,
i.TABLESPACE_NAME,
i.STATUS,
i.NUM_ROWS,
i.VISIBILITY
from SYS.DBA_INDEXES i
where table_name = $$TABLE_NAME
and owner =$$OWNER
order by index_name
Дочерний узел "Trigger"
Список триггеров на выбранной таблице
select trigger_name
from $$VIEWTYPE_TRIGGERS
where table_name=$$TABLE_NAME
and table_owner=$$OWNER
Дочерний узел "Constraint"
Список ограничений на данные в колонках таблицы
select c.CONSTRAINT_NAME "name",
c.SEARCH_CONDITION,
c.STATUS,
c.DEFERRABLE,
c.DEFERRED,
c.VALIDATED
from $$VIEWTYPE_CONSTRAINTS c
where table_name=$$TABLE_NAME
and owner=$$OWNER
Дочерний узел "Granted"
Права на таблицу выданные другим пользователям в БД.
select p.GRANTEE,
p.GRANTOR,
p.PRIVILEGE,
p.GRANTABLE
FROM $$VIEWTYPE_TAB_PRIVS p
where p.owner=$$OWNER
and p.table_name = $$TABLE_NAME
order by p.GRANTEE, p.PRIVILEGE
Дочерний узел "Statistics"
Статистика по выбранной таблице
select * from DBA_TAB_STATISTICS
where table_name =$$TABLE_NAME
and owner = $$OWNER
Меню узла "TABLE"
-
Get DDL - сформировать код создания таблицы и добавить его в окно редактора
select dbms_metadata.get_ddl('TABLE',$$TABLE_NAME,$$OWNER) as ddl
from dual
-
Table view - просмотр подробной информации о таблице
Страница "General" - общая информация
select t.OWNER, t.TABLE_NAME, t.TABLESPACE_NAME, t.STATUS,
t.PCT_FREE, t.PCT_USED, t.INI_TRANS, t.MAX_TRANS,
t.INITIAL_EXTENT, t.NEXT_EXTENT, t.FREELISTS,
t.LOGGING, t.PARTITIONED, t.LAST_ANALYZED, t.MONITORING, tc.COMMENTS
from $$VIEWTYPE_TABLES t, $$VIEWTYPE_TAB_COMMENTS tc
where t.table_name=$$TABLE_NAME
and t.owner=$$OWNER
and tc.OWNER=t.OWNER
and tc.TABLE_NAME=t.TABLE_NAME
select ts.NUM_ROWS, ts.BLOCKS, ts.AVG_ROW_LEN,
ts.SAMPLE_SIZE, ts.LAST_ANALYZED
from $$VIEWTYPE_TAB_STATISTICS ts
where ts.OWNER=$$OWNER
and ts.TABLE_NAME=$$TABLE_NAME
select tm.INSERTS, tm.UPDATES, tm.DELETES, tm.TIMESTAMP, tm.TRUNCATED
from $$VIEWTYPE_TAB_MODIFICATIONS tm
where tm.TABLE_OWNER=$$OWNER
and tm.TABLE_NAME=$$TABLE_NAME
select round(sum(bytes)/1024/1024,2) "MBSize"
from $$VIEWTYPE_SEGMENTS
where segment_name = $$TABLE_NAME and owner=$$OWNER
select round(sum(bytes)/1024/1024,2) "MBSize", count(*) "CountIND"
from $$VIEWTYPE_SEGMENTS
where segment_name in (select index_name
from $$VIEWTYPE_INDEXES
where table_name = $$TABLE_NAME
and table_owner = 'SYSTEM')
and Owner=$$OWNER
Страница "Column" - информация о колонках таблицы
Страница "Constraint"
Подробное описание ограничений на данные созданных на солонках таблицы
select ac.CONSTRAINT_NAME "Name"
from ALL_CONSTRAINTS ac
where ac.table_name=$$TABLE_NAME
and ac.OWNER= $$OWNER
order by CONSTRAINT_NAME
select ac.OWNER,
ac.TABLE_NAME,
ac.CONSTRAINT_NAME,
decode(ac.CONSTRAINT_TYPE,'C','Check constraint',
'P','Primary key',
'U','Unique key',
'R','Referential',
'V','Check option',
'O','Read only')
"CONSTRAINT_TYPE",
ac.STATUS,
nvl(ac.BAD,'-') "BAD",
nvl(ac.RELY,'-') "RELY",
ac.LAST_CHANGE,
nvl(ac.INDEX_OWNER,'-') "INDEX_OWNER",
nvl(ac.INDEX_NAME,'-') "INDEX_NAME",
nvl(ac.INVALID,'-') "INVALID",
nvl(ac.VIEW_RELATED,'-') "VIEW_RELATED",
nvl(ac.R_OWNER,'-') "R_OWNER",
nvl(ac.R_CONSTRAINT_NAME,'-') "R_CONSTRAINT_NAME",
nvl(ac.DELETE_RULE,'-') "DELETE_RULE",
ac.DEFERRABLE,
ac.DEFERRED,
ac.VALIDATED,
ac.GENERATED,
ac.SEARCH_CONDITION
from DBA_CONSTRAINTS ac
where ac.CONSTRAINT_NAME=$$CONSTRAINT_NAME
and ac.TABLE_NAME=$$TABLE_NAME
and ac.OWNER=$$OWNER
Страница "Index"
Подробная информация о индексах таблицы
select Index_name
from ALL_INDEXES
where table_name=$$TABLE_NAME
and table_owner=$$OWNER
select i.INDEX_TYPE,
i.TABLE_OWNER||'.'||i.TABLE_NAME "TABLE",
i.UNIQUENESS,
i.COMPRESSION,
i.TABLESPACE_NAME,
i.LOGGING,
i.STATUS,
i.NUM_ROWS,
i.SAMPLE_SIZE,
i.LAST_ANALYZED,
i.PARTITIONED,
i.BUFFER_POOL
from DBA_INDEXES i
where i.OWNER=$$OWNER
and i.INDEX_NAME=$$INDEX_NAME
and i.TABLE_NAME=$$TABLE_NAME
select ic.COLUMN_NAME,
ic.COLUMN_POSITION,
ic.COLUMN_LENGTH,
ic.CHAR_LENGTH,
ic.DESCEND
from DBA_IND_COLUMNS ic
where ic.INDEX_OWNER=$$OWNER
and ic.INDEX_NAME=$$INDEX_NAME
and ic.TABLE_NAME=$$TABLE_NAME
Страница "Trigger"
Подробная информация по триггерам таблицы
select tr.TRIGGER_NAME,
tr.TRIGGER_TYPE,
tr.TRIGGERING_EVENT,
tr.TRIGGER_BODY
from $$VIEWTYPE_TRIGGERS tr
where tr.TABLE_OWNER=$$OWNER
and tr.TABLE_NAME=$$TABLE_NAME
and tr.TRIGGER_NAME=$$TRIGGER_NAME
-
Show data - извлечь данные из таблицы
-
Column -> Info - список колонок таблицы с типом данных и комментарием. Данные отображаются в сетке
-
Column -> Add - добавит в окно редактора пример команды для добавления колонки в таблицу
Пример
# alter table table_name add (
# column1_name column1_datatype column1_constraint,
# column2_name column2_datatype column2_constraint,
# column3_name column3_datatype column3_constraint)
alter table SYSTEM.TESTTB add column (... ... ...)
-
Column -> Modify - добавит в окно редактора пример команды для изменения колонки
Пример
# alter table table_name modify (
# column1_name column1_datatype,
# column2_name column2_datatype,
# column3_name column3_datatype)
alter table SYSTEM.TBL modify (... ...)
-
Column -> Drop - добавит в окно редактора пример команды для удаления колонки из таблицы
alter table SYSTEM.TBL drop column ...
-
POOL -> DEFAULT - переместить таблицу в пул DEFAULT. Команда выполняется
alter table $$OWNER.$$TABLE_NAME storage ( buffer_pool keep)
-
POOL -> KEEP - переместить таблицу в пул KEEP. Команда выполняется
alter table $$OWNER.$$TABLE_NAME storage ( buffer_pool keep)
-
POOL -> RECYCLE - переместить таблицу в пул RECYCLE. Команда выполняется
alter table $$OWNER.$$TABLE_NAME storage ( buffer_pool RECYCLE)
-
Script -> Select - сформировать и добавить в редактор запросов текст запроса select с перечислением всех колонок и алиаса таблицы
-
Script -> Insert - сформировать и добавить в редактор запросов текст команды insert с перечислением всех колонок
-
Script -> Delete - сформировать и добавить в редактор запросов текст команды delect всех данных из таблицы
-
Script -> Truncate - сформировать и добавить в редактор запросов текст команды truncate таблицы
-
Script -> Analyze- сформировать и добавить в редактор запросов текст команды на обновление статистики по таблице
-
Script -> Drop - сформировать и добавить в редактор запросов текст команды удаления таблицы
-
Script -> Rename- сформировать и добавить в редактор запросов текст команды переименования таблицы
Узел "VIEW"
Список представлений в выбранной схеме
Дочерний узел "Column"
Список колонок представления
select column_name,
data_type
from DBA_TAB_COLUMNS
where table_name = $$TABLE_NAME
and owner = $$OWNER
order by column_id
"PUBLIC"
Узел "PARAMETER"
Список параметров БД Oracle и его значение
select name, nvl(value, '<Null>') "value"
from V$PARAMETER order by name
Узел "DIRECTORY"
Список директорий во всех схемах
select dd.OWNER||'.'||dd.DIRECTORY_NAME "Name",
dd.DIRECTORY_PATH
from DBA_DIRECTORIES dd
order by dd.OWNER, dd.DIRECTORY_NAME
Меню
-
Edit rights - запустить редактор прав для директории
-
Drop (execute) - удалить директорию
Узел "INVALID"
Список объектов в статусе invalid сгруппированный по схемам и типам объектов
select OWNER,
count(*) "Count"
from $$VIEWTYPE_objects
where status='INVALID'
group by owner order by OWNER
Меню
-
Get source - сформировать код создания объекта и вывести в окне редактора
-
Compile - перекомпилировать объект
-
Drop (execute) - удалить объект
-
Error list - вывести в сетке список всех ошибок в объекте БД
select *
from ALL_ERRORS ae
where ae.OWNER=$$OWNER
and ae.TYPE=$$OBJECT_TYPE
and ae.NAME=$$OBJECT_NAME
Узел "RECYCLEBIN"
Список таблиц в корзине БД Oracle сгруппированные по схемам
select distinct(owner) "NAME",
round(sum(space)/1024/1024,2) "MB",
sum(space) "sbytes"
from DBA_recyclebin
group by owner order by 2 desc
Меню
-
To create a table from - добавить в окно редактора код команды create новой таблицы на основе таблицы из корзины
Пример
CREATE TABLE <TABLE NAME> AS SELECT * FROM TESTUSER."BIN$KVmaWfsMSteelsO9Quo3Hw==$0"
-
Data - извлечь данные из таблицы в корзине
Узел "TABLESPACE"
Список табличных пространств созданных в БД Oracle
select tablespace_name||' ('||
substr(contents,1,1)||')'
"Tablesp",
status,
logging,
tablespace_name
from DBA_TABLESPACES
order by tablespace_name
Дочерний узел "DATAFILE"
Список файлов данных на дисках с текущим размером
select DDF.FILE_NAME||':=>'||
round(ddf.bytes/1024/1024/1024,2)||
' GB' "File",
online_status,
(maxbytes-bytes)/1024 "free"
from DBA_DATA_FILES ddf
where ddf.tablespace_name=$$TABLESPACE_NAME
Дочерний узел "OCCUPANTS"
Выводится только для пространства SYSAUX.
SELECT schema_name||': '|| occupant_name ||' -> '||space_usage_kbytes||' KB' "Occup"
FROM v$sysaux_occupants
ORDER BY space_usage_kbytes desc, schema_name,occupant_name
Дочерний узел "INFOTS"
Подробная информация о табличном пространстве
select tablespace_name,
status,
logging,
force_logging,
extent_management,
segment_space_management,
bigfile,
retention
from DBA_TABLESPACES
where tablespace_name=$$TABLESPACE_NAME
Дочерний узел "OBJSIZE"
Список всех объектов в табличном пространстве с их размером отсортированный по размеру
select segment_name,
segment_type,
OWNER,
round((sum(bytes)/1024/1024),2) "ObjSize"
from DBA_SEGMENTS
where tablespace_name=$$TABLESPACE_NAME
group by segment_name, segment_type, owner
order by 4 desc
Меню
Show storage manager - за пустить storage manager для данной БД
Узел "REDO"
Информация по группам журналом redo
select l.group#,
round((l.bytes)/1024/1024/1024,2) "Size",
l.status,
l.first_time,
f.MEMBER,
l.ARCHIVED,
l.SEQUENCE#
from V$LOG l, v$logfile f
where l.GROUP# = f.GROUP#
order by 1
Узел "NOLOGGING"
Список таблиц в БД операции в которых не логируются в журналах предварительной записи REDO
select owner,
count(*) "CountNo"
from DBA_TABLES
where logging='NO'
group by owner order by 2 desc
select t.table_name,
t.TABLESPACE_NAME,
t.STATUS,
t.LOGGING
from DBA_TABLES t
where logging='NO'
and owner = $$OWNER
order by table_name
Узел "NOANALYZE"
Список таблиц у которых отсутствует статистика
select distinct(owner) "OWNER",
count(*) "Count"
from DBA_TABLES
where last_analyzed is null
group by owner
order by 2 desc
select table_name
from DBA_TABLES
where last_analyzed is null
and owner=$$OWNER
order by table_name
Узел "USER"
Список пользователей в БД Oracle
select username,
account_status
from dba_users
order by username
Меню
-
Lock - заблокировать пользователя
alter user $$USER_NAME account lock
-
Unlock - разблокировать пользователя
alter user $$USER_NAME account unlock
-
Create SQL - сформировать набор команд для создания пользователя и выдачи привилегий
SELECT dbms_metadata.get_ddl('USER',$$USERNAME) "DDL" FROM dual
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT',$$USERNAME "DDL" from dual
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT',$$USERNAME) "DDL" from dual
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT',$$USERNAME) "DDL" from dual
SELECT DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA',$$USERNAME) "DDL" from dual
SELECT DBMS_METADATA.GET_GRANTED_DDL('DEFAULT_ROLE',$$USERNAME) "DDL" from dual
-
Change -> Password - сформировать и добавить в окно редактора команду для смены пароля
-
Change -> Tablespace - сформировать и добавить в окно редактора команду для смены табличного пространства по умолчанию
-
Change -> Temp - сформировать и добавить в окно редактора команду для смены временного табличного пространства по умолчанию
-
Change -> Rename [sys only]- сформировать и добавить в окно редактора команды для переименования пользователя в БД.
ВАЖНО: Операция не документированная, выполнять строго на тестовых базах!!!
Операция не документированная
Выполнять строго на тестовых базах
update sys.user$ set name = upper('<New name>') where user = '$$USER'
alter system flush shared_pool
после выполнения данных команд, перезапустить экземпляр
и перекомпелировать все объекты схемы, инвалидные исправить
-
Create code object - сформировать код создания всех объектов в схеме. Код выводится в отдельном окне.
Выполнение задачи идет в основном потоке, может быть длительным.
Tree object - дерево объектов. Кликабельно, переход к коду объекта в списке "DDL Schema"
Save - сохранить весь код в файл на диске, файл сохраняется в директории .\tmp\ddl\
-
Edit - редактор пользователя и просмотр подробных свойств
Редактор пользователей
Вкладка "OBJECT PRIVILEGE"
Права на объекты у пользователя
select p.OWNER,
p.TABLE_NAME,
p.PRIVILEGE,
p.GRANTABLE
from sys.dba_tab_privs p
where p.grantee = $$USERNAME
order by p.table_name,
p.PRIVILEGE
Вкладка "ROLE PRIVILEGE"
Список ролей БД выданный пользователю
select granted_role,
admin_option,
default_role
from sys.dba_role_privs
where grantee = $$USERNAME
order by granted_role
Вкладка "SYSTEM PRIVILEGE"
Список системных привилегий выданный пользователю
select privilege,
admin_option
from sys.dba_sys_privs
where grantee = $$USERNAME
order by privilege
Вкладка "QUOTA"
Квота пользователя на табличные пространства
select tq.TABLESPACE_NAME,
case
when tq.MAX_BYTES=-1 then 'Unlimited'
else to_char(round(tq.MAX_BYTES/1024/1024))
end "Max_Bytes",
case
when tq.MAX_BLOCKS=-1 then 'Unlimited'
else to_char(tq.MAX_BLOCKS)
end "Max_Block"
from DBA_TS_QUOTAS tq
where tq.USERNAME=$$USERNAME
Вкладка "SEGMENT"
Данные по использованию места в табличных пространствах пользователем
select s.TABLESPACE_NAME,
round(sum(s.BYTES/1024/1024/1024), 3) "Size"
from DBA_SEGMENTS s
where s.OWNER=$$USERNAME
group by TABLESPACE_NAME order by 2 desc
Вкладка "OBJECT SIZE"
Список объектов в БД пользователя с размером
select s.SEGMENT_NAME,
s.TABLESPACE_NAME,
round(sum(s.BYTES/1024/1024/1024), 3) "Size"
from DBA_SEGMENTS s where s.OWNER=$$USERNAME
group by TABLESPACE_NAME, s.SEGMENT_NAME
order by 3 desc
Страница "OBJECT MAPPING"
Группировка объектов по типам, с информацией по объектам каждой группы
select segment_type,
count(*) "Count",
tablespace_name,
round((sum(bytes)/1024/1024)) "Size"
from DBA_SEGMENTS
where owner=$$OWNER
group by segment_type, tablespace_name
order by 2 desc
select segment_name,
tablespace_name,
round(sum(bytes)/1024/1024,2) "Size",
buffer_pool
from dba_segments
where owner=$$OWNER and segment_type=$$SEGMENT_TYPE
group by segment_name,tablespace_name, buffer_pool
order by segment_name
Узел "USER CONNECT"
Информация по сессиям в БД сгруппированная по схемам
select username||' ('||count(*)||')' "username"
from v$session
where username is not null
group by username
order by username
select s.SID,
s.SERIAL#,
s.USERNAME,
s.STATUS,
s.SERVER,
s.SCHEMA#,
s.OSUSER,
s.MACHINE,
s.PORT,
s.TERMINAL,
s.PROGRAM,
s.SQL_ID
from v$session s
where username = $$OWNER
order by sid
Узел "PROFILE"
Список профилей в БД Oracle
select username||' ('||count(*)||')' "username"
from v$session
where username is not null
group by username
order by username
select s.SID,
s.SERIAL#,
s.USERNAME,
s.STATUS,
s.SERVER,
s.SCHEMA#,
s.OSUSER,
s.MACHINE,
s.PORT,
s.TERMINAL,
s.PROGRAM,
s.SQL_ID
from v$session s
where username = $$OWNER
order by sid
Меню
-
View or edit - редактор профиля
Редактор профиля служит для просмотра списка пользователей у которых применен профиль и внесения в него изменений.
Узел "SESSION"
Узел "TOP SQL"
Узел "ROLE"
Список ролей в БД
select r.ROLE||' ['||(select count(*)
from DBA_ROLE_PRIVS rp
where rp.GRANTED_ROLE =r.ROLE)||']' "ROLE"
from DBA_ROLES r
order by r.ROLE
select distinct(grantee) "grantee"
from sys.dba_role_privs
where granted_role = $$ROLENAME
order by grantee
Узел "RESTORE POINT"
Список точек отката созданных в БД
SELECT NAME,
SCN,
TIME,
DATABASE_INCARNATION#,
GUARANTEE_FLASHBACK_DATABASE,
STORAGE_SIZE
FROM V$RESTORE_POINT
Узел "DATABASE LINK"
Список соединений к другим базам данных во всех схемах
select owner||'.'||db_link "db_Link",
username,
host
from DBA_DB_LINKS
order by owner, db_link
Настройки листа
-
Font size - размер шрифта визуальных элементов текущего листа
-
Type view - тип системных представлений каталога СУБД Oracle из которых извлекаются данные для дерева объектов. В запросах $$VIEWTYPE
-
Complition load - способ загрузки данных для подсказчика кода
-
Work - в режиме реального времени
-
Manual - в ручную. Режим подходит для больших баз, когда запросы к каталогу выполняются длительное время
-
-
Use styler - использовать подсветку синтаксиса и ключевых слов в редакторе запросов
-
Statistics query - выводить статистику выполнения запроса. Статистика собирается дважды, до и после выполнения и выводится разница
select st.SID,
sn.NAME,
st.VALUE
from V$SESSTAT st, V$STATNAME sn
where st.STATISTIC# = sn.STATISTIC#
and st.SID=$$SID
and st.VALUE<>0
order by value desc
-
TrimTrailingSpace - удалять пробелы в конце строки
-
AutoThemeAdapt - адаптировать цвета к теме windows
-
DelErase - заменять выделенный текст при вводе или добавлять новые символы в начале
-
HiddenCaret - скрывать положение курсора в тексте