2016-10-19 1 views
3

Ubuntu14.04의 도킹 된 컨테이너에 스키마를 가져 오려고합니다. 이 컨테이너는 Oracle XE 11g가 포함 된 this image을 기반으로합니다. 경고 로그에는 이에 대한 내용이 표시되지 않고 impdp이 생성 한 추적에는 마지막으로 작성된 테이블 스크립트 (각 실행마다 다름) 만 표시됩니다.오류로 인해 Oracle Data Pump 가져 오기에 실패한 문제를 진단하는 방법은 무엇입니까?

내가 사용하는 명령은 다음과 같습니다

/u01/app/oracle/product/11.2.0/xe/bin/impdp myshema/[email protected]"(DESCRIPTION\=(ADDRESS_LIST\=(ADDRESS\=(PROTOCOL\=TCP)(HOST\=db)(PORT\=1521)))(CONNECT_DATA\=(SID\=XE)))" PARFILE=/myschema/myschema.par; 

잠시 동안 가져 오기 진행 한 후 일부 반 임의의 시점에서 "오라클 오류 1089"와 함께 실패합니다. 그것은 테이블 생성을 통해 중간에 있습니다 (매번 다른 테이블에서 반복되는 실행 종료). 다른 세션에서 Oracle 인스턴스에 연결하면이 장애가 발생한 후에도 인스턴스가 여전히 작동 중임을 알 수 있습니다.

