반응형

전체 글 334

[오라클 에러] ORA-01555 snapshot too old - 5가지 원인과 해결방법 (UNDO 일관성 읽기 모델 완벽 정리)

[오라클 에러] ORA-01555 snapshot too old - 5가지 원인과 해결방법 (UNDO 일관성 읽기 모델 완벽 정리)테스트 환경: Oracle 11g / 12c / 19c / 21c월말 결산 시즌, 새벽 4시. 4시간 동안 돌던 결산 리포트가 마지막 단계에서 ORA-01555: snapshot too old 로 실패합니다. 처음부터 다시 돌리면 또 4시간. 그동안 운영팀과 회계팀에서 전화가 빗발칩니다.ORA-01555는 DBA가 가장 자주 마주치면서도 가장 자주 오해하는 에러입니다. "UNDO 늘리면 된다" 는 단순한 답은 절반만 맞습니다. 어떨 때는 UNDO를 10배 늘려도 재발하고, 어떨 때는 SQL 한 줄만 바꿔도 해결됩니다.이번 글에서는 ORA-01555의 본질인 읽기 일관성(Rea..

[오라클 운영] Oracle 12c 멀티테넌트(CDB/PDB) 운영 가이드 - 상태 관리부터 Unplug/Plug까지

[오라클 운영] Oracle 12c 멀티테넌트(CDB/PDB) 운영 가이드 - 상태 관리부터 Unplug/Plug까지테스트 환경: Oracle 12c / 19c / 21c / 23ai12c부터 도입된 멀티테넌트 아키텍처는 19c에서 사실상 표준이 되었고, 21c부터는 비-CDB(non-CDB) 모드가 desupport되어 CDB가 유일한 옵션입니다. 이제 오라클을 다룬다면 CDB/PDB 환경을 피할 수 없어요.그런데 한국어 운영 자료의 상당수가 11g 시절 비-CDB 환경 기준이라, 처음 CDB 환경을 마주한 DBA는 다음과 같은 질문에 막힙니다.접속했더니 갑자기 객체가 안 보임 (다른 컨테이너에 있는 줄도 모르고)DB 재시작 후 ORA-12514 발생 (이전 글에서 다룬 PDB MOUNTED 상태)사용..

2026년06월21일 주일예배 (이재훈목사님) - 1부

2026년06월21일 주일예배 (이재훈목사님) - 1부주의 말씀 : 나를 따르라 (6) 너는 내 사랑하는 자녀라성경 : 마태복음 3:13 ~ 17 말씀 (출처:우리말성경) 3:13 그때 예수께서 요한에게 세례를 받으시려고 갈릴리에서 요단 강으로 오셨습니다.3:14 그러나 요한은 이를 말리면서 예수께 말했습니다. “제가 오히려 선생님께 세례를 받아야 합니다. 그런데 제게 오시다니요!”3:15 예수께서 대답하셨습니다. “지금은 그렇게 하도록 하여라. 우리가 이와 같이 해 모든 의를 이루는 것이 옳다.” 그러자 요한은 그대로 따랐습니다.3:16 예수께서 세례를 받으시고 물속에서 올라오셨습니다. 그때 예수께서는 하늘이 열리고 하나님의 영이 비둘기처럼 자신에게 내려오는 것을..

[오라클 에러] ORA-12154 TNS:could not resolve the connect identifier - 5가지 원인과 해결방법 (접속 에러 3종 비교)

[오라클 에러] ORA-12154 TNS:could not resolve the connect identifier - 5가지 원인과 해결방법 (접속 에러 3종 비교)테스트 환경: Oracle Client 11g / 12c / 19c / 21c, Oracle Linux 8 / Windows 11ORA-12154는 오라클 클라이언트가 가장 먼저 마주칠 수 있는 접속 에러입니다. ORA-12541(리스너 없음)이나 ORA-12514(서비스 모름)이 "서버에 도달했는데 안 됨"이라면, ORA-12154는 "서버에 도달조차 못함" 의 의미입니다.이 글로 본 블로그의 접속 에러 3종 시리즈가 완성됩니다.ORA-12154: 별칭(connect identifier) 자체를 못 풀어서 어디로 가야 할지 모름ORA-125..

[오라클 운영] ROLE 기반 권한 관리 완벽 가이드 - PL/SQL의 함정과 INVOKER rights까지

[오라클 운영] ROLE 기반 권한 관리 완벽 가이드 - PL/SQL의 함정과 INVOKER rights까지테스트 환경: Oracle 11g / 12c / 19c / 21c오라클 권한 관리에서 ROLE은 핵심 도구입니다. 사용자가 100명, 객체가 1,000개인 환경에서 직접 GRANT를 일일이 관리하면 운영이 마비됩니다. ROLE을 쓰면 권한을 그룹화해서 사용자 단위가 아닌 역할 단위로 관리할 수 있습니다.그런데 ROLE을 운영하다 보면 다음과 같은 황당한 상황을 만나게 됩니다.분명히 ROLE에 SELECT 권한을 줬는데 프로시저가 ORA-00942똑같은 SQL인데 SQL*Plus에서는 되고 PL/SQL에서는 안 됨ROLE을 부여했는데 다음 세션에서 권한이 사라짐직접 GRANT로 바꾸니 갑자기 해결됨이..

[오라클 운영] DBMS_SCHEDULER 캘린더 표현식 완벽 정리 - FREQ, BYHOUR, BYDAY 모든 활용

[오라클 운영] DBMS_SCHEDULER 캘린더 표현식 완벽 정리 - FREQ, BYHOUR, BYDAY 모든 활용테스트 환경: Oracle 11g / 12c / 19c / 21cDBMS_SCHEDULER로 작업을 등록할 때 가장 헷갈리는 부분이 repeat_interval 표현식입니다. 단순한 "매일 새벽 2시"는 쉽지만, "매월 마지막 평일 18시", "매분기 첫 번째 월요일", "공휴일 제외 평일 9시" 같은 요구사항을 받으면 막막해집니다.이 글은 이전 글 (DBMS_SCHEDULER 6시간 배치 예제)의 후속편입니다. 거기서는 한 가지 시나리오만 다뤘다면, 이번 글은 운영 환경에서 자주 만나는 모든 스케줄 표현식을 카탈로그처럼 정리했습니다. 책갈피해 두고 필요할 때마다 꺼내 쓰는 레퍼런스 글로 ..

2026년06월14일 주일예배 (이재훈목사님) - 1부

2026년06월14일 주일예배 (이재훈목사님) - 1부주의 말씀 : 나를 따르라 (5) 마르지 않는 시냇가에 뿌리를 내리다성경 : 시편(Psalm) 1:1 ~ 6 말씀 (출처:우리말성경) 1:1 복이 있는 사람은 악한 사람들의 꾀를 따라가지 않고 죄인들의 길에 서지 않으며 남을 업신여기는 사람들과 자리를 함께하지 않고1:2 오직 여호와의 율법을 즐거워하고 그 율법을 밤낮으로 깊이 생각하는 자로다.1:3 그는 시냇가에 심은 나무가 계절에 따라 열매를 맺고 그 잎이 시들지 않는 것처럼 하는 일마다 모두 잘되리라.1:4 악인은 그렇지 않으니 그저 바람에 날려가는 겨와 같도다.1:5 그러므로 악인들이 심판을 받을 때 죄인들은 의인의 모임에 참석하지 못하리라.1:6 의인의 길..

[오라클 운영] 시노님(SYNONYM) 완전 정리 - PUBLIC vs PRIVATE, 이름 해석 우선순위, 실무 가이드

[오라클 운영] 시노님(SYNONYM) 완전 정리 - PUBLIC vs PRIVATE, 이름 해석 우선순위, 실무 가이드테스트 환경: Oracle 11g / 12c / 19c / 21c / 23ai오라클을 1~2년 다루면 시노님은 누구나 한 번쯤 만듭니다. 그런데 시노님을 단순히 "별칭" 정도로만 이해하고 있으면 운영 환경에서 다음과 같은 황당한 상황을 만나게 됩니다.분명히 같은 시노님인데 사용자마다 다른 테이블을 가리킴PUBLIC 시노님을 만들었는데 어떤 사용자에게는 안 보임시노님은 살아있는데 사용하면 ORA-00942DROP 후 재생성했는데 권한이 사라짐이번 글에서는 시노님의 PUBLIC vs PRIVATE 핵심 차이, 이름 해석 우선순위, 권한과의 관계, 그리고 운영 환경에서 자주 발생하는 문제와 ..

카테고리 없음 2026.06.12

[오라클 에러] ORA-04031 unable to allocate shared memory - 5가지 원인과 해결방법 (단편화 진단 포함)

[오라클 에러] ORA-04031 unable to allocate shared memory - 5가지 원인과 해결방법 (단편화 진단 포함)테스트 환경: Oracle 11g / 12c / 19c / 21c새벽 3시. 운영 DB 모니터링 알람이 울립니다. 알람 내용은 "ORA-04031: unable to allocate XXXX bytes of shared memory". 애플리케이션이 멈췄고, 신규 접속도 안 됩니다. DB가 사실상 frozen 상태입니다.ORA-04031은 DBA가 운영 환경에서 가장 두려워하는 에러 중 하나입니다. 단순히 "메모리 부족"이라고 생각하면 절대 풀리지 않습니다. SGA를 64GB로 늘렸는데도 며칠 후 재발하는 경우가 흔합니다.이번 글에서는 ORA-04031의 진짜 정체를..

[오라클 에러] ORA-00942 table or view does not exist - 6가지 원인과 해결방법 (권한과 PL/SQL 케이스까지)

[오라클 에러] ORA-00942 table or view does not exist - 6가지 원인과 해결방법 (권한과 PL/SQL 케이스까지)테스트 환경: Oracle 11g / 12c / 19c / 21cORA-00942는 오라클에서 가장 자주 마주치는 에러 중 하나입니다. 메시지가 단순해서 "그 객체가 없나 보다" 하고 넘기기 쉽지만, 실제로는 객체가 존재하는데도 ORA-00942가 나는 케이스가 절반 이상입니다.특히 다음 상황에서 자주 발생합니다.분명히 테이블이 있는데 SELECT가 안 됨다른 사용자는 되는데 내 계정만 안 됨어제까지 잘 되던 프로시저가 갑자기 ORA-00942쿼리는 잘 되는데 PL/SQL 안에서만 ORA-00942이 글에서는 ORA-00942의 6가지 원인을 분류하고, 권한 부..

반응형