[ОТВЕТИТЬ]
24.10.2013 08:02
VitorJ
 
Доброго времени суток.
Решил сделать Exp/Imp БД
Все как положено, все по инструкции.
Экспорт прошел нормально, импорт вроде без ошибок (не уверен изучаю лог). Гранды раздал, но при перекомпиляции процедур вылазят 35 ошибок.
Код:
OBJECTS WITH ERRORS
-------------------
                 35

DOC> The following query reports the number of errors caught during
DOC> recompilation. If this number is non-zero, please query the error
DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
DOC> are due to misconfiguration or resource constraints that must be
DOC> fixed before objects can compile successfully.
DOC>#

ERRORS DURING RECOMPILATION
---------------------------
                          0
вот результат запроса по части инвалидов.
Код:
OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.ACCOUNTS
PACKAGE BODY        INVALID

SUPERMAG.ACCOUNTS
PACKAGE             INVALID

SUPERMAG.FIXREM_PRECALC
PACKAGE BODY        INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.FVMAPREP
VIEW                INVALID

SUPERMAG.FVMAPREPOPEN
VIEW                INVALID

SUPERMAG.FVMAPREPOPENWITHBR
VIEW                INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.FVMAPREPWITHBR
VIEW                INVALID

SUPERMAG.LASTINC
PACKAGE BODY        INVALID

SUPERMAG.SMEXPORTACCOUNTS
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTCARDCLASS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCARDPROPERTIES
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCARDS
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTCARDTAXES
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCASHCHECKS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCASHCHECKSCREDCARD
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTCASHCHECKSDISCCARD
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCASHIERS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCLICLASS
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTCLIENTS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCLIENTSOLAP
PROCEDURE           INVALID

SUPERMAG.SMEXPORTCREDCARDTYPES
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTDOCSCREDCARDOLAP
PROCEDURE           INVALID

SUPERMAG.SMEXPORTDOCSOLAP
PROCEDURE           INVALID

SUPERMAG.SMEXPORTFINISH
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTOPER
PROCEDURE           INVALID

SUPERMAG.SMEXPORTOPEROLAP
PROCEDURE           INVALID

SUPERMAG.SMEXPORTPRODACCOUNTS
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTSHOPCLASS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTSHOPS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTSTART
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SMEXPORTSTOREUNITS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTSUPCLASS
PROCEDURE           INVALID

SUPERMAG.SMEXPORTTAXGRP
PROCEDURE           INVALID


OWNER||'.'||OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE         STATUS
------------------- -------
SUPERMAG.SVAREALCOSTPRICE
VIEW                INVALID

SUPERMAG.SVAREALCOSTPRICEOPENEDPERIOD
VIEW                INVALID


35 rows selected.
Пытаюсь скомпилировать ручками не выходит.

Код:
SQL> ALTER PACKAGE SUPERMAG.ACCOUNTS COMPILE BODY;

Warning: Package Body altered with compilation errors.
Подскажите что еще можно попробовать?
24.10.2013 08:18
OlegON
 
Обычно принято давать ссылку на инструкцию и клясться, что в логе экспорта/импорта нет никаких ошибок. Гранты раздавал?
24.10.2013 08:18
Mtirt
 
Если последовательно, несколько раз компиляцию запускать список инвалидов не уменьшается?
24.10.2013 09:10
whitewizard
 
Гранты не все выдал. Или выдал, но не из под того пользователя.
24.10.2013 09:16
VitorJ
 
Цитата:
Mtirt Если последовательно, несколько раз компиляцию запускать список инвалидов не уменьшается?
Добрый день!
Запускал раз так 20, не уменьшается
24.10.2013 09:17
VitorJ
 
Цитата:
whitewizard Гранты не все выдал. Или выдал, но не из под того пользователя.
Насколько я помню Гранты раздаются из под SYS, так собственно и делалось
24.10.2013 09:18
Mtirt
 
А компиляцию под каким пользователем делаешь?
24.10.2013 09:23
VitorJ
 
Цитата:
OlegON Обычно принято давать ссылку на инструкцию и клясться, что в логе экспорта/импорта нет никаких ошибок. Гранты раздавал?
Гранты раздавал. Клясться пока не готов, так как занимаюсь изучением лога импорта.log_imp.7z

