Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Oracle Database 18c의 새로운 기능 완벽 정리: DBA 업무 효율을 높이는 핵심 변화

이 글에서는 Oracle Database 18c에 새롭게 도입된 주요 기능들을 소개합니다. 이러한 기능들은 데이터베이스 관리자(DBA)의 일상 업무를 한층 더 수월하게 만들어 줍니다.

Oracle Database 18c에서 새롭게 제공되는 기능은 다음과 같습니다.

  • SQL 취소(SQL Cancelling)
  • 패스워드 파일 위치 변경
  • 읽기 전용 Oracle Home
  • 프라이빗 임시 테이블(Private Temporary Tables)

SQL 취소(SQL Cancelling)

Oracle Database 18c에서는 세션 전체를 종료하지 않고도 블로킹(blocking)을 유발하거나 과도한 리소스를 소모하는 SQL 문장을 취소할 수 있는 새로운 명령어가 도입되었습니다. 이전 버전에서는 DBA가 alter session kill 명령으로 세션 자체를 강제 종료해야 했지만, 이제 새로운 alter system cancel SQL 명령을 사용하면 특정 세션에서 실행 중인 SQL 문장만 선택적으로 취소할 수 있습니다.

alter system cancel SQL 문장의 기본 문법은 다음과 같습니다.

ALTER SYSTEM CANCEL SQL 'SID, SERIAL#[, @INST_ID][, SQL_ID]';

INST_ID를 생략하면 현재 인스턴스가 기본값으로 적용되며, SQL_ID를 생략하면 지정된 세션에서 실행 중인 SQL이 대상이 됩니다. 다양한 활용 예시는 아래와 같습니다.

  • 현재 인스턴스의 해당 세션에서 실행 중인 SQL 취소:

      ALTER SYSTEM CANCEL SQL '723, 45325';
    
  • INST_ID = 1인 인스턴스의 해당 세션에서 실행 중인 SQL 취소:

      ALTER SYSTEM CANCEL SQL '723, 45325, @1';
    
  • 현재 인스턴스의 해당 세션에서 실행 중인 특정 SQL 취소:

      ALTER SYSTEM CANCEL SQL '723, 45325, 84djy3b3xgvq';
    
  • INST_ID = 1인 인스턴스의 해당 세션에서 실행 중인 특정 SQL 취소:

      ALTER SYSTEM CANCEL SQL '723, 45325, @1, 84djy3b3xgvq';
    

패스워드 파일 위치 변경

Oracle Database 18c부터 패스워드 파일의 기본 위치가 ORACLE_HOME/dbs에서 ORACLE_BASE로 변경되었습니다. 이러한 변화 덕분에 Oracle Home을 데이터베이스 파일과 무관한 정적(static) 저장소로 활용할 수 있게 되었습니다.

ORACLE_BASE는 모든 설치 환경의 ORACLE_HOME에 공통적으로 사용되는 경로이기 때문에, 새로운 위치는 데이터베이스 마이그레이션 작업도 크게 단순화해 줍니다. 즉, 한 ORACLE_HOME에서 다른 ORACLE_HOME으로 데이터베이스를 마이그레이션할 때 패스워드 파일을 옮길 필요가 없습니다.

orapwd file='$ORACLE_BASE/orapwtest18c' password=oracle force=y format=12
Oracle Database 18c의 새로운 기능 완벽 정리: DBA 업무 효율을 높이는 핵심 변화

읽기 전용 Oracle Home

새로운 패스워드 파일 위치 덕분에 하나의 공유 읽기 전용(read-only) Oracle Home을 여러 시스템에 마운트하여 사용할 수 있습니다. 이를 통해 복잡한 아키텍처 환경에서도 배포 작업이 더욱 안정적이고 간편해집니다.

읽기 전용 Oracle Home은 소프트웨어와 데이터베이스 설정 정보 및 로그 파일을 분리합니다. 따라서 서로 다른 배포 환경 간에 소프트웨어를 손쉽게 공유할 수 있으며, 버전 관리와 표준화 작업도 크게 단순화됩니다.