Import: Release 11.2.0.2.0 - Production on Tue Oct 18 15:07:22 2016 

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 

Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production 
Master table "MYSCHEMA"."SYS_SQL_FILE_SCHEMA_01" successfully loaded/unloaded 
Starting "MYSCHEMA"."SYS_SQL_FILE_SCHEMA_01": MYSCHEMA/********@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521)))(CONNECT_DATA=(SID=XE)))D\=XE))) PARFILE=/MYSCHEMA/MYSCHEMA.par 
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT 
Processing object type SCHEMA_EXPORT/ROLE_GRANT 
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE 
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 
Processing object type SCHEMA_EXPORT/SYNONYM/SYNONYM 
Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC 
Processing object type SCHEMA_EXPORT/DB_LINK 
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE 
Processing object type SCHEMA_EXPORT/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT 
Processing object type SCHEMA_EXPORT/TABLE/TABLE 

UDI-01089: operation generated ORACLE error 1089 
ORA-01089: immediate shutdown in progress - no operations are permitted 
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3326 
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4551 
ORA-06512: at line 1 
Process ID: 242 
Session ID: 23 Serial number: 5 

내 매개 변수 파일은 다음과 같습니다

SQLFILE=imp_dir:myschema_import.sql 
SCHEMAS=MYSCHEMA 

# ignore storage attributes for tables & use defaults 
TRANSFORM=SEGMENT_ATTRIBUTES:n 
DIRECTORY=imp_dir 
DUMPFILE=MYSCHEMA_META.DMP 

# set this for some extra tracing: 
TRACE=1FF0300 

EXCLUDE=TABLESPACE_QUOTA 
EXCLUDE=MATERIALIZED_VIEW_LOG 
EXCLUDE=SCHEMA_EXPORT/USER 
EXCLUDE=SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 

REMAP_TABLESPACE=INDEX1:users 
REMAP_TABLESPACE=INDEX2:users 
REMAP_TABLESPACE=DATA1:users 
REMAP_TABLESPACE=DATA2:users 

그냥 완성도, 경고 로그에서 유일하게 부적당 한 라인은 다음과 같습니다

Wed Oct 19 11:56:26 2016 
Starting ORACLE instance (normal) 
Errors in file /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_70.trc: 
ORA-27167: Attempt to determine if Oracle binary image is stored on remote server failed 
ORA-27300: OS system dependent operation:parse_df failed with status: 2 
ORA-27301: OS failure message: No such file or directory 
ORA-27302: failure occurred at: parse failed 
ORA-27303: additional information: Filesystem  1K-blocks  Used Available Use% Mounted on 
none   101799456 42184988 55159488 44%/
Image consistency checking encountered an error, checking disabled 
LICENSE_MAX_SESSION = 0 
LICENSE_SESSIONS_WARNING = 0 
Shared memory segment for instance monitoring created 
Picked latch-free SCN scheme 3 
Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST 
Autotune of undo retention is turned on. 
IMODE=BR 
ILAT =61 
LICENSE_MAX_USERS = 0 
SYS auditing is disabled 
Starting up: 
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production. 
Using parameter settings in client-side pfile /u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora on machine 11 
2c1560d28e 

이 그것으로, 비록 red herring 것 같다 데이터베이스가 시작될 때마다 (원래의 도커 이미지에서 오른쪽으로) 발생하며 다른 것에 영향을 미치지 않습니다.

가져 오기 관련 추적 로그가 있습니다 : XE_dm00_232.trc. 끝내기까지는 (내 견적에 의해) 드문 것 같습니다.

*** 2016-10-19 11:58:57.861 
KUPC:11:58:57.860: Before Listen: consumer = MCP 
KUPC:11:58:57.861: from queue = SYS.KUPC$C_1_20161019115822 

*** 2016-10-19 11:58:58.916 
KUPM:11:58:58.916: Client count is: 1 
KUPM:11:58:58.916: In check_workers... 
KUPM:11:58:58.916: Live worker count is: 1 
KUPM:11:58:58.916: In set_longops 
KUPM:11:58:58.938: Work so far is: 0 
KUPM:11:58:58.938: Checking for resumable waits 
KUPC:11:58:59.051: Before Listen: consumer = MCP 
KUPC:11:58:59.051: from queue = SYS.KUPC$C_1_20161019115822 

*** 2016-10-19 11:59:04.048 
KUPC:11:59:04.048: Before Listen: consumer = MCP 
KUPC:11:59:04.049: from queue = SYS.KUPC$C_1_20161019115822 

*** 2016-10-19 11:59:08.942 
KUPC:11:59:08.942: Error Code: -1089 
KUPC:11:59:08.942: Error Text: dequeueMessage ORA-01089: immediate shutdown in progress - no operations are permitted 
KUPM:11:59:08.942: Error detected by MCP 
KUPC:11:59:09.083: Before ENQ: Sending Type: 2022 ID: 
KUPC:11:59:09.083: DG,KUPC$S_1_20161019115822,MCP, ,22,Y 
kwqberlst rqan->lascn_kwqiia > 0 block 
kwqberlst rqan->lascn_kwqiia 22 
kwqberlst ascn 355628 lascn 22 
KUPM:11:59:09.194: ORA-39097: Data Pump job encountered unexpected error -1089 
KUPC:11:59:09.230: Before ENQ: Sending Type: 2022 ID: 
KUPC:11:59:09.230: DG,KUPC$S_1_20161019115822,MCP, ,23,Y 
kwqberlst rqan->lascn_kwqiia > 0 block 
kwqberlst rqan->lascn_kwqiia 22 
kwqberlst ascn 355628 lascn 22 
KUPM:11:59:09.231: ORA-39065: unexpected master process exception in MAIN 
KUPM:11:59:09.231: ORA-01089: immediate shutdown in progress - no operations are permitted 
KUPM:11:59:09.231:  ORA-06512: at "SYS.KUPC$QUEUE_INT", line 572 
KUPM:11:59:09.231:  ORA-06512: at "SYS.KUPM$MCP", line 1072 
KUPM:11:59:09.231:  ORA-06512: at "SYS.KUPM$MCP", line 857 
KUPM:11:59:09.231:  ----- PL/SQL Call Stack ----- 
KUPM:11:59:09.231:  object  line object 
KUPM:11:59:09.231:  handle number name 
KUPM:11:59:09.231:  0x7b1dd540  15140 package body SYS.KUPM$MCP 
KUPM:11:59:09.231:  0x7b1dd540  994 package body SYS.KUPM$MCP 
KUPM:11:59:09.231:  0x7b3bbb48   2 anonymous block 
KUPM:11:59:09.231: In RESPOND_TO_START 
KUPM:11:59:09.231: Killing workers on fatal exception... 
KUPM:11:59:09.231: In check_workers... 
KUPM:11:59:09.231: Live worker count is: 1 
KUPF:11:59:09.233: In FILE_REQUEST_NAK... 
KUPF:11:59:09.233: ...sent 0 exit messages 

*** 2016-10-19 11:59:11.232 
KUPC:11:59:11.232: Before Listen: consumer = MCP 
KUPC:11:59:11.232: from queue = SYS.KUPC$C_1_20161019115822 
KUPP:11:59:11.233: Entering kuppkilw 
KUPP:11:59:11.233: mso = 0x7a559c60, Error = 39119 
KUPP:11:59:11.233: Called ksvhdlshut to kill all workers for this job 
KUPP:11:59:11.233: Exiting kuppkilw 
KUPV:11:59:11.234: Update request for job: MYSCHEMA.SYS_IMPORT_SCHEMA_01, func: 1 
KUPP:11:59:11.272: Action = 1, mso = 0x7a559c60 
KUPP:11:59:11.281: Entering kuppkilw 
KUPP:11:59:11.281: mso = 0x7a559c60, Error = 31673 
KUPP:11:59:11.282: Called ksvhdlshut to kill all workers for this job 
KUPP:11:59:11.282: Exiting kuppkilw 
[email protected]:/u01/app/oracle/diag/rdbms/xe/XE/trace# 
+0

내 대답을 삭제했습니다. 도움이되지 않았습니다. 데이터베이스가 열려 있고 가져 오기가 부분적으로 성공합니다 ('MYSCHEMA'에있는 1909 개의 개체). 그러나 여전히 UDI-01089로 중단됩니다. 나는 길을 잃었다. –

+0

고마워, 마틴. 또한 가져온 'select * from '을 가져올 수 있으며 성공적으로 0 행을 반환합니다 (가져 오기에는 스키마 만 포함 - 데이터 없음). – Gerrat

+0

가져 오기 매개 변수 파일에'TABLE_EXISTS_ACTION = SKIP'을 추가하고 성공적으로 완료 될 때까지 가져 오기를 다시 시작 하시겠습니까? 그것은 그것을 설명하지 않지만 그것은 당신의 즉각적인 문제를 해결할 수 있습니다 (지금은 ...). –

답변

0

수동으로 가져 오기를 실행하면 (때로는) 일 것을 알아 차리지 후, 내가 추가 지연을 추가하여 문제를 해결 얻을 수 있습니다 실현 : 불행하게도 나를 위해,이 정보는 1089 오류보다 정말 더 이상 도움이되지 않습니다 이후 데이터베이스가 이미 "OPEN"입니다.

30 초 지연이 (다른 에러) 생성 :

UDI-12528: operation generated ORACLE error 12528 
ORA-12528: TNS:listener: all appropriate instances are blocking new connections 

그리고 60 초 지연 오기 성공적 이행시킨다. 데이터베이스가 열린 후에도 not-quite-ready 데이터베이스에 뭔가있는 것처럼 보입니다.

이 문제는 해결되었지만 더 나은 설명 또는 데이터베이스가 이 될 때까지 기다리는 마법적이고 임의의 지연을 포함하지 않는 대체 솔루션을 선호합니다..

관련 문제