Системное секционирование -- "беcключевое" секционирование, где секционированием данных управляет приложение, а не сама СУБД, как в других видах секционирования(рис.32).
Системное секционирование преимущественно используется при создании специализированных серверных расширений и типов данных(так называемые "картриджи данных" и доменные индексы как составная их часть). Но иногда системное секционирование полезно и для "ручного" эквисекционирования тесно связанных объектов (например, вложенная (nested) таблица может быть создана как системно-секционированная с тем же количеством секций, что и базовая таблица).
Pipe
q Позволяет двум или более сеансам, подключенным к одному и тому же экземпляру базы данных, обмениваться сообщениями с помощью канала.
q Каналы являются асинхронными – они действуют независимо от транзакций. Поэтому не существует способа отменить сообщение, посланное в канал, даже если сеанс, который его послал, выполнил ROLLBACK.
q Канал автоматически организуется при первом обращении к нему, и удаляется, когда больше не содержит данных.
Виды каналов:
· Публичные (Public) – канал доступен всем пользователям, которые знают название канала.
· Частные (Private) – канал доступен только создателю канала, сессии с тем же USER_ID, что и у создателя канала, пользователям, подключенным как SYSDBA.
Основные функции и процедуры пакета DBMS_PIPE:
• CREATE_PIPE
• NEXT_ITEM_TYPE
• PACK_MESSAGE
• PURGE
• RECEIVE_MESSAGE
• REMOVE_PIPE
• RESET_BUFFER
• UNIQUE_SESSION_NAME
• UNPACK_MESSAGE
-- завершить сессию
-- orakill orcl2011 3008
SELECT s.sid, p.spid, s.username, s.program, s.serial# FROM v$session s JOIN v$process p ON p.addr = s.paddr;
alter system kill session '15,141' immediate;
- orakill – oracle/windows-команда для уничтожения сессии;
- SID – идентификатор instance Oracle;
- thread – SPID, полученный ранее.
Ознакомьтесь в прилагаемом метериале (KILL_SESSION) с еще одним способом принудительно завершать сессию с помощью команды ALTER SYSTEM KILL SESSION.