...
Code Block |
---|
...
. . exported "AIS_NET"."SS_JOB_LOGS" 635.2 MB 1550063 rows
. . exported "AIS_NET"."SD_PROCESSING_REQUESTS_T" 563.8 MB 7204 rows
. . exported "AIS_NET"."SD_MV_DOCUMENTS" 479.7 MB 3247473 rows
^C
Export> kill_job
Are you sure you wish to stop this job ([yes]/no): yes |
Note |
---|
title | Возможная ошибка при импорте дампа |
---|
|
Импорт дампа может завершиться следующей ошибкой: |
Code Block |
---|
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SP2-0734: unknown command beginning "-- ======..." - rest of line ignored.
DECLARE
*
ERROR at line 1:
ORA-04063: package body "AIS_NET.SS_IMP_DUMP_PKG" has errors
ORA-06508: PL/SQL: could not find program unit being called:
"AIS_NET.SS_IMP_DUMP_PKG"
ORA-06512: at line 3
ORA-06512: at line 16
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options |
В таком случае необходимо проверить выполнилась ли первая часть импорта, а именно: impdp. Если с этим все хорошо, то скорее всего проблема с синонимами в исходных пакетах.
Проверить это можно в net_Imp_Dump.sql той версии Гидры, дамп которой импортировался. Проблемная часть может выглядеть следующим образом:
Code Block |
---|
PROCEDURE RESET_JOB_STATES
IS
BEGIN
UPDATE SS_JOBS
SET N_JOB_STATE_ID = CONST.JOB_STATE_Waiting
WHERE N_JOB_STATE_ID IN (CONST.JOB_STATE_Running, CONST.JOB_STATE_ToStart)
AND C_FL_TEMPLATE = 'N'
AND C_ACTIVE = 'Y';
END RESET_JOB_STATES;
|
Ее необходимо исправить следующим образом (Заменить CONST на SS_CONTSTANTS_PKG_S)
Code Block |
---|
PROCEDURE RESET_JOB_STATES
IS
BEGIN
UPDATE SS_JOBS
SET N_JOB_STATE_ID = SS_CONTSTANTS_PKG_S.JOB_STATE_Waiting
WHERE N_JOB_STATE_ID IN (SS_CONTSTANTS_PKG_S.JOB_STATE_Running, SS_CONTSTANTS_PKG_S.JOB_STATE_ToStart)
AND C_FL_TEMPLATE = 'N'
AND C_ACTIVE = 'Y';
END RESET_JOB_STATES; |
После этого прогоняем исправленный пакет на БД, на которой импортировался дамп. Сделать это можно прогнав этот пакет в SQL Developer, или создав файл net_Imp_Dump.sql с исправленным скриптом, после чего прогнать его под Oracle:
Code Block |
---|
|
#Использовать вместо hydra2 наименование того инстанса, на котором импортировался дамп
sudo -u oracle -i sqlplus ais_net@hydra2 @net_Imp_Dump.sql |
После этого осталось завершить работу используемого ранее dump.sh, для этого необходимо прогнать следующе SQL скрипты:
Code Block |
---|
|
#Использовать вместо hydra2 наименование того инстанса, на котором импортировался дамп
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Alter_Dump.sql;
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Activate_After_Logon_Trigger.sql
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Remove_Job_Queue_Processes.sql
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/ReInit_Consts.sql
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Setup_Grants.sql
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Unset_Prom_DB_Flag.sql
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Drop_Deny_Logon_Trigger.sql
sudo -u oracle -i sqlplus ais_net@hydra2 @/opt/hydra/oracle/sql/Activate_Before_DDL_Trigger.sql |
Ранее эта проблема возникала в AIS-3790 и AIS-6293, на проверку этого пакета создана внутренняя заявка:
Jira |
---|
server | JIRA |
---|
serverId | 7e385121-fe81-3ba6-a338-f18d15a6b63a |
---|
key | AIS-8010 |
---|
|