[ТЕМА ЗАКРЫТА]
07.09.2006 14:41
artyom
 
Говорят применение стандартных утилит Oracle exp.exe и imp.exe здорово помогает дефрагментировать базу. Я попробовал на своей: экспорт прошел успешно с помощью bat-файла
set nls_lang=american_america.cl8mswin1251
exp.exe userid=sys/qqq@dbase full=y file=e:\oracle\full.dat log=e:\expimp\full.log

Затем я создал новую базу с параметрами старой.
Импорт батником
set nls_lang=american_america.cl8mswin1251
imp.exe userid=sys/qqq@dbase file=e:\expimp\full.dat fromuser=sys touser=sys log=e:\expimp\full.log

прошел как - то непонятно:
oracle сказал, что импорт произошел успешно, но во первых длился он секунд 30, во вторых в новой базе никаких таблиц я не обнаружил.
Видать что-то я сделал не правильно, вот только что?
07.09.2006 14:51
OlegON
 
А в логах-то что? И что в файле дампа? Поищи по форуму, по слову GRANT, аналогичные темы уже были. У тебя нет, как минимум ignore=y и fromuser, touser здесь неуместны.
20.09.2006 13:49
artyom
 
1)Сделал экспорт и импорт с помощью батников
set nls_lang=american_america.cl8mswin1251
exp.exe userid=sys/qqq@db2000 FULL=Y feedback=10000 consistent=y compress=n file=essen01.dmp log=log_e.txt
и
set nls_lang=american_america.cl8mswin1251
imp.exe userid=sys/qqq@db2000 full=y feedback=10000 ignore=y commit=y file=essen01.dmp log=log_i.txt

2)В файле дампа содержаттся ошибки вроде:
ORA-06512: y? "SUPERMAG.CORE", line 268
ORA-06512: y? "SU?y?y
ORA-06512: y? "SUPERMAG.CASH", line 920
ORA-01403: o?yyuo yo y?uooy??y?y
Кодировка что-то подкачала.

3)После представления грантов:
GRANT SELECT ON SYS.DBA_JOBS TO SUPERMAG WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_ROLES TO SUPERMAG;
GRANT SELECT ON SYS.DBA_USERS TO SUPERMAG WITH GRANT OPTION;
GRANT EXECUTE ON SYS.DBMS_ALERT TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_LOCK TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_PIPE TO SUPERMAG;
GRANT SELECT ON SYS.V_$SESSION TO SUPERMAG;
и компиляции, инвалидными остались объекты
Packedge Body
SCHEDULE
С ошибками
Line # = 2 Column # = 22 Error Text = PLS-00201: идентификатор 'SVJOBS' должен быть объявлен
Line # = 2 Column # = 2 Error Text = PL/SQL: Item ignored
Line # = 217 Column # = 8 Error Text = PLS-00201: идентификатор 'SVJOBS.WHAT' должен быть объявлен
Line # = 217 Column # = 8 Error Text = PL/SQL: Item ignored
Line # = 248 Column # = 3 Error Text = PL/SQL: SQL Statement ignored
Line # = 251 Column # = 8 Error Text = PLS-00320: описание типа этого выражения незавершено или выполнено неверно
Line # = 259 Column # = 30 Error Text = PLS-00320: описание типа этого выражения незавершено или выполнено неверно
Line # = 259 Column # = 3 Error Text = PL/SQL: Statement ignored
Line # = 279 Column # = 5 Error Text = PLS-00320: описание типа этого выражения незавершено или выполнено неверно
Line # = 279 Column # = 2 Error Text = PL/SQL: Statement ignored
Line # = 391 Column # = 48 Error Text = PLS-00311: объявление "TJOBINFO" неполное или неправильно сформировано
Line # = 391 Column # = 1 Error Text = PL/SQL: Item ignored
Line # = 405 Column # = 29 Error Text = PLS-00201: идентификатор 'SVJOBS' должен быть объявлен
Line # = 405 Column # = 2 Error Text = PL/SQL: SQL Statement ignored
Line # = 415 Column # = 13 Error Text = PLS-00307: слишком много описаний 'GETJOBID' соответствуют этому вызову
Line # = 415 Column # = 5 Error Text = PL/SQL: Item ignored
Line # = 417 Column # = 8 Error Text = PLS-00201: идентификатор 'SVJOBS.WHAT' должен быть объявлен
Line # = 417 Column # = 8 Error Text = PL/SQL: Item ignored
Line # = 429 Column # = 2 Error Text = PLS-00320: описание типа этого выражения незавершено или выполнено неверно
Line # = 429 Column # = 2 Error Text = PL/SQL: Statement ignored

