Редактор SQL [PL/SQL] для СУБД Oracle
Информация на странице устарела. документация переносится на форум
Редактор SQL/PLSQL для СУБД Oracle позволяет быстро и удобно работать с базами данных, администрировать и мониторить работу. Редактор поддерживает работу с версиями сервера Oracle 8.0.3 и старше
Для работы с СУБД Oracle установка дополнительного ПО не требуется.
Все необходимые библиотеки идут в комплекте
По умолчанию используется библиотека версии 11G
![query editor - dashboard 1](https://static.wixstatic.com/media/513478_803d39d471b348fd87009a9954def5c6~mv2.jpg/v1/fill/w_147,h_87,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/513478_803d39d471b348fd87009a9954def5c6~mv2.jpg)
![query editor - dashboard 2](https://static.wixstatic.com/media/513478_dc2c3c36b9cc4ea6a25b99ac3e091593~mv2.jpg/v1/fill/w_147,h_87,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/513478_dc2c3c36b9cc4ea6a25b99ac3e091593~mv2.jpg)
![query editor - dashboard 5](https://static.wixstatic.com/media/513478_c9d692dd549e45148d5ac8f176060e97~mv2.jpg/v1/fill/w_147,h_87,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/513478_c9d692dd549e45148d5ac8f176060e97~mv2.jpg)
![query editor - dashboard 1](https://static.wixstatic.com/media/513478_803d39d471b348fd87009a9954def5c6~mv2.jpg/v1/fill/w_147,h_87,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/513478_803d39d471b348fd87009a9954def5c6~mv2.jpg)
Не нашли нужных функций? Пишите в комментариях на форуме и мы добавим нужный функционал
Меню
Подключение к СУБД 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 manager](https://static.wixstatic.com/media/513478_93fd34f5a2d345f1a08d45dd4638bcfd~mv2.jpg/v1/fill/w_80,h_214,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Connection%20manager.jpg)
Дерево объектов
![Tree view for Oracle object](https://static.wixstatic.com/media/513478_df60ad43dfa54ca3ad0a34cd89f20392~mv2.jpg/v1/fill/w_77,h_200,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Tree%20view%20for%20Oracle%20object.jpg)
Управление соединением листа
Текущая схема
Схема поиска объектов
Дерево объектов
Настройки листа
Команды на листе
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 хранит вместе все строки из всех таблиц с одним и тем же ключом кластера.
![CerebroSQL - schema - cluster](https://static.wixstatic.com/media/513478_cf5d90361bfa4a5b85a41fecd16e8aed~mv2.jpg/v1/fill/w_76,h_115,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20cluster.jpg)
Меню папки "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"
Список соединений к другим базам данных в выбранной схеме
![CerebroSQL - schema - database link](https://static.wixstatic.com/media/513478_daf943dd6607491fa3d15a07e7a82951~mv2.jpg/v1/fill/w_78,h_132,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20database%20link.jpg)
Меню папки "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 ...
![CerebroSQL - schema - directory](https://static.wixstatic.com/media/513478_e32d451c7288480d846044592066de3f~mv2.jpg/v1/fill/w_78,h_115,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20directory.jpg)
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
![CerebroSQL - Oracle directory editor](https://static.wixstatic.com/media/513478_187ca14971f04c16b402067d124755da~mv2.jpg/v1/fill/w_108,h_85,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20Oracle%20directory%20editor.jpg)
Создание директории
-
Ввести в поле "Name directory" название новой директории
-
В поле "Path" ввести путь к директории на сервере с СУБД
-
Нажать кнопку "Create directory"
Изменение привилегий на директорию
-
В списке пользователей "List user" выбрать пользователей для которых необходимо выдать права
-
В блоке "Right" установить чеки на нужных правах
-
Нажать кнопку "Apply"
![CerebroSQL - Oracle directory editor right](https://static.wixstatic.com/media/513478_9a024b8f7b8c4ae588dc2f673e06346e~mv2.jpg/v1/fill/w_108,h_85,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20Oracle%20directory%20editor%20rig.jpg)
Узел "FUNCTION"
Список функций в выбранной схеме
![CerebroSQL - schema - function](https://static.wixstatic.com/media/513478_a1dda6e88ef1496093a25761676b0741~mv2.jpg/v1/fill/w_78,h_116,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20function.jpg)
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"
Список индексов в выбранной схеме
![CerebroSQL - schema - index](https://static.wixstatic.com/media/513478_b333cef65924433f883ad0eb6d6cefb5~mv2.jpg/v1/fill/w_77,h_111,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20index.jpg)
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"
Список партицированных индексов в выбранной схеме
![CerebroSQL - schema - index partition](https://static.wixstatic.com/media/513478_786d644e061d4a8fbc17e398d6391468~mv2.jpg/v1/fill/w_77,h_96,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20index%20partition_jp.jpg)
Меню аналогично меню узла "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"
Список таблиц в выбранной схеме.
![CerebroSQL - schema - table list](https://static.wixstatic.com/media/513478_60a53b8841a04c088e16b20e25942677~mv2.jpg/v1/fill/w_77,h_128,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20table.jpg)
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" - общая информация
![Oracle table info - general](https://static.wixstatic.com/media/513478_30cd89d455414dbbb8b2758d3099899d~mv2.jpg/v1/fill/w_126,h_59,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20table%20info%20-%20general.jpg)
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" - информация о колонках таблицы
![CerebroSQL - Oracle table view - columns](https://static.wixstatic.com/media/513478_b19a90075b904f8e9818b176cbd39c59~mv2.jpg/v1/fill/w_126,h_71,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20Table%20view%20-%20columns.jpg)
Страница "Constraint"
Подробное описание ограничений на данные созданных на солонках таблицы
![CerebroSQL - Oracle table view - Constraint](https://static.wixstatic.com/media/513478_92bbd9a954bf4b37825baab1b58ae15b~mv2.jpg/v1/fill/w_126,h_71,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20Table%20view%20-%20Constraint.jpg)
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"
Подробная информация о индексах таблицы
![CerebroSQL - Oracle table view - index](https://static.wixstatic.com/media/513478_32b03cc671cc4a9bb305c255141da7f0~mv2.jpg/v1/fill/w_126,h_70,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20Table%20view%20-%20index.jpg)
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"
Подробная информация по триггерам таблицы
![CerebroSQL - Oacle table view - trigger](https://static.wixstatic.com/media/513478_1e138783f3534853bb34a8c0b5839b65~mv2.jpg/v1/fill/w_126,h_71,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20Table%20view%20-%20trigger.jpg)
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"
Список представлений в выбранной схеме
![CerebroSQL - schema - view](https://static.wixstatic.com/media/513478_e17754063edb4bbda4da832a737c1ae4~mv2.jpg/v1/fill/w_77,h_127,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20schema%20-%20view.jpg)
Дочерний узел "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 и его значение
![CerebroSQL - public - parameter](https://static.wixstatic.com/media/513478_dd8478b1ab8649d9ab586cf519cc67ab~mv2.jpg/v1/fill/w_78,h_139,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20parameter.jpg)
select name, nvl(value, '<Null>') "value"
from V$PARAMETER order by name
Узел "DIRECTORY"
Список директорий во всех схемах
![CerebroSQL - public - directory](https://static.wixstatic.com/media/513478_b918529be96f49f2b4f8fb5e6015406a~mv2.jpg/v1/fill/w_78,h_140,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20directory.jpg)
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 сгруппированный по схемам и типам объектов
![CerebroSQL - public - invalid](https://static.wixstatic.com/media/513478_d171eb0eeee04edfa6d26aee315646bf~mv2.jpg/v1/fill/w_77,h_114,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20invalid.jpg)
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 сгруппированные по схемам
![CerebroSQL - public - recyclebin](https://static.wixstatic.com/media/513478_78cb58572d8f47269814fdf119ad0ad2~mv2.jpg/v1/fill/w_78,h_97,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20recyclebin.jpg)
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
![CerebroSQL - public - oracle tablespace](https://static.wixstatic.com/media/513478_acb70c70bbc94612a2c770f29bf835b8~mv2.jpg/v1/fill/w_77,h_103,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20tablespace.jpg)
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
![CerebroSQL - public - redo](https://static.wixstatic.com/media/513478_d2701413fb22480ab7addf60b71bab73~mv2.jpg/v1/fill/w_77,h_107,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20redo.jpg)
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
![CerebroSQL - public - nologging](https://static.wixstatic.com/media/513478_682ba739e933469f8ff4321ba4faa1b1~mv2.jpg/v1/fill/w_78,h_106,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20nologging.jpg)
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"
Список таблиц у которых отсутствует статистика
![CerebroSQL - public - oracle noanalyze table](https://static.wixstatic.com/media/513478_ef0191b3a2b84044ab2a61309dbe8173~mv2.jpg/v1/fill/w_78,h_120,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20noanalyze.jpg)
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
![CerebroSQL - public - users](https://static.wixstatic.com/media/513478_15af6e9d9d2b4bc3999fe7eef171b898~mv2.jpg/v1/fill/w_77,h_128,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20users.jpg)
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 - сформировать код создания всех объектов в схеме. Код выводится в отдельном окне.
Выполнение задачи идет в основном потоке, может быть длительным.
![Oracle view DDL schema](https://static.wixstatic.com/media/513478_f5c1b3cca7c6446da14090206bbe6f61~mv2.jpg/v1/fill/w_126,h_91,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/View%20DDL%20schema.jpg)
Tree object - дерево объектов. Кликабельно, переход к коду объекта в списке "DDL Schema"
Save - сохранить весь код в файл на диске, файл сохраняется в директории .\tmp\ddl\
-
Edit - редактор пользователя и просмотр подробных свойств
Редактор пользователей
![Oracle edit user - alter user](https://static.wixstatic.com/media/513478_71b4733cabbd4043bd91bbe730b799d0~mv2.jpg/v1/fill/w_126,h_68,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20alter%20user.jpg)
Вкладка "OBJECT PRIVILEGE"
Права на объекты у пользователя
![Oracle edit user - object privilege](https://static.wixstatic.com/media/513478_6c1e2b775e3d415295ac8c792e1913ad~mv2.jpg/v1/fill/w_126,h_64,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20object%20privilege.jpg)
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"
Список ролей БД выданный пользователю
![Oracle edit user - role privilege](https://static.wixstatic.com/media/513478_5b0e057c52b14f6fb3a2d69ae44ec644~mv2.jpg/v1/fill/w_126,h_64,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20role%20privilege.jpg)
select granted_role,
admin_option,
default_role
from sys.dba_role_privs
where grantee = $$USERNAME
order by granted_role
Вкладка "SYSTEM PRIVILEGE"
Список системных привилегий выданный пользователю
![Oracle edit user - system privilege](https://static.wixstatic.com/media/513478_2e796fcd18044ad091ced6ddf4035fb5~mv2.jpg/v1/fill/w_126,h_67,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20system%20privilege.jpg)
select privilege,
admin_option
from sys.dba_sys_privs
where grantee = $$USERNAME
order by privilege
Вкладка "QUOTA"
Квота пользователя на табличные пространства
![Oracle edit user - quota](https://static.wixstatic.com/media/513478_6eae70513ce44755a7a01b933dbffba0~mv2.jpg/v1/fill/w_126,h_68,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20quota.jpg)
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"
Данные по использованию места в табличных пространствах пользователем
![Oracle edit user - segment](https://static.wixstatic.com/media/513478_97a50e4de77a4ac297412f84b61cee25~mv2.jpg/v1/fill/w_126,h_68,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20segment.jpg)
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"
Список объектов в БД пользователя с размером
![Oracle edit user - object size](https://static.wixstatic.com/media/513478_f2af5998d0d54b5793fa125494970496~mv2.jpg/v1/fill/w_126,h_67,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20object%20size.jpg)
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"
Группировка объектов по типам, с информацией по объектам каждой группы
![Oracle edit user - object mapping](https://static.wixstatic.com/media/513478_04eb09ad18734165b103b88f289e9661~mv2.jpg/v1/fill/w_126,h_65,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20edit%20user%20-%20object%20mapping.jpg)
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"
Информация по сессиям в БД сгруппированная по схемам
![CerebroSQL - public - user connect](https://static.wixstatic.com/media/513478_9c0df2bc69b04f5993a00451c1fa2677~mv2.jpg/v1/fill/w_78,h_114,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20user%20connect.jpg)
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
![CerebroSQL - public - profile](https://static.wixstatic.com/media/513478_0c7bd61258ff4076a05ccd9c48695799~mv2.jpg/v1/fill/w_77,h_128,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20profile.jpg)
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 - редактор профиля
![Oracle profile editor](https://static.wixstatic.com/media/513478_26c749552a2941d8955558d97e2fe816~mv2.jpg/v1/fill/w_108,h_97,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Oracle%20profile%20editor.jpg)
Редактор профиля служит для просмотра списка пользователей у которых применен профиль и внесения в него изменений.
Узел "SESSION"
Узел "TOP SQL"
Узел "ROLE"
Список ролей в БД
![CerebroSQL - public - role](https://static.wixstatic.com/media/513478_28670ad8437849eda48832012df1206d~mv2.jpg/v1/fill/w_77,h_127,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20role.jpg)
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"
Список точек отката созданных в БД
![CerebroSQL - public - restore point](https://static.wixstatic.com/media/513478_99060b0afa594dafb90b74cd5c5c601b~mv2.jpg/v1/fill/w_78,h_128,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20restore%20point.jpg)
SELECT NAME,
SCN,
TIME,
DATABASE_INCARNATION#,
GUARANTEE_FLASHBACK_DATABASE,
STORAGE_SIZE
FROM V$RESTORE_POINT
Узел "DATABASE LINK"
Список соединений к другим базам данных во всех схемах
![CerebroSQL - public - database link](https://static.wixstatic.com/media/513478_38334ad4139c40c68cff615b55b792bc~mv2.jpg/v1/fill/w_77,h_128,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20-%20public%20-%20database%20link.jpg)
select owner||'.'||db_link "db_Link",
username,
host
from DBA_DB_LINKS
order by owner, db_link
Настройки листа
![CerebroSQL for Oracle - list settings](https://static.wixstatic.com/media/513478_8b7927be05a44962a689e35dc4d10d1a~mv2.jpg/v1/fill/w_77,h_155,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/CerebroSQL%20for%20Oracle%20-%20list%20settings_jp.jpg)
-
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 - скрывать положение курсора в тексте