IT/Oracle(67)
-
오라클 프로시저 상태 조회(ㅇ)
Oracle 데이터베이스에서 프로시저 상태를 조회하려면, ALL_OBJECTS, DBA_OBJECTS, 또는 USER_OBJECTS 뷰를 사용할 수 있습니다. 이 뷰들은 프로시저의 상태(VALID/INVALID)와 컴파일 여부 등을 제공합니다.프로시저 상태 조회 쿼리1. 특정 스키마의 프로시저 상태 조회SELECT OBJECT_NAME, STATUS, LAST_DDL_TIMEFROM ALL_OBJECTSWHERE OBJECT_TYPE = 'PROCEDURE' AND OWNER = '스키마명'; -- 조회하려는 스키마명2. 현재 사용자(스키마)의 프로시저 상태 조회SELECT OBJECT_NAME, STATUS, LAST_DDL_TIMEFROM USER_OBJECTSWHERE OBJECT_TYPE = '..
2025.02.25 -
병합 조인(Cartesian Join) 비용 증가
병합 조인(Cartesian Join)의 비용이 증가할 때 이를 해결하기 위해 필요한 접근 방법은 다음과 같습니다. Cartesian Join은 일반적으로 조인 조건이 누락되거나 비효율적으로 작성된 쿼리로 인해 발생하며, 이를 해결하려면 다음과 같은 방법을 적용할 수 있습니다.1. 조인 조건 확인 • 병합 조인(Cartesian Join)은 조인 조건이 없을 때 모든 행을 서로 조합하므로 비용이 급증합니다. • 확인 방법 : SQL 쿼리에서 ON, USING, WHERE 절을 통해 적절한 조인 조건이 포함되어 있는지 확인합니다. • 수정 예제-- 잘못된 예: 조인 조건 누락SELECT * FROM employees, departments;-- 수정된 예: 조인 조건 추가SELECT * FROM em..
2025.02.24 -
오라클 - 스마트 스캔
오라클 엑사데이터의 스마트 스캔(Smart Scan) 기능은 Exadata의 핵심 성능 향상 기술 중 하나로, 데이터베이스 서버의 작업 부하를 스토리지 레벨에서 처리하여 성능을 크게 향상시키는 기술입니다. 스마트 스캔 • 기존의 데이터베이스 방식에서는 DB 서버가 스토리지로부터 데이터를 모두 가져와서(DB로 전송) 필터링, 연산 처리를 수행합니다. • Exadata 스마트 스캔은 데이터 필터링과 연산 작업을 스토리지 노드에서 먼저 수행한 후, 필요한 데이터만 DB 서버로 전송합니다. • 이를 통해 DB 서버의 CPU 부하, 네트워크 부하를 감소시키고 쿼리 속도를 향상시킵니다.스마트 스캔의 동작 원리 • 스마트 스캔은 다음 절차로 수행됩니다.작업 단계설명DB 요청 전달DB 서버가 쿼리 수행 요청을 ..
2025.02.24 -
오라클 19c - PDB(Pluggable Database, 플러그형 데이터베이스)
PDB(Pluggable Database)는 오라클의 멀티테넌트 아키텍처(Multi-Tenant Architecture)의 핵심 구성 요소로, 하나의 컨테이너 데이터베이스(CDB, Container Database) 안에 여러 개의 독립적인 데이터베이스(PDB)를 포함할 수 있도록 설계된 개념입니다.오라클 12c부터 도입된 이 아키텍처는 오라클 19c에서도 더욱 발전하여 리소스 효율성, 관리 편의성, 성능 및 보안을 강화하는 역할을 합니다.PDB의 구조멀티테넌트 환경에서는 하나의 CDB 안에 여러 개의 PDB가 존재하며, 다음과 같은 주요 구성 요소로 나뉩니다.1. CDB (Container Database, 컨테이너 데이터베이스)PDB를 포함하는 최상위 데이터베이스.공통 데이터 딕셔너리 및 시스템 메타..
2025.02.23 -
오라클 Job 스케줄링 및 모니터링(ㅇ)
Oracle에서 job이 실패하더라도 매일 특정 시간(예: 오전 6시)에 실행되도록 설정하려면 DBMS_SCHEDULER 패키지를 사용하여 job을 작성할 수 있습니다. job의 실행 간격을 조정하려면 repeat_interval에 적절한 cron 표현식을 설정하면 됩니다.아래는 job을 설정하는 예제입니다.BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'my_daily_job', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN my_procedure; END;', start_date => TO_TIMESTAMP_TZ('2025-01-03 06:00:00', 'YY..
2025.02.23 -
오라클 힌트 조회(ㅇ)
오라클 힌트(Oracle Hints)는 SQL 실행 계획을 최적화하기 위해 개발자가 직접 오라클 옵티마이저(Optimizer)에 지시를 내릴 수 있도록 하는 기능입니다. /*+ HINT */ 형식으로 SQL 문 내부에 주석 형태로 작성됩니다.오라클 힌트 기본 문법SELECT /*+ HINT_NAME */ column1, column2 FROM table_name;/*+ HINT_NAME */ 부분에 적용할 힌트를 작성합니다.여러 개의 힌트를 적용할 수도 있습니다.주요 오라클 힌트 종류 및 예시1) 실행 계획 관련 힌트(1) FULL(table) – 전체 테이블 스캔 강제SELECT /*+ FULL(emp) */ * FROM emp WHERE deptno = 10;emp 테이블을 인덱스를 사용하지 않고 F..
2025.02.23