Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Move Lob Segment another Tablespace / 8 сообщений из 8, страница 1 из 1
16.09.2021, 10:14
    #40097950
Aleks Niches
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
Есть таблица MY_LOBS;

И сегменты лоб

Код: plsql
1.
2.
3.
4.
5.
SYS_LOB0000033333C00022$$
SYS_LOB0000033333C00013$$
SYS_LOB0000033333C00014$$
SYS_LOB0000033333C00005$$
SYS_LOB0000033333C00016$$



хочу перенести все лобы в другое ТП s USERS в LOBDATA


alter table MY_LOBS move lob (SYS_NC00022$) store as SYS_LOB0000033333C00022$$ ( tablespace LOBDATA);

Все ок

Затем переношу другой лоб по очереди.

alter table MY_LOBS move lob (SYS_NC00013$) store as SYS_LOB0000033333C00013$$ ( tablespace LOBDATA);


Предыдущий возвращается на свое ТП (USERS). То есть переносится только один ЛОБ последний.


Код: plsql
1.
2.
3.
4.
5.
SYS_LOB0000033333C00022$$	USERS
SYS_LOB0000093439C00013$$	LOBDATA
SYS_LOB0000093439C00014$$	USERS
SYS_LOB0000093439C00005$$	USERS
SYS_LOB0000093439C00016$$	USERS
...
Рейтинг: 0 / 0
16.09.2021, 11:38
    #40097974
Aleks Niches
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
Как вариант перенести саму таблицу, но саму таблицу переносить не хочу
...
Рейтинг: 0 / 0
16.09.2021, 12:00
    #40097985
Aleks Niches
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
забыл отметить, типы столбцов XMLTYPE
...
Рейтинг: 0 / 0
16.09.2021, 12:27
    #40097995
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
move lob(SYS_NC00022$,SYS_NC00013$,...) store as
...
Рейтинг: 0 / 0
16.09.2021, 14:54
    #40098045
Aleks Niches
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
Вячеслав Любомудров
move lob(SYS_NC00022$,SYS_NC00013$,...) store as


спс
...
Рейтинг: 0 / 0
16.09.2021, 15:20
    #40098061
shane54
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
... и заодно убедитесь что тип хранения всех LOB'ов у Вас есть SECUREFILE, а если вдруг там все ещё BASICFILE - попробуйте одним махом (ака "чтоб два раза не вставать"), написать такой ALTER TABLE MOVE, чтоб при перемещении сменить не только TBS для всех LOB сегментов, но ещё и тип хранения
...
Рейтинг: 0 / 0
16.09.2021, 18:28
    #40098121
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
Aleks Niches
Как вариант перенести саму таблицу, но саму таблицу переносить не хочу
Ты мог не заметить, но лобы нельзя перенести не перенеся самой таблицы.
...
Рейтинг: 0 / 0
16.09.2021, 19:19
    #40098141
shane54
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Move Lob Segment another Tablespace
Aleks Niches
забыл отметить, типы столбцов XMLTYPE


... кстати, приятно удивитесь, насколько уменьшится занимаемый размер сохраняемых XML документов - в смысле, на сколько эффективно Oracle хранит XMLTYPE колонки (но только если тип хранения SECUREFILE).

Есть "широко известный в узких кругах" документ, описывающий механизм хранения XML данных в XMLTYPE полях - описывается как именно производится парсинг, что такое CSX парсер, и что и как сохраняется в базе (теги, токены, элементы, вот это все). Интересно почитать в общем (разок, для общего развития), там все действительно круто сделано.

Кстати, на удивление, документ доступен всем, а не только через MOS:

Oracle Binary XML Format
http://www.oracle.com/technetwork/database-features/xmldb/oracle-binaryxml-rfc-128974.pdf

Упоминается, например, тут: (в смысле, source):
https://asktom.oracle.com/pls/apex/asktom.search?tag=clob-vs-binary-xml-storage

Я когда-то давно, больше 5+ лет назад, когда детально занимался этой темой, делал подробное внутреннее тестирование, для своей компании и нашей системы - сравнение хранения XML документов между STORE AS BINARY XML и старого метода STORE AS BASICFILE CLOB - давно было дело, деталей не помню, цифр и test case'ов тут не приведу к сожалению - но вроде как экономия места при хранении XML документов (не формализованных, без XSD схемы, так, простыня разных XML'ов, разной структуры, размера, сложности и описываемых данных) - вроде эффективность была больше 50%, т.е. размер используемого места сократился более чем в 2 раза - очень круто. Но нужно, конечно, тестировать на Ваших данных, на Ваших XML'ях - и что там по месту получится - на сколько эффективно, и на сколько просядет производительность (очевидно что сохранить XML документ "as is" в CLOB или/vs распарсить XML документ "до косточек" и сохранить его в соответствующем формате по кусочкам - мягко говоря разные по сложности и ресурсоемкости операции).

---

Если у Вас и так все сделано как надо - поля объявлены как STORE AS BINARY XML / хранение в виде SECUREFILE - пардон за капитанство, у Вас все и так уже хорошо!
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Move Lob Segment another Tablespace / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]