и
View
SVTSHIPZONEINC
SVSHIPZONEINC
SVDEPOTRQSPEC
SVCLIENTDOCS
SVSPECSO
SVSPECNOPRICESO
SVSHOPGROUPFIFO
SVSPECSTATREP
С ошибкой
Line # = 0 Column # = 0 Error Text = ORA-00942: таблица или представление пользователя не существует
Никто не знает, как победить проблему.
20.09.2006 13:52
Mtirt
 
Ну насколько я понимаю, ты импортировал только схему SYS, точнее объекты, владельцем которых является SYS.
Убери fromuser и touser и попробуй еще раз тоже самое сделать.
20.09.2006 13:55
OlegON
 
А там же, кажется, где ты гранты брал, либо в соседней ветке, здесь, на форуме, kadr говорил о том, что у него на эту вьюху тоже гранты не дались, посмотри, может найдешь решение... А то и просто, дай на нее гранты сам, да и все... Я про SVJOBS говорил... Что касается фрагментации, пускай оптимайзера и не парься. Такие мучения с этим импортом/экспортом неоправданы в данном случае.
20.09.2006 13:57
Mtirt
 
SVJobs иногда после импорта пересоздавать приходится. Она не всегда создается почему-то...
20.09.2006 14:18
artyom
 
Ребята, простите! Батники я использовал другие

set nls_lang=american_america.cl8mswin1251
exp.exe userid=sys/qqq@db2000 FULL=Y feedback=10000 consistent=y compress=n file=db2000.dmp log=log_e.txt

set nls_lang=american_america.cl8mswin1251
imp.exe userid=sys/qqq@db2000 full=y feedback=10000 ignore=y commit=y file=db2000.dmp log=log_i.txt

Засорил понимаете ли рабочий стол всякими командными файлами.
20.09.2006 14:23
OlegON
 
На самом деле не столь важно... Есть у тебя эта SVJOBS ?
20.09.2006 14:51
artyom
 
Запись в DBA:
Schema: Supermag
View: SVSYSJOBS
Status: Valid
20.09.2006 14:54
OlegON
 
Error Text = PLS-00201: идентификатор 'SVJOBS' должен быть объявлен
чувствуешь разницу?
20.09.2006 14:54
kadr
 
вот текст вьюхи на версии 1.024.3, но не думаю что он сильно менялся м/у версиями
Код:
create or replace view svjobs as
select
      T.*,
        J.JOB JobId,
        case
                when nvl(J.Failures,0)=0 and nvl(J.Broken,'N')='N'
                      and (T.TimeLimitExceeded='0')
                     then '0'
  else '1'
  end IsBroken,
       Schedule.Unix2DOS(J.WHAT) What,
     J.LAST_DATE LastDate,
       J.NEXT_DATE NextDate,
       nvl2(J.THIS_DATE,'1','0') IsRunningNow,
 J.THIS_DATE RunSince,
       J.Interval SysInterval,
     decode(nvl(lower(J.Interval),'null'),'null','0','1')
                ScheduleEnabled
     from SVSysJobs J, SMControlTasks T
  where J.OurTaskID(+)=T.ID
20.09.2006 16:46
artyom
 
Пересоздал и с SCHEDULE-ом все в порядке. Но
SVTSHIPZONEINC
SVSHIPZONEINC
SVDEPOTRQSPEC
SVCLIENTDOCS
SVSPECSO
SVSPECNOPRICESO
SVSHOPGROUPFIFO
SVSPECSTATREP
попрежнему инвалидны. Придется пересоздать эти вьюхи?
20.09.2006 16:53
Mtirt
 
Перекомпилировать инвалидные объекты после создания SVJOBS пробовал?
20.09.2006 17:05
artyom
 
Перекомпилировать пробовал, попробую еще optimizer
20.09.2006 17:09
bob
 
Эти вьюхи остаьтся инвалидгыми после экспорта 8 в 8, но прекрасно компилятся SQL-навигатором под SUPERMAG'ом. Оптимайзером (предыдущих версий, по крайней мере) не перекомпиляются.
20.09.2006 17:12
OlegON
 
bob, по какой причине не компиляются, не замечал?
20.09.2006 17:35
bob
 
Что-то типа не хватает прав доступа. Под SYS'ом в SQL-навигаторе тоже не компилятся. Только под SUPERMAG'ом
20.09.2006 19:43
OlegON
 
Ну это я поправил... В 2.5 точно подобное что-то сделал. Переключается под супермага, если его объект.
26.09.2006 11:49
artyom
 
Компиляция с помощью optimizer2.5+ помогла! Спасибо.
27.09.2006 15:43
artyom
 
Интересно, а в ходе импорта табличные пространства могут создаваться сами? Или обязательно нужно создавать табличные пространства заранее?
27.09.2006 16:23
OlegON
 
Если посмотришь файл экспорта, то увидишь там команды на создание табличных пространств, тем не менее, я предпочитаю создавать их сам, как надо. Только не забывай давать квоту для supermag на эти табличные пространства.
28.09.2006 12:36
artyom
 
