반응형

DB/ORACLE 6

ORACLE ORA-00257: archiver error 해결 방법

1. ORA-00257 에러란?ORA-00257: archiver error. Connect internal only, until freed.의미아카이브 로그를 저장할 공간이 부족함더 이상 redo 로그를 아카이빙할 수 없는 상태일반 사용자 접속 및 DML 작업 제한 발생즉, 디스크 공간 부족으로 DB가 멈추기 직전 상태입니다.2. 발생 원인1) 아카이브 로그 디렉토리 FULL가장 흔한 원인archive log가 쌓여서 디스크 용량 초과2) FRA(Fast Recovery Area) 공간 부족SHOW PARAMETER db_recovery_file_dest_size;FRA 영역이 가득 차면 자동으로 아카이브 중단3) 백업 미수행RMAN 백업 없이 로그만 계속 쌓임4) 장시간 트랜잭션 또는 대량 작업red..

DB/ORACLE 2026.03.26

ORACLE SUBSTR vs REGEXP_SUBSTR 차이점

문자열을 자를 때 SUBSTR과 REGEXP_SUBSTR은 용도가 다릅니다.SUBSTR 특징위치 기반으로 문자열을 자름빠르고 성능이 좋음단순한 문자열 처리에 적합SELECT SUBSTR('abc123def', 4, 3) FROM DUAL;결과: 123REGEXP_SUBSTR 특징패턴(정규식) 기반으로 문자열을 추출복잡한 조건 처리 가능상대적으로 성능이 느림SELECT REGEXP_SUBSTR('abc123def', '[0-9]+') FROM DUAL;결과: 123차이 한눈에 정리구분SUBSTRREGEXP_SUBSTR기준위치패턴(정규식)사용 난이도쉬움어려움성능빠름느림활용단순 자르기복잡한 문자열 분석언제 무엇을 써야 할까?위치가 명확할 때 → SUBSTR특정 패턴 기준 → REGEXP_SUBSTR성능이 중요..

DB/ORACLE 2026.03.25

ORACLE 문자열 자르기

1. SUBSTR 기본 문법 + 예제SUBSTR(문자열, 시작위치, 길이)문자열의 시작 위치부터 지정한 길이만큼 잘라 반환합니다.앞에서부터 자르기SELECT SUBSTR('HELLO WORLD', 1, 5) FROM DUAL;결과: HELLO1번째 위치부터 5글자 추출특정 위치부터 끝까지 자르기SELECT SUBSTR('HELLO WORLD', 7) FROM DUAL;결과: WORLD길이를 생략하면 끝까지 반환뒤에서부터 자르기 (음수 인덱스)SELECT SUBSTR('HELLO WORLD', -5) FROM DUAL;결과: WORLD뒤에서 5번째 위치부터 끝까지 반환뒤에서 일부만 자르기SELECT SUBSTR('HELLO WORLD', -5, 3) FROM DUAL;결과: WOR뒤에서 5번째부터 3글자를..

DB/ORACLE 2026.03.25

ORACLE 테이블 복사하기

전체 테이블 복사CREATE TABLE NewTableASSELECT *FROM OldTable;PK, FK, INDEX, TRIGGER는 복사되지 않음DEFAULT 값 일부 누락 가능조건부 데이터만 복사CREATE TABLE NewUsersASSELECT *FROM UsersWHERE Age >= 20;조건에 따라 데이터 누락 가능통계/인덱스 정보는 복사되지 않음구조만 복사 (데이터 제외)CREATE TABLE EmptyTableASSELECT *FROM UsersWHERE 1 = 0;제약조건, 인덱스 모두 생성되지 않음컬럼 구조만 동일기존 테이블에 데이터 추가INSERT INTO NewTableSELECT *FROM OldTable;컬럼 순서 및 타입 반드시 일치해야 함PK/UK 존재 시 중복 데이터..

DB/ORACLE 2026.03.24

ORACLE WITH 절(서브쿼리 팩토링) 사용법

SQL을 작성하다 보면 같은 서브쿼리를 여러 번 사용하거나, 쿼리가 너무 길어져서 가독성이 떨어지는 경우가 많습니다.이럴 때 사용하는 것이 바로 WITH 절(Common Table Expression, CTE) 입니다..1. WITH 절이란?WITH 절은 서브쿼리에 이름을 붙여 재사용할 수 있도록 하는 기능입니다.2. 기본 문법WITH 별칭 AS ( 서브쿼리)SELECT *FROM 별칭;3. 기본 사용 예제✔ 단일 WITH 절WITH UserList AS ( SELECT UserID, UserName FROM Users WHERE Age >= 20)SELECT *FROM UserList;UserList라는 임시 결과를 만들어서 사용하는 구조입니다.4. 여러 개 WITH 절 사용하기여..

DB/ORACLE 2026.03.24
반응형