메뉴 건너뛰기

Korea Oracle User Group

Admin

RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시

 

아래의 에러가 alert 로그에 남는 경우

 

1
2
Errors in file /oracle/db/diag/rdbms/test/TESTA1/trace/TESTA1_reco_10293.trc:
ORA-02019: connection description for remote database not found
cs

 

일단 트레이스 파일을 확인해 보자

 

1
2
3
*** 2021-01-05 04:55:13.876
ERROR, tran=65.23.149085435, session#=1, ose=0:
ORA-02019: connection description for remote database not found
cs

 

위와 같이 RECO 프로세스가 remote database를 찾지 못하는 이슈이다.

 

삭제된 데이터베이스 링크로 in-doubt 트랜잭션이 존재하여 발생하는 에러이며

in-doubt 트랜잭션을 정리할 때까지 주기적으로 alert 로그에 내용이 발생하게 된다.

아래는 이를 처리하는 방법이다.

 

먼저 in-doubt 트랜잭션에 대한 정보를 확인하자.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SQL> SELECT LOCAL_TRAN_ID, STATE FROM DBA_2PC_PENDING;
 
LOCAL_TRAN_ID          STATE
---------------------- ----------------
65.23.149085435        collecting
 
1 row selected.
 
SQL> SELECT LOCAL_TRAN_ID, IN_OUT, DATABASE FROM DBA_2PC_NEIGHBORS;
 
LOCAL_TRAN_ID          IN_ DATABASE
---------------------- --- ------------
65.23.149085435        in
65.23.149085435        out DL_SMTHV
 
2 rows selected.
cs

 

위와 같이 transaction id 가 65.23.149085435 인 트랜잭션이 존재한다.

딕셔너리 테이블에서 정보를 수집중인(collecting) pending 트랜잭션을 정리하기 위해서는 

dbms_transaction.purge_lost_db_entry 프로시저를 통해 purge 시켜줘야 한다.

또 반드시 sys 계정에서 purge 작업을 해야 하며 문장마다 commit 처리를 해 줘야 한다.

 

1
2
3
4
5
6
7
SQL> exec dbms_transaction.purge_lost_db_entry('65.23.149085435');
 
PL/SQL procedure successfully completed.
 
SQL> commit;
 
Commit complete.
cs

 

다시 트랜잭션 정보를 확인해 보자

 

1
2
3
4
5
6
7
SQL> SELECT LOCAL_TRAN_ID, STATE FROM DBA_2PC_PENDING;
 
no rows selected
 
SQL> SELECT LOCAL_TRAN_ID, IN_OUT, DATABASE FROM DBA_2PC_NEIGHBORS;
 
no rows selected
cs

 

위와 같이 트랜잭션이 정리된 것을 확인할 수 있다.

 

 

번호 제목 글쓴이 날짜 조회 수
34 Windows 접속 에러 ORA-12638 [1] file Talros 2024.02.14 97
33 Result Cache(oracle11g NF) [6] ocm10gr2 2016.03.14 263
32 수집된 통계가 바로 반영되지 않고 원할 때 반영하도록 하는 방식 명품관 2023.04.04 268
31 mbr(multi block read) 과 sbr(single block read) 사이에 과연 어떤 방식을 선택해야 할까요? [1] 명품관 2022.09.16 340
30 ORA-28014: Cannot Drop Administrative Users 에러 현상 [1] 명품관 2023.03.27 412
29 default 값을 포함한 컬럼 추가시 오라클 버전별 개선 사항 [1] 명품관 2023.01.17 534
28 Python 을 이용해 파일 업로드 해 보기 [1] file Talros 2023.04.19 577
27 SQL Plan Management(SPM) - 2 DBMS_SPM.CONFIG로 필터링 file 명품관 2020.03.26 589
26 SQL Plan Management(SPM) - 3 Manual Plan Capture 명품관 2020.06.01 650
25 ORA-3136 inbound connection time out & JDBC Io exception: Connection reset [1] Talros 2023.02.24 685
24 OS 터미널 접속 없이 오라클 접속을 통해 OS CPU 사용율 모니터링 하기 [3] file 명품관 2020.12.22 813
23 Oracle VMSTAT을 이용한 CPU 사용량 활용법 에밀리오 2016.07.14 891
22 DB에 생성된 ROLE의 생성 정보 확인 [2] 명품관 2016.05.31 913
21 External Table 기능을 사용해 파일 읽기 명품관 2017.04.05 962
20 SQL Plan Management(SPM) - 1 파라미터의 기능 확인 명품관 2020.03.19 986
» RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시 명품관 2021.01.12 997
18 Active Session History를 이용한 TOP SQL 분석 (GV$ACTIVE_SESSION_HISTORY) 에밀리오 2016.07.12 1195
17 DB option Enable / Disable 정리 방법 - Mos 참고 file 우뽕 2021.01.31 1211
16 Schema password 재 사용 불가능 하게 하기 [1] Talros 2022.01.26 1287
15 Block Cleanout(블럭 클린아웃) 명품관 2016.09.23 1489
위로