읽기 전용 Oracle Home을 활성화하는 절차는 다음과 같습니다.

  1. bin 디렉터리로 이동합니다:

     $ cd $ORACLE_HOME/bin
    
  2. 읽기 전용 Oracle Home 활성화 스크립트를 실행합니다:

     $ ./roohctl -enable
    

프라이빗 임시 테이블(Private Temporary Tables)

Oracle Database 18c는 프라이빗 임시 테이블이라는 새로운 개념을 도입했습니다. 이는 메모리 기반의 임시 테이블로, 설정에 따라 세션 또는 트랜잭션이 종료될 때 자동으로 삭제됩니다.

이전 버전에서는 Global Temporary Table(GTT)을 생성할 수 있었습니다. GTT는 영구적인 메타데이터 객체로, 트랜잭션 또는 세션 단위로 임시 세그먼트에 데이터를 저장하는 방식입니다. 일반적으로 GTT는 필요할 때마다 생성하고 삭제하는 방식으로 사용하지 않습니다. 반면 프라이빗 임시 테이블은 다른 데이터베이스 엔진에서 이미 제공하던 방식과 유사하게, 데이터뿐만 아니라 테이블 객체 자체까지 임시로 존재한다는 점이 큰 차별점입니다.

PRIVATE_TEMP_TABLE_PREFIX 초기화 파라미터(기본값: ORA$PTT_)는 프라이빗 임시 테이블을 생성할 때 이름 앞에 반드시 붙여야 하는 접두사를 정의합니다. 올바른 접두사 없이 프라이빗 임시 테이블을 생성하려고 하면 오류가 발생합니다.

기본 절인 ON COMMIT DROP DEFINITION은 트랜잭션이나 세션이 끝나는 시점에 테이블을 자동으로 삭제합니다.

프라이빗 임시 테이블을 생성하는 문법은 다음과 같습니다.

CREATE PRIVATE TEMPORARY TABLE ora$ptt_my_temp1 (
  id NUMBER,
  description  VARCHAR2(20)
)
ON COMMIT DROP DEFINITION;

결론

이번에 소개한 새로운 기능들을 적극적으로 활용해 보시길 권장합니다. SQL 취소 기능을 사용하면 문제가 되는 세션을 데이터베이스에서 손쉽게 정리할 수 있습니다. 읽기 전용 ORACLE_HOME 기능은 서로 다른 배포 환경 간에 소프트웨어를 간편하게 공유할 수 있게 해 줍니다. 또한 프라이빗 임시 테이블을 사용하면 임시 테이블을 별도로 관리할 필요 없이 빠르게 생성할 수 있으며, 트랜잭션이 종료되면 Oracle이 자동으로 삭제해 줍니다. 상황에 맞게 이러한 기능들을 활용하면 상당한 시간을 절약할 수 있습니다.

궁금한 점이나 의견이 있다면 피드백 탭을 통해 알려주세요.

전문가의 관리·운영·구성 서비스로 환경 최적화하기

Rackspace의 애플리케이션 서비스 (RAS) 전문가들은 폭넓은 애플리케이션 포트폴리오를 대상으로 다음과 같은 전문 및 관리형 서비스를 제공합니다.

  • e커머스 및 디지털 경험 플랫폼
  • ERP(Enterprise Resource Planning)
  • 비즈니스 인텔리전스(BI)
  • Salesforce CRM(Customer Relationship Management)
  • 데이터베이스
  • 이메일 호스팅 및 생산성 도구

Rackspace가 제공하는 것:

  • 공정한 전문성: 현대화 여정을 체계적으로 안내하며, 즉각적인 가치를 실현할 수 있는 역량에 집중합니다.
  • Fanatical Experience™: Process first. Technology second.®(프로세스 우선, 기술 차후) 철학과 전담 기술 지원을 결합하여 종합적인 솔루션을 제공합니다.
  • 독보적인 포트폴리오: 풍부한 클라우드 경험을 바탕으로 올바른 클라우드에 최적의 기술을 선택하고 배포할 수 있도록 지원합니다.
  • 애자일한 서비스 제공: 고객의 현재 위치에서 함께 출발하여, 고객의 성공과 우리의 성공을 하나로 연결합니다.

지금 바로 채팅으로 시작해 보세요.