반응형
반응형
오라클 이중화 리스너 Failover 스크립트 적용하기 오라클 데이터베이스를 이중화했더라도 애플리케이션이 장애가 발생한 리스너 주소만 계속 바라보고 있다면 실제 서비스 전환은 이루어지지 않는다. 이 글에서는 운영 서버에서 Oracle Listener와 데이터베이스 서비스를 점검한 뒤 애플리케이션용 TNS 접속 정보를 자동으로 전환하는 Failover 스크립트를 구성한다. 핵심 구성 Primary와 Standby 접속 별칭을 각각 구성한다. 단순 포트가 아니라 실제 SQL 접속 결과로 정상 여부를 판단한다. 정상 노드의 접속 정보를 임시 파일에 생성한 후 원자적으로 교체한다. flock으로 스크립트 중복 실행을 방지한다. cr..
Tibero 5 JDBC-590743 문자셋 변환 오류 점검 방법 Tibero 5에서 Java 애플리케이션으로 INSERT를 수행할 때 JDBC-590743: Character set conversion failed: invalid input 오류가 발생한다면, 우선 DB 문자셋과 JDBC 클라이언트 인코딩, 실제 입력 문자열에 DB 문자셋으로 변환할 수 없는 문자가 포함되어 있는지를 함께 확인해야 한다. 핵심 요약 JDBC-590743은 문자열을 Tibero 서버 문자셋으로 변환하는 과정에서 유효하지 않은 입력이 들어왔을 때 발생할 수 있다. 특히 Tibero 5 환경에서 DB 문자셋이 MSWIN949, EUC-KR, K..
PostgreSQL VACUUM FULL 후 relfrozenxid age가 1로 줄어드는 이유 PostgreSQL에서 VACUUM FULL을 수행한 뒤 pg_class.relfrozenxid의 age 값이 크게 낮아지는 현상은 정상적인 동작이다. 일반 VACUUM이 기존 테이블 파일 안에서 불필요한 튜플을 정리하는 방식이라면, VACUUM FULL은 테이블을 새로 재작성하는 방식에 가깝기 때문이다. 핵심 요약 VACUUM FULL은 일반 VACUUM처럼 일부 페이지만 정리하는 작업이 아니라 테이블을 새 relfilenode로 재작성한다. 이 과정에서 살아 있는 튜플만 새 테이블로 복사되고, 새 테이블의 relfrozenx..
Oracle to PostgreSQL Migration oracle_fdw ORA-00943 오류, Oracle 테이블 대소문자와 스키마 확인 방법 Oracle에서 PostgreSQL로 마이그레이션하는 과정에서 oracle_fdw 외래 테이블은 생성되지만 조회 시 ORA-00943: table or view does not exist 오류가 발생할 수 있다. 이 경우 대부분 Oracle 쪽 스키마명과 테이블명을 PostgreSQL 외래 테이블 옵션에 정확히 지정하지 않아 발생한다. 오류 상황 정리 PostgreSQL 15 환경에서 oracle_fdw 확장을 설치하고 Oracle 12c..
PostgreSQL Data Corruption PostgreSQL invalid page in block 오류 원인과 복구 대응 방법 PostgreSQL에서 invalid page in block xxxx of relation base/... 오류가 발생했다면 단순 SQL 오류가 아니라 테이블 또는 인덱스 파일의 물리적 페이지 손상 가능성을 먼저 봐야 한다. 특히 테이블 데이터 페이지가 깨진 경우에는 REINDEX나 VACUUM FULL만으로 데이터 손실 없이 복구하기 어렵다. 오류의 의미 PostgreSQL은 테이블과 인덱스를 여러 개의 8KB 페이지 단위로 저장한다. invali..
PostgreSQL WAL Archiving PostgreSQL archive_mode on과 always 차이, 운영 환경별 선택 기준 PostgreSQL의 archive_mode는 WAL 파일을 아카이브할지 결정하는 핵심 설정이다. 특히 on과 always는 Primary 서버에서는 비슷해 보이지만, Standby 서버나 복구 상태에서는 동작 차이가 분명하다. archive_mode가 하는 일 PostgreSQL은 데이터 변경 내용을 WAL, 즉 Write-Ahead Logging 파일에 먼저 기록한다. 이 WAL 파일을 별도 저장소에 보관하면 장애 복구, 백업 복원, 특정 시점 ..