전체 글 16

[Oracle 19c] ORA-00054 : 락 충돌로 DDL실패

세션1에서 테이블 생성 및 insert 진행후 commit 미진행 상태에서 다른세션에서 해당 테이블 변경 시도 -- 세션1 CREATE TABLE lock_test (id NUMBER);INSERT INTO lock_test VALUES (1);-- 세션2 ALTER TABLE lock_test ADD name VARCHAR2(100); 자 이제 어떤 세션이 락을 걸었고, 어떤 세션이 락이 걸렸는지 알아보자-- 락 건세션 SELECT s.sid, s.serial#, s.username, s.status, l.type, l.blockFROM v$lock lJOIN v$session s ON l.sid = s.sidWHERE l.block = 1;-- 락걸린 세션 SELECT s.sid, s.serial#..

Study/Oracle Study 2025.07.07

[Oracle 19c] Data Pump 테스트

✅ Data Pump란?Oracle에서 대량의 데이터를 빠르게 내보내고 (Export) 다시 불러오는 (Import) 고성능 유틸리티기존의 exp, imp 유틸리티를 대체하며, 병렬 처리, 압축, 네트워크 전송, 리맵 등 다양한 고급 기능을 지원✅ Data Pump 구성구성 요소설명expdpExport Data Pump (백업)impdpImport Data Pump (복구 또는 이관)디렉터리 객체 (DIRECTORY)Oracle이 OS 디렉터리에 접근하기 위해 사용하는 논리적 경로.dmp 파일데이터 덤프 (백업 파일).log 파일로그 파일 (백업/복원 과정 기록) ✅ 주요 모드 (작업 단위)모드설명예시FULL전체 DB 백업전체 이관SCHEMA사용자(스키마) 단위특정 유저 데이터만TABLE테이블 단위일부 ..

Study/Oracle Study 2025.07.06

[Oracle 19c] RMAN 백업 및 복구

rman target/✅ RMAN이란?**RMAN (Recovery Manager)**은 Oracle에서 제공하는 공식 백업 및 복구 도구CLI(Command Line Interface) 기반으로 동작DB 정합성을 유지하면서 안전하고 빠르게 백업/복구할 수 있도록 설계 ✅ RMAN의 핵심 특징기능설명온라인 백업 가능DB를 운영 중인 상태에서 백업 가능 (ARCHIVELOG 모드 필요)증분 백업이전 백업 이후 변경된 블록만 백업 → 공간·시간 절약자동 복구복구 시 필요한 파일 자동 선택 및 복원블록 손상 복구물리적 손상 발생 시 블록 단위 복구 가능카탈로그 기능별도 Repository(DB) 또는 Control File에 백업 정보 저장 ✅ RMAN을 쓰는 대표적인 상황상황RMAN 기능실시간 운영 중 백업..

Study/Oracle Study 2025.07.06

[Oracle 19c] AWR / ASH 리포트

🔹 AWR 리포트란?시스템 전체의 성능 상태를 주기적으로 스냅샷 찍어 기록해두는 리포트→ TOP SQL, 대기 이벤트, 하드파싱, IO 문제 등 확인 가능 ✅ AWR 리포트는 뭐가 포함되는?포함 내용설명Top SQL가장 오래 걸린 SQL, 자원을 많이 쓴 SQLTop 5 Timed EventsDB가 기다리느라 시간 많이 쓴 지점Load Profile초당 SQL 실행, 파싱 수, 커밋 수 등IO 통계테이블스페이스별 읽기/쓰기량Instance 효율성버퍼 캐시 히트율, 라이브러리 캐시 효율 등 ✅ 스냅샷은 왜 필요한가?🔍 핵심 개념:AWR는 “스냅샷 간 비교”로 리포트를 만든다.📌 스냅샷(Snapshot)이란?DB 상태를 특정 시점에 캡처한 데이터예: 현재 시스템에서 어떤 쿼리가 많이 돌았는지, 어떤 대..