Инструкция от СервисПлюса export_import.txt с другими базами проблем не возникало
24.10.2013 10:07
OlegON
 
Инструкция кривовата, тогда уж из FAQ лучше.
24.10.2013 10:13
whitewizard
 
Мало грантов чот.
24.10.2013 10:59
VitorJ
 
Цитата:
OlegON Инструкция кривовата, тогда уж из FAQ лучше.
Вечером сегодня сделаю и отпишусь.
24.10.2013 13:20
overlord
 
Проверь количество объектов в загруженной базе и исходной (таблицы, вьюхи).
Кстати, версия Оракла какая, из которой экспорт делал?
28.10.2013 17:00
VitorJ
 
Цитата:
overlord Проверь количество объектов в загруженной базе и исходной (таблицы, вьюхи).
Кстати, версия Оракла какая, из которой экспорт делал?
Версия Oracle 10.0.2.4, экспорт делал с этой же версии.
Самое интересное, что БД работает нормально, инвалидов нет. Выгружается все нормально, но вот с импортом беда.
эти 35 инвалидов уже достали, попробовал все что на форуме нашел. Видать что то не так делаю(
БД работает нормально, косяков не наблюдается. Но при попытке экспорта\импорта вылазит.
Развернул тестовый сервер буду на нем мучат, уже просто интересно в чем проблема.
Есть идеи как отловить на каком месте спотыкается импорт?
28.10.2013 17:37
whitewizard
 
Когда я у себя выловил эти же 35 ошибок, то дал гранты
Цитата:
GRANT SELECT ON SYS.V_$INSTANCE TO SUPERMAG;
GRANT SELECT ON SYS.DBA_ROLES TO SUPERMAG;
GRANT SELECT ON SYS.V_$SESSION TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_OUTPUT TO SUPERMAG;
GRANT SELECT ON SYS.DBA_CONSTRAINTS TO SUPERMAG WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_TAB_COLUMNS TO SUPERMAG WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_CONS_COLUMNS TO SUPERMAG WITH GRANT OPTION;
GRANT ADMINISTER DATABASE TRIGGER TO SUPERMAG;
GRANT ALTER ANY ROLE TO SUPERMAG;
GRANT ALTER USER TO SUPERMAG WITH ADMIN OPTION;
GRANT ANALYZE ANY TO SUPERMAG;
GRANT CREATE DATABASE LINK TO SUPERMAG;
GRANT CREATE LIBRARY TO SUPERMAG;
GRANT CREATE PUBLIC SYNONYM TO SUPERMAG;
GRANT CREATE ROLE TO SUPERMAG WITH ADMIN OPTION;
GRANT CREATE SNAPSHOT TO SUPERMAG;
GRANT CREATE TABLE TO SUPERMAG;
GRANT CREATE USER TO SUPERMAG WITH ADMIN OPTION;
GRANT DROP ANY ROLE TO SUPERMAG WITH ADMIN OPTION;
GRANT DROP PUBLIC SYNONYM TO SUPERMAG;
GRANT DROP USER TO SUPERMAG WITH ADMIN OPTION;
GRANT GRANT ANY ROLE TO SUPERMAG WITH ADMIN OPTION;
GRANT SELECT ON DBA_USERS TO SUPERMAG WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_JOBS TO SUPERMAG WITH GRANT OPTION;
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;
GRANT SELECT ANY TABLE TO SUPERMAG;
GRANT SELECT ON DBA_USERS TO PUBLIC;
GRANT SELECT ON "SYS"."V_$INSTANCE" TO "SUPERMAG";
После чего
Код:
@?/rdbms/admin/utlrp
а потом
Цитата:
prompt ------------ compile views -----------;
begin
for c in (select owner,object_name name from dba_objects
where object_type = 'VIEW' and status='INVALID')
Loop
begin
execute immediate
'alter VIEW '||c.owner||'.' || c.name || ' compile';
exception when others then null;
end;
end loop;
end;
/
prompt ------------ compile matviews -----------;
begin
for c in (select owner,object_name name from dba_objects
where object_type = 'MATERIALIZED VIEW' and status='INVALID')
Loop
begin
execute immediate
'alter MATERIALIZED VIEW '||c.owner||'.' || c.name || ' compile';
exception when others then null;
end;
end loop;
end;
/
prompt ----- compile functions vs procs -----;
begin
for c in (select owner,object_type type,object_name name
from dba_objects
where object_type in ('FUNCTION','PROCEDURE')
and status='INVALID')
Loop
begin
execute immediate
'alter ' || c.type || ' '||c.owner||'.'|| c.name || ' compile';
exception when others then null;
end;
end loop;
end;
/
prompt -------------- compile packages ---------------;
begin
for c in (select owner,object_type type, object_name name from all_objects
where object_type in ('PACKAGE','PACKAGE BODY')
and status='INVALID')
Loop
begin
if (c.type='PACKAGE') then
execute immediate
'alter PACKAGE ' ||c.owner||'.'|| c.name || ' compile PACKAGE';
else
execute immediate
'alter PACKAGE ' ||c.owner||'.'|| c.name || ' compile BODY';
end if;
exception when others then null;
end;
end loop;
end;
/
prompt ----- compile triggers -----;
begin
for c in (select owner,object_type type,object_name name
from dba_objects
where object_type = 'TRIGGER'
and status='INVALID')
Loop
begin
execute immediate
'alter ' || c.type || ' '||c.owner||'.' || c.name || ' compile';
exception when others then null;
end;
end loop;
end;
/
Соответственно, проверяем правильность компиляции (в случае сбоя никаких ошибок в скриптах выше выводиться не будет)
Цитата:
prompt ---------- invalid views -----------;
select 'VIEW' type,substr(object_name,1,90) name from dba_objects
where object_type = 'VIEW' and status='INVALID'
ORDER BY 2;
prompt ---------- invalid functions -----------------;
select 'FUNCTION' type,substr(object_name,1,90) name from dba_objects
where object_type = 'FUNCTION' and status='INVALID'
ORDER BY 2;
prompt ----------invalid procs ---------------;
select 'PROCEDURE' type,substr(object_name,1,90) name from dba_objects
where object_type = 'PROCEDURE' and status='INVALID'
ORDER BY 2;
prompt ----------- invalid packages -----------------;
select substr(object_type,1,13) type,substr(object_name,1,85) name from dba_objects
where object_type in ('PACKAGE','PACKAGE BODY') and status='INVALID'
ORDER BY 2,1;
prompt ----------- invalid triggers -----------------;
select 'TRIGGER' type,substr(object_name,1,90) name from dba_objects
where object_type = 'TRIGGER' and status='INVALID'
ORDER BY 2;
01.11.2013 05:44
VitorJ
 
Сделал, все тоже самое.
пытаюсь компилировать в ручную например package Bodies ACCOUNTS
имеем
Код:
10:40:31  Start Compiling 1 object(s) ...
10:40:31  Executing ALTER PACKAGE supermag.accounts COMPILE BODY ...
10:40:31  [1:14] PLS-00905: неприемлемый объект SUPERMAG.ACCOUNTS
10:40:31  [1:14] PLS-00304: невозможно компилировать тело 'ACCOUNTS' без его спецификации
10:40:31  [0:0] PL/SQL: Compilation unit analysis terminated
10:40:31  Compilation complete - 3 error(s) found
10:40:31  End Compiling 1 object(s)
или

FIXREM_PRECALC

Код:
10:43:59  Start Compiling 1 object(s) ...
10:43:59  Executing ALTER PACKAGE supermag.fixrem_precalc COMPILE BODY ...
10:43:59  [91:14] PL/SQL: ORA-04063: view "SUPERMAG.FVMAPREP" имеет ошибки
10:43:59  [87:5] PL/SQL: SQL Statement ignored
10:43:59  [95:12] PLS-00364: недопустимое использование циклической индексной переменной 'DOC'
10:43:59  [95:9] PL/SQL: Statement ignored
10:43:59  Compilation complete - 4 error(s) found
10:43:59  End Compiling 1 object(s)
Опции темы


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

 

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