메뉴 건너뛰기

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 415
33 Python 을 이용해 파일 업로드 해 보기 [1] file Talros 2023.04.19 994
32 수집된 통계가 바로 반영되지 않고 원할 때 반영하도록 하는 방식 명품관 2023.04.04 675
31 ORA-28014: Cannot Drop Administrative Users 에러 현상 [1] 명품관 2023.03.27 1057
30 ORA-3136 inbound connection time out & JDBC Io exception: Connection reset [1] Talros 2023.02.24 1324
29 default 값을 포함한 컬럼 추가시 오라클 버전별 개선 사항 [1] 명품관 2023.01.17 1173
28 mbr(multi block read) 과 sbr(single block read) 사이에 과연 어떤 방식을 선택해야 할까요? [1] 명품관 2022.09.16 722
27 Schema password 재 사용 불가능 하게 하기 [1] Talros 2022.01.26 1965
26 Pga 메모리 설정관련 내용 [1] 우뽕 2021.03.05 2308
25 DB option Enable / Disable 정리 방법 - Mos 참고 file 우뽕 2021.01.31 1388
» RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시 명품관 2021.01.12 1419
23 OS 터미널 접속 없이 오라클 접속을 통해 OS CPU 사용율 모니터링 하기 [3] file 명품관 2020.12.22 1120
22 SQL Plan Management(SPM) - 3 Manual Plan Capture 명품관 2020.06.01 1045
21 SQL Plan Management(SPM) - 2 DBMS_SPM.CONFIG로 필터링 file 명품관 2020.03.26 923
20 SQL Plan Management(SPM) - 1 파라미터의 기능 확인 명품관 2020.03.19 1420
19 [12cR2 이상] 오브젝트 이름 30자이상 사용 가능 우뽕 2020.01.22 7940
18 Alert log 에서 갑자기 패치 정보가 나타나는 현상 Talros 2019.09.23 1979
17 External Table 기능을 사용해 파일 읽기 명품관 2017.04.05 1083
16 DBMS_SCHEDULER을 통해 OS 레벨(EXTERNAL)의 shell 수행하기 명품관 2017.04.05 5917
15 오라클 패치 정보를 조회할 수 있는 뷰 DBA_REGISTRY_SQLPATCH 명품관 2017.03.02 5840
위로