08.12.2014 15:48
dalex
 
Столкнулись с такой проблемой.
Таблицы и строки, в которые никогда не делался insert - не выгружаются с помощью exp и expdp (или возможно не загружаются потом с помощью imp/impdp).
Оказалось это баг оракла 11.2.0.1, исправленный в 11.2.0.2.
Насколько понял вот решение для 11.2.0.2


Пока такой пробую вариант решения проблемы - выгрузить базу через exp от клиента 11.2.0.4.
08.12.2014 16:24
OlegON
 
Сколько раз твердили миру...
Обновление оракл 11.2.0.1 до 11.2.0.3
гораздо более правильно - поставить 11.2.0.3, я на 11.2.0.1 уже столько насобирал из того, что в Супермаге нужно...
10.12.2014 17:54
dalex
 
Вот как решил проблему:
Баг в том что на таблицы, в которые не было INSERTов – не выделяется место и они не дампятся в 11.2.0.1
То есть в dba_tables таблицы есть, а в а dba_segments их нет.
1. Выбираем список таблиц с количеством строк =0
select table_name from dba_tables where NUM_ROWS=0 AND OWNER='SUPERMAG'
или сравниваем их наличие в dba_segments
select table_name from dba_tables where tablespace_name='USERS' AND owner='SUPERMAG' and table_name not in (select segment_name from dba_segments where owner='SUPERMAG')
Я делал оба варианта так как они отличаются на несколько записей.
2. По получившемуся списку таблиц прогоняем alter table имя_таблицы allocate extent;
3. Наблюдаем пустые таблицы в дампе при exp и в базе при восстановлении через imp
10.12.2014 20:02
OlegON
 
Опаньки, правильно ли я понял, что таблицы без строк в этой версии отсутствуют в dba_segments?!
И, прошу прощения за навязчивость, но в чем причина нежелания проапгрейдить прямо вот эту вот БД до 11.2.0.3?
24.12.2014 09:00
dalex
 
Цитата:
OlegON Опаньки, правильно ли я понял, что таблицы без строк в этой версии отсутствуют в dba_segments?!
И, прошу прощения за навязчивость, но в чем причина нежелания проапгрейдить прямо вот эту вот БД до 11.2.0.3?
Именно - баг 11.2.0.1, исправлен в 11.2.0.2
И не таблицы без строк, а таблицы, в которые никогда не было INSERT.

Пока не было ни одного insert в таблицу-под нее не выделяются сегменты и экстенты соответственно. И она не выгружается exp и expdp.
Нежелание прямого апгрейда в том что он в наших условиях невозможен у меня не получился.
Мы с 32 битной 11.2.0.1 пытаемся прыгнуть на 64битную 11.2.0.4.
Я нашел решения для:
1. вырезания lsbac security, который есть в старом оракле и которого нет в новом ибо standart edition one (скрипт catnools.sql)
2. конвертации базы с 32битной на 64битную (11.2.0.1->11.2.0.1) (скрипт utlirp.sql)
2. и соответственно третий этап - апгрейд базы через oracle database upgrade assistant.

Все операции проходят нормально-но супермаговский генератор БД что-то не захотел нормально поднимать эту базу и я решил перенести дампом.
Часовой пояс GMT +3, время: 02:15.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.