본문 바로가기
728x90
반응형

Oracle25

[ORACLE] ORA-03113 : Merge 사용 시 에러 발생 ORA-03113 : 통신 채널에 EOF가 있습니다. ORA-03113 : end-of-file on communication channel 발생 원인 일반적으론 DB서버와의 통신이 끊겼을 때 발생한다고한다. 참고 : https://docs.oracle.com/cd/E11882_01/server.112/e17766/e2100.htm#sthref1271 나의 경우엔 위 내용과는 무관했지만 해당 로그가 남았다. 원인은 CLOB + Merge문에 있었다. 테이블끼리 관계로 Merge하지 않고, 파라미터로 값을 넣어 Merge문의 Insert/Update 쿼리를 작성하였는데, CLOB에 저장될 때 파라미터의 데이터 길이가 너무 길어서 발생하였다. 일반적인 INSERT/UPDATE문에선 저장 시 문제가 없었는데 .. 2022. 4. 20.
[Oracle] 테이블 생성 시간/정보 확인하기 테이블 생성 시간/정보 확인하기 프로세스 추적을 위해 테이블 생성 시간/정보를 확인해 처리할 수 있었습니다. 사용한 쿼리를 기록합니다. SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND OBJECT_NAME = '테이블명'; 2022. 3. 26.
[Oracle] 시퀀스 채번 증가 이상 - Cache 오라클 시퀀스 NEXTVAL(채번) 시 증가 값 이상할 경우 신규 테이블의 데이터 저장 모니터링 중 데이터에 저장되는 시퀀스의 값이 1씩 정상적으로 증가하지 않았습니다. 개발DB에서 테스트할 때는 정상적으로 1씩 증가함을 확인하였는데, 운영DB에서는 다르게 동작하고 있었던 것인데 이유는 아래와 같습니다. 발생 원인 1. 개발환경에서는 시퀀스 생성 시 캐시(Cache)를 nocache로 지정하여 생성 후 테스트를 하였습니다. 2. 운영환경에서는 DBA가 시퀀스 생성 시 시퀀스 캐시를 20으로 지정하여 생성하였습니다. 그렇다면 DBA는 시퀀스 캐시를 왜 지정해 주었고, 시퀀스 캐시가 하는 역할은 무엇일까? 간단히 정리하면 속도를 위해 사용합니다. 시퀀스 채번을 요청할 때마다 데이터 사전에 접근하는 게 아니라.. 2022. 1. 29.
[Oracle] PL/SQL 프로시저 내 테이블 권한 문제 권한 관리를 위해 일반적으로 ROLE을 사용하는 방법이 있고, 사용자에게 직접 권한을 부여하는 방법이 존재한다. 두 방법은 일반적으로 사용할 때는 문제가 되지 않지만, PL/SQL 에서 사용할 때는 차이점을 보인다. 차이점 가장 큰 차이점은 PL/SQL 사용 시 나타난다. (프로시저 등) 간단히 말해 PL/SQL, 프로시저 내에서 테이블을 사용하기 위해서는 사용자에게 직접 권한을 부여해야 한다. PL/SQL 사용 시 해당 테이블에 대한 권한을 ROLE이 아닌 사용자에게 직접 부여하자. 신규 프로시저, 신규 테이블들 조합으로 개발을 하다가 만난 케이스이다. A 유저가 가지고 있는 ROLE에 신규 테이블 T에 대한 권한을 추가하고 프로시저를 돌렸더니 권한 문제가 발생했다.해결하기 위해 삽질을 하다가 해결한 .. 2021. 10. 18.
728x90
반응형