[ОТВЕТИТЬ]
09.04.2010 21:15
Pyatak
 
Коллеги, есть аналогичная тема по переходу с 8i на 9i. Я так полагаю, что при переходе с 9-ки на 10-ку, последовательность, в общем и целом, должна быть такой же. Может кто уже осуществлял данный процесс, расскажите пожалуйста о особенностях, о подводных камнях, которые попадались, граблях, на которые на ступали.
Сервер уже поднял (Gentoo x86_64 + Oracle 10.2.0.4), сейчас база генерируется, на выходных хочу начать процесс переноса данных.
10.04.2010 21:04
OlegON
 
Буду писать для всех.
На самом деле если речь идет об апгрейде базы, которая когда-то была 8i, то очень рекомендую экспорт-импорт где-то работы на 10ке проделать. Уж больно много багов я съел именно при такой последовательности. Это раз. 10.2.0.4 обязательна (не .3) это два. Если бы была винда и с 9 до 10 поднимались родным upgrade assistant, то проверить все 100 раз, пару раз натыкался, что проявлялись баги, которые потом требовали еще патчей, что ни разу не повторялось при обычном экспорте-импорте. Обязательно проверить наличие триггеров, просто чтобы они были в схеме супермага и не менее 10, пропадали. Хз куда, просто не было и все. Вообще ни одного. Да, при экспорте/импорте обязательно экспортим той версией, откуда достаем, при импорте импортим той версией, куда вливаем. Не забываем про nls_lang, после экспорта необходимо убедиться, что вместо русских букв нет вопросиков в дампе. Выливал как-то под линуксом, очень потом огорчался.
Это грабли... А так все обыденно... Если с винды переносишь - вообще все ок. Если с линукса обратно - да, могут быть нюансы вроде неподдерживаемого размера блока.
11.04.2010 23:35
Pyatak
 
И так, переход состоялся. Пока полет нормальный, глюков еще не выявлено.
Начало было такое же, как при переходе с 8 на 9:
1) удаляем все расчеты и переносы товародвижения, если таковые имеются
2) отключаем все сервисы СМ, чтобы пользователи не ломились и не натворили бед, и чтобы почтовик не влез.
3) Удаляем триггер DBPasswordChange (команда drop trigger supermag.dbpasswordchange; в sqlplus)
Если кто знает зачем, поясните пожалуйста. При переходе с 8 на 9 в ответ на этот пункт вообще выводилась ошибка о том, что данный тригер не существует, хотя, может тогда у меня была слишком старая версия СМ
4) проверяем, что есть достаточно дискового пространства для дампа
5) запускаем консоль (cmd), переходим туда, где создаем дамп
6) set NLS_LANG=american_america.cl8mswin1251
7) set ORACLE_SID=имя базы
8) exp full=y buffer=10000000 log=log.txt
9) на появившемся запросе логина вводим sys as sysdba
10) вводим пароль
При экспорте из 9-ки все срабатывает именно так, как надо. При экспорте из 8-ки, такой способ подключения не прокатывал почему-то.
11) терпеливо ждем окончания экспорта
12) убедились, что в log.txt одна из последних записей содержит слово successfully (не unsuccessfully)
В моем случае было: "Export terminated successfully without warnings.", даже без замечаний, я думал такого не бывает и даже промелькнула надежда, что при импорте будет также :)
Всё, экспорт окончен. Как ставить 10-ку разговор для отдельной темы. В моем случае уже подготовлена БД на Gentoo Linux x86_64, копирую туда дамп и поехали:
13) export NLS_LANG=american_america.cl8mswin1251
14) imp full=y ignore=y log=logi.txt
15) вводим sys as sysdba
16) вводим пароль
если вы не перевели имя файла дампа в нижний регистр, утилита скажет, что файл не найден и запросит его местоположение, просто введите его имя в верхнем регистре.
17) так же терпеливо ждем завершения вливания базы
18) убедились, что в logi.txt одна из последних записей содержит слово successfully
without warnings здесь уже не дождетесь))
Далее я с базой работал через TOAD, но можно и через sqlplus, главное чтобы от имени sys as sysdba.
19) Раздаем гранты, как написано тут, но мне не хватило еще вот этого:
GRANT SELECT ON "SYS"."V_$INSTANCE" TO "SUPERMAG";
20) Компилируем инвалидные объекты. Как это сделать, см. тут. Обращаю внимание, что там почти в каждом скрипте есть ошибки, которые перед запуском нужно поправить, а именно: везде между c.owner, точкой и c.name не должно быть никаких пробелов. В скрипте компиляции тригеров вообще перепутана последовательность c.type, c.owner и c.name, будьте внимательны.
21) Проверка, что все сделали правильно, например так:
Код:
select owner,object_type,object_name,status from dba_objects
where status='INVALID'
ORDER BY 2,3
В моем случае остались инвалидами следующие вьюхи, так и не смог их вылечить, говорит "неверный символ":
SYS._ALL_REPCONFLICT
SYS._ALL_REPPARAMETER_COLUMN
SYS._ALL_REPRESOLUTION
Одноко, пока все работает. Если кто знает что с этим делать. Поделитесь опытом.
12.04.2010 06:55
Ivan Drago
 
