| 
                                    Рубрика: 
                                    
									Базы данных / 
									Инструменты
                                     | 
									
									
	Facebook 
	
	Мой мир 
	Вконтакте 
	Одноклассники 
	Google+ 
 
									 | 
                                 
                             
							
							
							  ВАЛЕРИЙ МИХЕИЧЕВ, эксперт Oracle, СПАО «Ингосстрах», Valery.Mikheitchev@ingos.ru 
Опыт работы в Oracle с таблицами,  содержащими большие LOB-столбцы 
Рассмотрим вопросы работы в Oracle с таблицами, в которых имеются большие LOB-столбцы. Особое внимание уделим особенностям интервального секционирования в Oracle 11g и Oracle 12c для таблиц, содержащих LOB-столбцы 
 Существует несколько типов LOB-объектов: 
- BLOB – двоичный большой объект;
 
- CLOB – символьный большой объект;
 
- NCLOB – национальный символьный большой объект;
 
- BFILE – внешний двоичный файл.
 
 
LOB-объекты делятся на внутренние и внешние. 
Внутренние большие объекты Internal LOB – хранятся в базах данных (БД), к ним относятся BLOB, CLOB и NCLOB. Внутренние большие объекты могут быть постоянными или временными: 
- постоянные LOB – создаются как столбцы таблицы БД командой Create таблицы, при этом данные LOB могут храниться как в самой таблице, так и вне таблицы;
 
- временные Temporary LOB – создаются для использования только в пределах конкретного приложения. Для создания временного LOB используется процедура dbms_lob.createtemporary.
 
 
Внешние большие объекты External LOB – вид данных, который хранится в файлах операционной системы, вне базы данных, а в базе данных на них хранятся ссылки (локаторы). Внешние LOB используют тип данных BFILE. 
Каждый LOB-объект состоит из двух частей: 
- локатор-указатель, который специфицирует местонахождение контента (т.е. местонахождение данных LOB-объекта);
 
- контент – набор двоичных или символьных байтов, составляющих LOB.
 
 
Инструментом работы с LOB выступает пакет DBMS_LOB. Он предоставляет методы манипулирования внутренними и внешними LOB. В данной статье рассматриваются только постоянные внутренние LOB-объекты. 
Сегменты LOB-объектов Oracle 
Для объектов Oracle, таких как таблица, индекс, LOB-объект и др., создается структура, называемая сегментом. При этом имеется особенность: при создании сегментов для таблицы и индекса создается один сегмент, в то же время длякаждого LOB-столбца таблицы создается не один, а два сегмента. Один сегмент – это LOB-сегмент для хранения данных и второй – это LOB-индексный сегмент. LOB-индексный сегмент создается автоматически при создании LOB-сегмента и служит для навигации по LOB-сегменту. Увидеть созданные сегменты объектов Oracle (при наличии данных) позволяет Oracle представление DBA_SEGMENTS. Это представление замечательно тем, что можно увидеть (в том числе в текущий момент) число байт в объекте Oracle. 
Статью целиком читайте в журнале «Системный администратор», №4 за 2017 г. на страницах 54-59. 
PDF-версию данного номера можно приобрести в нашем магазине. 
  
	Facebook 
	
	Мой мир 
	Вконтакте 
	Одноклассники 
	Google+ 
 
                             |