Study/Oracle Study 2025.07.06

[Oracle 19c] 초급 튜닝 Nested loops vs hash join

기본쿼리 실행계획시 EXPLAIN PLAN FORSELECT e.ename, d.dnameFROM emp eJOIN dept d ON e.deptno = d.deptno;SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);EMP테이블은 TABLE FULL SCAN 후 DEPTNO 기준으로 정렬(SORT JOIN) 수행 DEPT테이블은 DEPTNO 컬럼 인덱스 (SYS_C007541)를 INDEX FULL SCAN해당 ROWID로 테이블 접근 후 두 테이블을 MERGE JOIN함 NESTED LOOP 힌트 사용 EXPLAIN PLAN FORSELECT /*+ USE_NL(e d)*/ e.ename, d.dnameFROM emp eJOIN dept d ON e.deptno = d.de..

Study/Oracle Study 2025.07.06

[Oracle 19c] 세션 및 리소스 모니터링

접속중인 세션 확인 (v$session)- 어떤 사용자가 접속했는지, 접속상태, 어떤 툴로 접속했는지 확인- 비정상 세션 종료시 sid/serial# 사용 select sid, serial#, username, status, machine, programfrom v$sessionwhere 1=1and username is not null; 특정 세션 종료 ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE; 실행중인 SQL확인 (v$sql)SELECT sql_id, executions, elapsed_time, sql_textFROM v$sqlWHERE rownum 특정 SID가 수행하고 있는 쿼리 조회 SELECT s.sid, s.serial#, ..

Study/Oracle Study 2025.07.05

[Oracle 19c] Alert 로그 및 Trace 확인

장애, 오류, shutdown, startup, switch, checkpoint등 중요한 모든 정보 기록ORA-XXXX 에러도 대부분 여기에 로그 남음 (트러블 슈팅의 출발점 !!)alert 로그 위치 확인 -- $ORACLE_BASE, ORACLE_SID를 조회하는 이유는 환경변수 확인 후 정확히 진입하기 위해 echo $ORACLE_BASEecho $ORACLE_SID cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace> cd /u01/app/oracle/diag/rdbms/oracle19/oracle19/trace-- -l : long fomat : 파일의 상세 정보-- -t : time sort : 수정된 시간 기준으로 정렬-- -r : reve..

Study/Oracle Study 2025.07.04

[Oracle 19c] UNDO / REDO / TEMP 테이블스페이스 구조 관리

현재 사용중인 UNDO 테이블스페이스 확인SHOW PARAMETER undo_tablespace;SELECT tablespace_name, status FROM dba_tablespaces WHERE contents = 'UNDO'; UNDO 관리 모드 확인 (AUTO/MANUAL)SHOW PARAMETER UNDO_MANAGEMENTS; 테이블스페이스 확인 및 사용량 조회SELECT tablespace_name, file_name, bytes/1024/1024 AS size_mb FROM dba_temp_files; TEMP 테이블 사용량 조회 SELECT tablespace_name, ROUND(SUM(bytes_used) / 1024 / 1024) AS used_mb..

Study/Oracle Study 2025.07.04

[Oracle 19c] 테이블스페이스 및 데이터파일 관리

현재 테이블 스페이스 목록 확인 SELECT tablespace_name, contents, status FROM dba_tablespaces; 새로운 테이블스페이스 및 데이터파일 생성 -- 사이즈는 100M로 10M씩 증가하는것으로 설정CREATE TABLESPACE test_tbsDATAFILE '/u01/app/oracle/oradata/ORACLE19/test_tbs01.dbf'SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; AUTOEXTEND설정 (데이터파일의 공간이 가득 찼을때 자동으로 파일 크기를 확장해주는 기능)-- 위에서 테이블스페이스 생성시 MAX를 UNLIMITED로 생성했는데 MAXSIZE 지정할거임 ALTER DAT..

Study/Oracle Study 2025.07.04