Попробуй @?/rdbms/admin/utlrp запустить. После 16) не верхний и не нижний, а такой, какой есть. Имена файлов в Linux регистрозависимые. Или не в этом дело?
Не забываем, что при переходе с 9 на 10 как раз можно использовать upgrade assistant
12.04.2010 15:39
Propil
 
нахожусь в процессе перевода с 8-ки на 10-ку..

Вот с чем столкнулся - после установки 10-ки иду в Home selector, а там на выбор только две записи - от 8-ки и 6-ка репортсы.
В реестре ветка 10-ке появилась "KEY_OraDb10g_home1"

Как выбрать в качестве home по-умолчанию 10-ку?
**
Windows 2003
12.04.2010 15:45
Ivan Drago
 
Поправь просто %PATH% соответствующим образом (каталоги 10ки вперед). И создай %ORACLE_HOME% в нужную тебе директорию. А в целом следует избегать таких комбинаций. Но, как я помню, кого последнего ставил, тот и default. Запусти lsnrctl из консоли, посмотри какая версия будет.
12.04.2010 15:50
Propil
 
спасибо
Это я проделал
Меня смутило отстутствие в хоум селекторе записи о 10-ке
12.04.2010 15:50
Pyatak
 
Ага, старый home selector не видит десятки.
Однако, у меня на клиентских машинах стоял 9-ый клиент, он прекрасно заработал с 10-ым сервером, поэтому заморачиваться не стал.
13.04.2010 18:06
Propil
 
перевел две восьмерки на 10-ку по этой схеме
полет нормальный
На своей машине поторопился клиента поменять на 10-й
Теперь не могу подключиться к оставшимся восьмерочным базам...
Что-ж, есть стимул быстрее закончить апгрейд
13.04.2010 19:25
OlegON
 
Цитата:
Pyatak 19) Раздаем гранты, как написано тут, но мне не хватило еще вот этого:
GRANT SELECT ON "SYS"."V_$INSTANCE" TO "SUPERMAG";
А что без этого не работало? И, кстати, рекомпилировать сумел?
13.04.2010 23:51
Pyatak
 
Цитата:
OlegON А что без этого не работало?
Если я правильно сейчас вспомнил, то не компилировался package с именем CORE. Причем, после неудачной попытки его компилировать, становились инвалидами все друге объекты, которые до этого удачно откомпилировались.
Цитата:
OlegON И, кстати, рекомпилировать сумел?
Что ты имеешь ввиду? Инвалиды сделать не инвалидами? Да, база сейчас уже в боевом режиме работает. Остались только три вьюхи, о которых выше написано.
14.04.2010 06:56
OlegON
 
Так было дельное предложение для компиляции
Цитата:
@?/rdbms/admin/utlrp
странно что-то с правами, посмотри, у тебя supermag с ролью DBA?
14.04.2010 11:17
Propil
 