Создавать как надо - это значит делать их такими как в исходной базе или уменьшать размеры табличных пространств исходя из своботного места?
Вложения
Тип файла: rar ВРЕМЯ Microsoft Excel.rar (9.9 Кб, 24 просмотров)
Тип файла: rar ВРЕМЯ Microsoft Excel.rar (9.9 Кб, 23 просмотров)
28.09.2006 12:55
OlegON
 
Ни то, ни другое, я исхожу из того, какой у меня сервер и как удобнее это все расположить и как с точки зрения производительности, что куда бросить.
29.09.2006 08:47
artyom
 
Дело вот в чем: периодически возникающая проблема нехватки места например в табличном пространстве INDX заставила увеличить его размер до 6 Гб. Оptimizer показал что свободного места там 2.5 Гб. Перед импортом создаю INDX 4Гб и импортирую. Все нормально, размер базы стал на 2Гб меньше.
Имеет ли смысл производить такие действия?
29.09.2006 09:52
akonev
 
если это рабочая база - не имеет. все равно она будет расти постепенно. лучше оставить свободное место, чтобы оптимайзеру было где резвиться.
07.11.2006 06:07
vdm
 
Экспериментирую тут с переездом на win2003/oracle9
Через sm_upgrader.

Новую базу в 9 создал с параметрами по умолчанию, надо было под исходную подогнать, ну да ладно, переделаю.

При импорте:
1) На все CREATE TABLESPACE ругнулось
IMP-00003: ORACLE error 12913 encountered
ORA-12913: Cannot create dictionary managed tablespace

Оставить System - locally managed или есть смысл пересоздавать как dictionary managed ?

2) Мноого ошибок по части DBMS_STATS
IMP-00003: ORACLE error 6502 encountered
ORA-06502: PL/SQL: numeric or value error
и т.п., еще
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'MDSYS' does not exist
Игнорировать?

3) По всем представлениям и триггерам
IMP-00041: Warning: object created with compilation warnings

В конце
Import terminated successfully with warnings.

Оптимайзером /compile (ok), потом /optimize , но прервал на validate.
Запустил cм2000 - проверка структуры базы, несоответствия:

Цитата:
Колонка FVMAPREP.GOODSOWNER вместо размерности 22 имеет размерность 5.0
и т.п.
Колонка SUPERMAG_SESSIONS.PROCESS вместо размерности 9 имеет размерность 12
Колонка SVCASHCLIENT.CHECKNUM вместо размерности 22 имеет размерность 5.0
и т.п.
Колонка SVCASHDOCSTATNAME.HUMANNAME вместо типа CHAR имеет тип VARCHAR2
Не обязательная колонка SVDEPOTRQSPEC.JOBID присутствует как обязательная
Колонка SVDOCDEFROUNDMODE.OPCODE вместо размерности 22 имеет размерность 5.0
Не обязательная колонка SVDOCNOPRICECI.CREATEDAT присутствует как обязательная
Не обязательная колонка SVSPECNOPRICEWO.SPECITEM присутствует как обязательная
Колонка SVSPECSCALEBI.SPECITEM вместо размерности 22 имеет размерность 10.0
и т.п.
Плюс немножко отсутствующих ограничений.

В общем как быть ?
Кстати, версия СМ 1024sp5 - обновление для работоспособности на 9 обязательно или не в этом дело?
07.11.2006 08:38
OlegON
 
Где-то в процессе апгрейдов что-то слетало. Вряд ли это результат экспорта-импорта. Самое простое - вручную сделать так, как хочет проверка. Но в данном случае проверка показывает косвенные изменения вьюшек. Посмотри в SQL Navigator'е есть сравнение структуры двух баз, прогони им, заодно результирующий скрипт для синхронизации получишь, только внимательно посмотри, он не всегда 100% верен.

Стоп. То, что написал, оставлю другим, кто столкнется с аналогичным, но когда первая цифра будет правильной. У тебя, судя по всему, просто шаблон криво снялся. Но прогнать навигаторной проверкой по любому не помешает. Из опций только таблицы и колонки поставь. В остальном, кажется, можно и администратору доверять.
07.11.2006 09:59
vdm
 
olegon,
Ничего не понял *16
Что значит 'слетало в процессе апгрейдов' ?
Какая и где должна быть 'правильная первая цифра' ?
А шаблон - от С+, на рабочей восьмерочной базе расхождения с ним есть, но несущественные.
07.11.2006 10:14
OlegON
 
Т.е. по восьмерочной базе ругательств на размерность 22 нет? Сделай проще, чтобы не морочить голову - создай 9кой чистоую базу, проапгрейдь ее до своей версии и сделай шаблон. С ним и сравнивай.


Опции темы


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

 

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