IT/Oracle(67)
-
오라클 EXIST 구문
Oracle 데이터베이스에서 EXISTS 구문은 서브쿼리의 결과가 존재하는지 여부를 검사할 때 사용됩니다. EXISTS 조건은 서브쿼리가 하나 이상의 행을 반환할 때 참이 됩니다. 일반적으로 EXISTS는 효율적으로 존재 여부를 확인하는데 사용되며, 이는 서브쿼리가 실제로 반환하는 데이터보다는 서브쿼리의 조건에 맞는 행이 있는지 여부만 확인하기 때문입니다.다음은 EXISTS 구문을 사용하는 예제입니다예제 1: 기본 사용법다음 예제는 특정 부서에 속한 직원이 있는지 확인합니다.SELECT department_nameFROM departments dWHERE EXISTS ( SELECT 1 FROM employees e WHERE e.department_id = d.department_id)..
2025.02.10 -
SQL Merge문 성능향상 방법
SQL의 MERGE 문은 데이터 조작 작업을 수행하는 데 유용하지만 대량의 데이터를 다룰 때 성능 문제가 발생할 수 있습니다. 성능 향상을 위해 몇 가지 방법을 고려할 수 있습니다.인덱스 사용: MERGE 문이 조인 및 검색 작업을 수행하기 때문에 조인 및 검색에 사용되는 열에 인덱스를 생성하는 것이 중요합니다. 이렇게 하면 검색 및 조인 성능이 향상됩니다.파티션: 대규모 테이블의 경우 테이블을 파티션으로 나누어 성능을 향상시킬 수 있습니다. MERGE 작업에 사용되는 열을 기준으로 테이블을 파티션하면 I/O 작업이 줄어들어 성능이 향상될 수 있습니다.올바른 인덱스 사용: MERGE 문에서 조인 및 검색에 사용되는 열에 적절한 인덱스를 생성해야 합니다. WHERE조건에서 사용되는 열에도 인덱스를 생성하는..
2025.02.10 -
오라클 데이터베이스에서 마리아DB(MariaDB) 접속 위한 DB Link 생성
윈도우 서버에 설치된 오라클 데이터베이스에서 마리아DB(MariaDB)에 접속하기 위해 데이터베이스 링크(DB Link)를 생성하는 방법은 다음과 같습니다. 이 과정에서 필요한 몇 가지 주요 단계를 알려드리겠습니다.ODBC 드라이버 설치: MariaDB를 오라클 데이터베이스에서 접근하기 위해 ODBC 드라이버를 설치해야 합니다. MariaDB 공식 웹사이트에서 Windows용 ODBC 드라이버를 다운로드 받아 설치합니다.ODBC 데이터 소스 설정제어판에서 '관리 도구' > '데이터 원본(ODBC)'로 이동합니다.'시스템 DSN' 탭에서 '추가'를 클릭하여 MariaDB ODBC 드라이버를 선택하고, 필요한 정보(서버 주소, 데이터베이스 이름, 사용자 이름, 비밀번호 등)를 입력하여 데이터 소스를 구성합니..
2025.02.03 -
Oracle UCP(Universal Connection Pool) 기반 로드밸런싱
Oracle UCP(Universal Connection Pool)를 사용하여 헬스 체크와 연결 복구 기능을 강화할 수 있습니다. UCP는 자동으로 노드의 상태를 확인하고 문제가 있는 노드를 회피합니다.import oracle.ucp.jdbc.PoolDataSource;import oracle.ucp.jdbc.PoolDataSourceFactory;PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");pds.setURL("jdbc:oracle:thin:@(DESCRIPTION=" + "(ADDRESS_..
2025.02.03 -
오라클 락 - Enq : us contention
Enq:us contentionENQ: US - contention 대기 이벤트는 오라클 데이터베이스에서 발생하는 잠금(contention) 대기 이벤트 중 하나로, 주로 UNDO SEGMENT(US) 관련 리소스 경쟁이 있을 때 나타납니다.이 이벤트는 오라클 데이터베이스에서 트랜잭션이 발생할 때 UNDO 세그먼트에 대한 잠금 경합이 일어나는 상황을 설명합니다. 일반적으로 UNDO 세그먼트는 트랜잭션 롤백을 지원하고, 데이터의 일관성을 유지하는데 중요한 역할을 합니다. 그러나 여러 세션이 동시에 같은 UNDO 세그먼트에 접근하려 할 때, 리소스 경합이 발생할 수 있습니다.주요 원인ENQ: US - contention 대기 이벤트는 여러 상황에서 발생할 수 있습니다:UNDO 세그먼트 부족트랜잭션이 많아져서..
2025.02.03 -
오라클 인덱스 통계 갱신 여부 확인
1. 인덱스 통계 갱신 여부 확인 쿼리다음 SQL 쿼리를 사용하면 인덱스의 통계가 마지막으로 갱신된 날짜를 확인할 수 있습니다SELECT INDEX_NAME, TABLE_NAME, LAST_ANALYZEDFROM USER_INDEXESWHERE TABLE_NAME = '테이블명';INDEX_NAME: 인덱스 이름TABLE_NAME: 테이블 이름LAST_ANALYZED: 인덱스 통계가 마지막으로 갱신된 날짜 및 시간값이 NULL인 경우 해당 인덱스에 대해 통계가 생성된 적이 없습니다2. 특정 스키마 또는 데이터베이스 전체 확인특정 스키마에서 모든 인덱스 확인SELECT INDEX_NAME, TABLE_NAME, LAST_ANALYZEDFROM DBA..
2025.02.03