Цитата:
Если я правильно сейчас вспомнил, то не компилировался package с именем CORE. Причем, после неудачной попытки его компилировать, становились инвалидами все друге объекты, которые до этого удачно откомпилировались.
у меня та же история, если не сделать
Цитата:
GRANT SELECT ON "SYS"."V_$INSTANCE" TO "SUPERMAG";
просто перекомпиляция не спасает
14.04.2010 12:17
Ivan Drago
 
Странно, а 07_DICTIONARY_.... не забыли в true?
14.04.2010 13:26
Propil
 
Цитата:
Ivan Drago Странно, а 07_DICTIONARY_.... не забыли в true?
не забыл..
14.04.2010 13:31
Ivan Drago
 
Я только что поднял базу на 10ке, дал гранты из FAQ - все нормально...
А можно узнать причину некомпиляции? Компильните из sqlplus, а когда свалится - show error
14.04.2010 13:37
Propil
 
Ivan Drago, вчера-сегодня проапгрейдил три базы
Проблем никаких, и дополнительных временнЫх затрат на
Цитата:
GRANT SELECT ON "SYS"."V_$INSTANCE" TO "SUPERMAG";
тоже особенно нету...
14.04.2010 13:39
Ivan Drago
 
Дело не в еще одной строчке для копипаста. А в том, что если у меня работает без этого, а тебе нужны гранты, то что-то пошло не так... И не известно точно что.
14.04.2010 13:43
HellBoy
 
Странно. переводил базу с 9-ки на 10ку, оставались не откомпилированными те же вьюхи. Помогло
Цитата:
@?/rdbms/admin/utlrp
. После этого все откомпилировано было.
14.04.2010 14:56
Propil
 
ну вот сейчас для проверки выдернул DDL из SUPERMAG с девяточной базы
и там в предпоследней строке есть
Цитата:
GRANT SELECT ON SYS.V_$INSTANCE TO SUPERMAG;
так что для себя просто добавил эту строчку в мануал
15.04.2010 00:29
Pyatak
 
Цитата:
Ivan Drago Попробуй @?/rdbms/admin/utlrp запустить...
Да, мне тоже помогло, инвалидов совсем не осталось.
15.04.2010 12:24
HellBoy
 
Кстати, а Optimizer3 будет потом нормально работать под 10-ой?
15.04.2010 12:32
Ivan Drago
 
Цитата:
HellBoy Кстати, а Optimizer3 будет потом нормально работать под 10-ой?
Его закрыли, вроде, уже давно... Сейчас optimizer4 в ходу. У меня работает 4 по крайней мере.
15.04.2010 12:34
HellBoy
 
Да, в курсе, что уже во всю используется 4-ый, но начальство пока не хочет переходить на него из-за работы по интернету.:( Поэтому и спрашиваю про 3-ий.
15.04.2010 12:41
Ivan Drago
 
У меня у третьего срок работы вышел или что-то в этом роде... Я забил и поставил 4й... Посмотрел - вполне себе безопасная фишка... Там траффик смешной, чтобы что-то украсть :) И наружу коннектится, чтобы кто-то к тебе вломился :)
16.04.2010 09:35
HellBoy
 
При переходе на 10-ку, в логе optimizer3 версия базы должна стать 10,2,0,4 или остаться 9,2,0,8?(при первой попытке перевода версия стала 10,2,0,4 , а при второй осталась 9,2,0,8. Получается что второй раз криво перевел?
16.04.2010 10:12
Ivan Drago
 
получается, что вообще не перевел
16.04.2010 12:52
HellBoy
 
Капец... дитя невнимательности...:(
Смотрел старый лог оптимайзера, еще от 9-ки. Не поменял путь до него...:(
может проще удалить сообщения №26 и 28?
20.04.2010 05:50
HellBoy
 
Вот такой еще вопросец: Если перевести дочернюю базу на 10-ку, а центральную оставить на 9-ке (на время, нет полноценного ключа чтоб проверить), то они между собой будут нормально работать? По идее должны.
20.04.2010 06:02
Propil
 
у нас еще три дня назад часть баз была на 8-ке, часть на 10-ке, а ЦО - на 9-ке
Работают нормально


Опции темы


Часовой пояс GMT +3, время: 07:46.

 

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