Oracle DB 인스턴스에 대한 공통 기타 작업 수행 - Amazon Relational Database Service

Oracle DB 인스턴스에 대한 공통 기타 작업 수행

그 다음에는 Oracle을 실행하는 Amazon RDS DB 인스턴스에서 기타 DBA 작업을 수행하는 방법을 알아봅니다. 관리형 서비스 환경을 제공하기 위해 Amazon RDS는 DB 인스턴스에 대해 shell 액세스를 제공하지 않으며, 고급 권한이 필요한 특정 시스템 절차와 테이블에 대한 액세스를 제한합니다.

메인 데이터 스토리지 공간에서 디렉터리 생성 및 삭제

디렉터리를 생성하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.create_directory를 사용합니다. 디렉터리를 최대 10,000개까지 만들어 메인 데이터 스토리지 공간에 저장할 수 있습니다. 디렉터리를 삭제하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.drop_directory를 사용합니다.

create_directorydrop_directory 프로시저에는 다음과 같은 필수 파라미터가 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_directory_name

varchar2

디렉터리의 이름입니다.

다음 예제에서는 PRODUCT_DESCRIPTIONS라는 새 디렉터리를 생성합니다.

EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'product_descriptions');

데이터 딕셔너리는 디렉터리 이름을 대문자로 저장합니다. DBA_DIRECTORIES에 쿼리를 실행하면 디렉터리 목록을 표시할 수 있습니다. 실제 호스트 경로 이름은 시스템이 자동으로 선택합니다. 다음은 PRODUCT_DESCRIPTIONS라는 디렉터리의 디렉터리 경로를 얻는 예제입니다.

SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='PRODUCT_DESCRIPTIONS'; DIRECTORY_PATH ---------------------------------------- /rdsdbdata/userdirs/01

DB 인스턴스의 마스터 사용자 이름은 새로운 디렉터리에서도 읽기/쓰기 권한이 있으며, 다른 사용자에게 액세스 권한을 부여할 수도 있습니다. EXECUTE 권한은 DB 인스턴스의 디렉터리에 사용할 수 없습니다. 디렉터리는 메인 데이터 스토리지 공간에 생성되어 일정 공간과 I/O 대역폭을 사용합니다.

다음 예제에서는 PRODUCT_DESCRIPTIONS라는 디렉터리를 삭제합니다.

EXEC rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'product_descriptions');
참고

Oracle SQL 명령 DROP DIRECTORY를 사용하여 디렉터리를 삭제할 수도 있습니다.

디렉터리를 삭제해도 그 내용은 제거되지 않습니다. rdsadmin.rdsadmin_util.create_directory 프로시저가 경로 이름을 재사용하므로 삭제된 디렉터리의 파일이 새로 생성된 디렉터리에 나타날 수도 있습니다. 디렉터리를 삭제하기 전에 UTL_FILE.FREMOVE를 사용하여 디렉터리에서 파일을 제거하는 것이 좋습니다. 자세한 내용은 Oracle 설명서의 FREMOVE 프로시저를 참조하십시오.

DB 인스턴스 디렉터리의 파일 목록 표시

디렉터리의 파일을 나열하려면 Amazon RDS 프로시저 rdsadmin.rds_file_util.listdir을 사용합니다. listdir 프로시저에는 다음과 같은 파라미터가 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_directory

varchar2

목록을 표시할 디렉터리의 이름입니다.

다음 예제에서는 PRODUCT_DESCRIPTIONS라는 디렉터리의 파일 목록을 표시합니다.

SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'PRODUCT_DESCRIPTIONS'));

DB 인스턴스 디렉터리의 파일 목록 읽기

텍스트 파일을 읽으려면 Amazon RDS 프로시저 rdsadmin.rds_file_util.read_text_file을 사용합니다. read_text_file 프로시저에는 다음과 같은 파라미터가 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_directory

varchar2

파일이 포함된 디렉터리의 이름입니다.

p_filename

varchar2

읽을 파일의 이름입니다.

다음 예제에서는 rice.txt 디렉터리에 PRODUCT_DESCRIPTIONS 파일을 생성합니다.

declare fh sys.utl_file.file_type; begin fh := utl_file.fopen(location=>'PRODUCT_DESCRIPTIONS', filename=>'rice.txt', open_mode=>'w'); utl_file.put(file=>fh, buffer=>'AnyCompany brown rice, 15 lbs'); utl_file.fclose(file=>fh); end; /

다음 예제에서는 rice.txt 디렉터리에서 PRODUCT_DESCRIPTIONS 파일을 읽습니다.

SELECT * FROM TABLE (rdsadmin.rds_file_util.read_text_file( p_directory => 'PRODUCT_DESCRIPTIONS', p_filename => 'rice.txt'));

Opatch 파일 액세스

Opatch는 Oracle 소프트웨어에 패치를 적용하고 롤백할 수 있는 Oracle 유틸리티입니다. 데이터베이스에 적용된 패치를 확인하는 Oracle 메커니즘이 opatch lsinventory 명령입니다. BYOL(Bring Your Own Licence) 고객에 대한 서비스 요청을 개시하기 위해 Oracle Support는 해당 lsinventory 파일 및 Opatch 에서 생성된 lsinventory_detail 파일을 요청합니다.

관리형 서비스 환경을 제공하기 위해 Amazon RDS는 Opatch에 대한 shell 액세스를 제공하지 않습니다. 그 대신, BDUMP 디렉터리의 lsinventory-dbv.txt에는 현재 엔진 버전과 관련한 패치 정보가 포함되어 있습니다. 마이너 또는 메이저 업그레이드를 수행하면 Amazon RDS가 패치를 적용한 후 1 시간 이내에 lsinventory-dbv.txt를 업데이트합니다. 적용된 패치를 확인하려면 lsinventory-dbv.txt를 확인하세요. 이 작업은 opatch lsinventory 명령을 실행하는 것과 유사합니다.

참고

이 단원의 예제에서는 BDUMP 디렉터리의 이름이 BDUMP라고 가정합니다. 읽기 전용 복제본에서는 BDUMP 디렉터리 이름이 다릅니다. 읽기 전용 복제본에서 V$DATABASE.DB_UNIQUE_NAME을 쿼리하여 BDUMP 이름을 가져오는 방법에 대한 자세한 내용은 파일 나열 단원을 참조하세요.

인벤토리 파일은 Amazon RDS 명명 규칙 lsinventory-dbv.txtlsinventory_detail-dbv.txt를 사용합니다. 여기서 dbv는 DB 버전의 전체 이름입니다. lsinventory-dbv.txt 파일은 모든 DB 버전에서 사용할 수 있습니다. 해당 lsinventory_detail-dbv.txt는 다음 DB 버전에서 사용할 수 있습니다.

  • 19.0.0.0, ru-2020-01.rur-2020-01.r1 이상

  • 12.2.0.1, ru-2020-01.rur-2020-01.r1 이상

  • 12.1.0.2, v19 이상

예를 들어 DB 버전이 19.0.0.0.ru-2021-07.rur-2021-07.r1인 경우 인벤토리 파일의 이름은 다음과 같습니다.

lsinventory-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt lsinventory_detail-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt

DB 엔진의 현재 버전과 일치하는 파일을 다운로드해야 합니다.

콘솔을 사용하여 인벤토리 파일을 다운로드하려면

  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

  3. 보고자 하는 로그 파일을 보유한 DB 인스턴스의 이름을 선택합니다.

  4. 로그 및 이벤트 탭을 선택합니다.

  5. 아래로 스크롤하여 [Logs] 섹션을 찾습니다.

  6. 로그 섹션에서 lsinventory를 검색합니다.

  7. 액세스할 파일을 선택한 다음 다운로드를 선택합니다.

SQL 클라이언트에서 lsinventory-dbv.txt를 읽으려면 SELECT 문을 사용하면 됩니다. 이 기술에서는 rdsadmin 함수인 rdsadmin.rds_file_util.read_text_file 또는 rdsadmin.tracefile_listing을 사용합니다.

다음 예제 쿼리에서 dbv를 Oracle DB 버전으로 바꿉니다. 예를 들어, DB 버전은 19.0.0.0.ru-2020-04.rur-2020-04.r1일 수 있습니다.

SELECT text FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'lsinventory-dbv.txt'));

SQL 클라이언트에서 lsinventory-dbv.txt를 읽으려면 PL/SQL 프로그램을 작성하면 됩니다. 이 프로그램은 utl_file을 사용하여 파일을 읽고 dbms_output을 사용하여 인쇄합니다. 이는 Oracle에서 제공하는 패키지입니다.

다음 예제 프로그램에서 dbv를 Oracle DB 버전으로 바꿉니다. 예를 들어, DB 버전은 19.0.0.0.ru-2020-04.rur-2020-04.r1일 수 있습니다.

SET SERVEROUTPUT ON DECLARE v_file SYS.UTL_FILE.FILE_TYPE; v_line VARCHAR2(1000); v_oracle_home_type VARCHAR2(1000); c_directory VARCHAR2(30) := 'BDUMP'; c_output_file VARCHAR2(30) := 'lsinventory-dbv.txt'; BEGIN v_file := SYS.UTL_FILE.FOPEN(c_directory, c_output_file, 'r'); LOOP BEGIN SYS.UTL_FILE.GET_LINE(v_file, v_line,1000); DBMS_OUTPUT.PUT_LINE(v_line); EXCEPTION WHEN no_data_found THEN EXIT; END; END LOOP; END; /

또는 rdsadmin.tracefile_listing을 쿼리하고 출력을 파일로 스풀링합니다. 다음 예제에서는 출력을 /tmp/tracefile.txt로 스풀링합니다.

SPOOL /tmp/tracefile.txt SELECT * FROM rdsadmin.tracefile_listing WHERE FILENAME LIKE 'lsinventory%'; SPOOL OFF;

Advisor 작업 관리

Oracle Database에는 다양한 Advisor가 포함되어 있습니다. 각 Advisor는 자동화 및 수동 작업을 지원합니다. rdsadmin.rdsadmin_util 패키지의 프로시저를 사용하여 일부 Advisor 작업을 관리할 수 있습니다.

Advisor 작업 프로시저는 다음 엔진 버전에서 사용할 수 있습니다.

Advisor 작업에 대한 파라미터 설정

일부 Advisor 작업에 대한 파라미터를 설정하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.advisor_task_set_parameter를 사용합니다. advisor_task_set_parameter 프로시저에는 다음과 같은 파라미터가 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_task_name

varchar2

파라미터를 변경할 Advisor 작업의 이름입니다. 유효한 값은 다음과 같습니다.

  • AUTO_STATS_ADVISOR_TASK

  • INDIVIDUAL_STATS_ADVISOR_TASK

  • SYS_AUTO_SPM_EVOLVE_TASK

  • SYS_AUTO_SQL_TUNING_TASK

p_parameter

varchar2

작업 파라미터의 이름입니다. Advisor 작업에 유요한 파라미터를 찾으려면 다음 쿼리를 실행합니다. p_task_namep_task_name의 유효한 값으로 바꿉니다.

COL PARAMETER_NAME FORMAT a30 COL PARAMETER_VALUE FORMAT a30 SELECT PARAMETER_NAME, PARAMETER_VALUE FROM DBA_ADVISOR_PARAMETERS WHERE TASK_NAME='p_task_name' AND PARAMETER_VALUE != 'UNUSED' ORDER BY PARAMETER_NAME;

p_value

varchar2

작업 파라미터의 값입니다. 작업 파라미터의 유효한 값을 찾으려면 다음 쿼리를 실행합니다. p_task_namep_task_name의 유효한 값으로 바꿉니다.

COL PARAMETER_NAME FORMAT a30 COL PARAMETER_VALUE FORMAT a30 SELECT PARAMETER_NAME, PARAMETER_VALUE FROM DBA_ADVISOR_PARAMETERS WHERE TASK_NAME='p_task_name' AND PARAMETER_VALUE != 'UNUSED' ORDER BY PARAMETER_NAME;

다음 PL/SQL 프로그램은 ACCEPT_PLANS에 대해 FALSESYS_AUTO_SPM_EVOLVE_TASK로 설정합니다. SQL Plan Management 자동화 작업은 계획을 확인하고 결과에 대한 보고서를 생성하지만 계획을 자동으로 개선하지는 않습니다. 보고서를 사용하여 새 SQL 계획 기준을 식별하고 수동으로 적용할 수 있습니다.

BEGIN rdsadmin.rdsadmin_util.advisor_task_set_parameter( p_task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', p_parameter => 'ACCEPT_PLANS', p_value => 'FALSE'); END;

다음 PL/SQL 프로그램은 EXECUTION_DAYS_TO_EXPIRE에 대해 10AUTO_STATS_ADVISOR_TASK로 설정합니다. 미리 정의된 작업 AUTO_STATS_ADVISOR_TASK는 유지 관리 기간 동안 하루에 한 번 자동으로 실행됩니다. 이 예에서는 작업 실행의 보존 기간을 10일로 설정합니다.

BEGIN rdsadmin.rdsadmin_util.advisor_task_set_parameter( p_task_name => 'AUTO_STATS_ADVISOR_TASK', p_parameter => 'EXECUTION_DAYS_TO_EXPIRE', p_value => '10'); END;

AUTO_STATS_ADVISOR_TASK 비활성화

AUTO_STATS_ADVISOR_TASK를 비활성화하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.advisor_task_drop을 사용합니다. advisor_task_drop 프로시저는 다음 파라미터를 받습니다.

참고

이 프로시저는 Oracle Database 12c 릴리스 2(12.2.0.1) 이상에서 사용할 수 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_task_name

varchar2

비활성화할 Advisor 작업의 이름입니다. 유일한 유효 값은 AUTO_STATS_ADVISOR_TASK입니다.

다음 명령은 AUTO_STATS_ADVISOR_TASK를 삭제합니다.

EXEC rdsadmin.rdsadmin_util.advisor_task_drop('AUTO_STATS_ADVISOR_TASK')

AUTO_STATS_ADVISOR_TASK를 사용하여 rdsadmin.rdsadmin_util.dbms_stats_init를 다시 활성화 할 수 있습니다.

AUTO_STATS_ADVISOR_TASK 다시 활성화

AUTO_STATS_ADVISOR_TASK를 다시 활성화하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.dbms_stats_init를 사용합니다. dbms_stats_init 프로시저에는 파라미터가 없습니다.

다음 명령은 AUTO_STATS_ADVISOR_TASK를 다시 활성화합니다.

EXEC rdsadmin.rdsadmin_util.dbms_stats_init()

Oracle DB 인스턴스에 대해 HugePages 활성화

Amazon RDS for Oracle은 Linux 커널 HugePages를 지원해 데이터베이스 확장성을 높입니다. HugePages를 사용하면 페이지 표가 작아지고 메모리 관리에 사용되는 CPU 시간이 줄어 대용량 데이터베이스 인스턴스의 성능이 높아집니다. 자세한 내용은 Oracle 문서의 Overview of HugePages 단원을 참조하십시오.

HugePages는 다음과 같은 Oracle Database 버전에 사용할 수 있습니다.

  • 19.0.0.0, 모든 버전

  • 12.2.0.1, 모든 버전

  • 12.1.0.2, 모든 버전

use_large_pages 파라미터는 DB 인스턴스에서 HugePages의 활성화 여부를 제어합니다. 이 파라미터는 ONLY, FALSE 또는 {DBInstanceClassHugePagesDefault}로 설정할 수 있습니다. Oracle용 기본 DB 파라미터 그룹에서는 use_large_pages 파라미터가 {DBInstanceClassHugePagesDefault}로 설정됩니다.

DB 인스턴스에서 HugePages의 자동 활성화 여부를 제어하기 위해 파라미터 그룹에서 DBInstanceClassHugePagesDefault 수식 변수를 사용할 수 있습니다. 값은 다음과 같이 결정합니다.

  • 다음 표에서 언급한 DB 인스턴스 클래스의 경우 DBInstanceClassHugePagesDefault는 항상 FALSE가 기본값이며 use_large_pagesFALSE로 평가됩니다. 이때는 DB 인스턴스 클래스의 메모리 크기가 14GiB 이상이라면 이러한 DB 인스턴스 클래스의 HugePages를 수동으로 활성화할 수 있습니다.

  • 다음 표에서 언급하지 않은 DB 인스턴스 클래스의 경우 DB 인스턴스 클래스의 메모리가 14GiB 미만이면 DBInstanceClassHugePagesDefault는 항상 FALSE로 평가됩니다. 또한 use_large_pagesFALSE로 평가됩니다.

  • 다음 표에서 언급하지 않은 DB 인스턴스 클래스의 경우 인스턴스 클래스의 메모리가 14GiB 이상에서 100GiB 미만이면 DBInstanceClassHugePagesDefault의 기본값이 TRUE로 평가됩니다. 또한 use_large_pagesONLY로 평가됩니다. use_large_pagesFALSE로 설정하면 HugePages를 수동으로 비활성화할 수 있습니다.

  • 다음 표에서 언급하지 않은 DB 인스턴스 클래스의 경우 인스턴스 클래스의 메모리가 100GiB 이상이면 DBInstanceClassHugePagesDefault는 항상 TRUE로 평가됩니다. 또한 use_large_pagesONLY로 평가되며 HugePages는 비활성화할 수 없습니다.

다음 DB 인스턴스 클래스의 경우, HugePages가 기본적으로 활성화되지 않습니다.

DB 인스턴스 클래스 패밀리 HugePages가 기본적으로 활성화되지 않는 DB 인스턴스 클래스

db.m5

db.m5.large

db.m4

db.m4.large, db.m4.xlarge, db.m4.2xlarge, db.m4.4xlarge, db.m4.10xlarge

db.t3

db.t3.micro, db.t3.small, db.t3.medium, db.t3.large

DB 인스턴스 클래스에 대한 자세한 내용은 에 대한 DB 인스턴스 클래스의 하드웨어 사양 단원을 참조하십시오.

신규 또는 기존 DB 인스턴스에 HugePages를 수동으로 활성화하려면 use_large_pages 파라미터를 ONLY로 설정합니다. Oracle Automatic Memory Management(AMM)에 HugePages를 사용할 수 없습니다. 파라미터 use_large_pagesONLY로 설정하면 memory_targetmemory_max_target0으로 설정해야 합니다. DB 인스턴스를 위한 DB 파라미터를 설정하는 자세한 방법은 DB 파라미터 그룹 작업 단원을 참조하십시오.

sga_target, sga_max_size, pga_aggregate_target 파라미터도 설정할 수 있습니다. 시스템 글로벌 영역(SGA)과 프로그램 글로벌 영역(PGA) 메모리 파라미터를 설정할 때 값을 모두 더합니다. 사용 가능한 인스턴스 메모리(DBInstanceClassMemory)에서 이 합산 값을 빼면 HugePages 할당 후 가용 메모리를 알 수 있습니다. 최소 2GiB 또는 총 가용 인스턴스 메모리의 10퍼센트 중에서 적은 용량을 비워두어야 합니다.

파라미터를 구성한 후 DB 인스턴스를 재부팅해야 변경 사항이 적용됩니다. 자세한 내용은 DB 인스턴스 재부팅 섹션을 참조하세요.

참고

장애 조치 없이 인스턴스를 재부팅할 때까지 Oracle DB 인스턴스는 SGA 관련 초기화 파라미터에 대한 변경 사항을 연기합니다. Amazon RDS 콘솔에서 재부팅을 선택하지만 장애 조치로 재부팅선택하지 않습니다. AWS CLI에서 reboot-db-instance 파라미터로 --no-force-failover 명령을 호출합니다. DB 인스턴스는 장애 조치 중이나 인스턴스를 다시 시작하는 기타 유지 관리 작업 중에는 SGA 관련 파라미터를 처리하지 않습니다.

다음은 HugePages를 수동으로 활성화할 수 있는 샘플 파라미터 구성입니다. 사용자의 필요에 맞게 값을 설정해야 합니다.

memory_target = 0 memory_max_target = 0 pga_aggregate_target = {DBInstanceClassMemory*1/8} sga_target = {DBInstanceClassMemory*3/4} sga_max_size = {DBInstanceClassMemory*3/4} use_large_pages = ONLY

파라미터 그룹에서 파라미터 값이 다음과 같이 설정되어 있다고 가정합니다.

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = {DBInstanceClassHugePagesDefault}

이 파라미터 그룹은 메모리가 100GiB 미만인 db.r4 DB 인스턴스 클래스에서 사용됩니다. 이렇게 파라미터를 설정하고 use_large_pages{DBInstanceClassHugePagesDefault}로 설정되면 db.r4 인스턴스에서 HugePages가 활성화됩니다.

또 다른 예제에서는 파라미터 그룹의 파라미터 값이 다음과 같이 설정되어 있다고 가정합니다.

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = FALSE

위의 파라미터 그룹은 db.r4 DB 인스턴스 클래스와 db.r5 DB 인스턴스 클래스 모두에서 메모리가 100GiB 미만일 때 사용됩니다. 이 파라미터 설정을 사용하면 db.r4 및 db.r5 인스턴스에서 HugePages가 비활성화됩니다.

참고

위의 파라미터 그룹이 메모리 크기가 100GiB 이상인 db.r4 DB 인스턴스 클래스 또는 db.r5 DB 인스턴스에서 사용될 경우에는 FALSEuse_large_pages 설정이 ONLY 설정으로 재정의됩니다. 이때는 재정의에 대한 알림 메시지가 고객에게 전송됩니다.

DB 인스턴스에 HugePages가 활성화된 후 향상된 모니터링을 활성화하여 방대한 페이지 정보를 볼 수 있습니다. 자세한 내용은 확장 모니터링을 사용하여 OS 모니터링 섹션을 참조하세요.

확장 데이터 형식 활성화

Amazon RDS Oracle Database 12c는 확장 데이터 유형을 지원합니다. 확장 데이터 유형의 경우 VARCHAR2, NVARCHAR2 및 RAW 데이터 유형의 최대 크기는 32,767바이트입니다. 확장 데이터 유형을 사용하려면 MAX_STRING_SIZE 파라미터를 EXTENDED로 설정하십시오. 자세한 내용은 Oracle 설명서의 확장 데이터 유형 단원을 참조하십시오.

확장 데이터 유형을 사용하지 않을 경우 MAX_STRING_SIZE 파라미터를 STANDARD(기본값)로 유지하십시오. 이 파라미터가 STANDARD로 설정되어 있으면 VARCHAR2 및 NVARCHAR2의 크기 제한은 4,000바이트이며 RAW 데이터 유형은 2,000바이트입니다.

새 또는 기존 DB 인스턴스에 대해 확장 데이터 유형을 활성화할 수 있습니다. 새 DB 인스턴스의 경우 확장 데이터 형식을 활성화하면 일반적으로 DB 인스턴스 생성 시간이 길어집니다. 기존 DB 인스턴스의 경우 변환 과정 중 DB 인스턴스를 사용할 수 없습니다.

확장 데이터 유형이 활성화된 DB 인스턴스에 대한 고려 사항은 다음과 같습니다.

  • DB 인스턴스에 대해 확장 데이터 형식을 활성화하면 데이터 유형에 표준 크기를 사용하도록 DB 인스턴스를 변경할 수 없습니다. 확장 데이터 유형을 사용하도록 DB 인스턴스를 변환한 후 MAX_STRING_SIZE 파라미터를 STANDARD로 다시 설정한 경우에는 incompatible-parameters 상태가 됩니다.

  • 확장 데이터 유형을 사용하는 DB 인스턴스를 복원하면 MAX_STRING_SIZE 파라미터를 EXTENDED로 설정한 상태에서 파라미터 그룹을 지정해야 합니다. 복원 과정에서 MAX_STRING_SIZESTANDARD로 설정한 상태에서 기본값 파라미터 그룹 또는 기타 파라미터 그룹을 지정한 경우에는 incompatible-parameters 상태가 됩니다.

  • t2.micro DB 인스턴스 클래스에서 실행하는 Oracle DB 인스턴스의 경우에는 확장 데이터 유형을 활성화하지 않는 것이 좋습니다.

incompatible-parameters 설정 때문에 DB 인스턴스 상태가 MAX_STRING_SIZE가 되면 MAX_STRING_SIZE 파라미터를 EXTENDED로 설정하고 DB 인스턴스를 재부팅해야만 DB 인스턴스를 사용 가능합니다.

새 DB 인스턴스에 대한 확장 데이터 유형 활성화

새 DB 인스턴스에 대해 확장 데이터 유형을 활성화하려면

  1. 파라미터 그룹의 MAX_STRING_SIZE 파라미터를 EXTENDED로 설정하십시오.

    파라미터를 설정하려면 새 파라미터 그룹을 생성하거나 기존 DB 파라미터 그룹을 수정하면 됩니다.

    자세한 내용은 DB 파라미터 그룹 작업 섹션을 참조하세요.

  2. 새 Amazon RDS Oracle DB 인스턴스를 생성하고 MAX_STRING_SIZEEXTENDED로 설정한 파라미터 그룹을 DB 인스턴스와 연결하십시오.

    자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.

기존 DB 인스턴스에 대한 확장 데이터 유형 활성화

확장 데이터 유형을 활성화하도록 DB 인스턴스를 수정하면 데이터베이스의 데이터가 확장 크기를 사용하도록 변환됩니다. 변환 과정 중에는 DB 인스턴스를 사용할 수 없습니다. 데이터를 변환하는 데 걸리는 시간은 DB 인스턴스에서 사용하는 DB 인스턴스 클래스와 데이터베이스 크기에 따라 다릅니다.

참고

활성 데이터 유형을 활성화한 후에는 변환 과정 중 시간인 특정 시점으로 복원을 수행할 수 없습니다. 변환 직전 또는 변환 직후 시간으로는 복원할 수 있습니다.

기존 DB 인스턴스에 대해 확장 데이터 유형을 활성화하려면

  1. 데이터베이스의 스냅샷을 만드십시오.

    데이터베이스에 잘못된 객체가 있는 경우 Amazon RDS는 이들 객체를 다시 컴파일하려고 합니다. Amazon RDS가 잘못된 객체를 다시 컴파일할 수 없는 경우 확장 데이터 유형으로의 변환은 실패할 수 있습니다. 변환에 문제가 있는 경우 스냅샷을 사용하면 데이터베이스를 복원할 수 있습니다. 변환하기 전에 항상 잘못된 객체가 있는지 점검하고 잘못된 객체를 수정하거나 제거하십시오. 프로덕션 데이터베이스의 경우 먼저 DB 인스턴스의 복사본에서 변환 프로세스를 테스트하는 것이 좋습니다.

    자세한 내용은 DB 스냅샷 생성 섹션을 참조하세요.

  2. 파라미터 그룹의 MAX_STRING_SIZE 파라미터를 EXTENDED로 설정하십시오.

    파라미터를 설정하려면 새 파라미터 그룹을 생성하거나 기존 DB 파라미터 그룹을 수정하면 됩니다.

    자세한 내용은 DB 파라미터 그룹 작업 섹션을 참조하세요.

  3. MAX_STRING_SIZEEXTENDED로 설정한 파라미터 그룹과 연결하도록 DB 인스턴스를 수정하십시오.

    자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.

  4. 파라미터 변경 사항을 적용하려면 DB 인스턴스를 재부팅하십시오.

    자세한 내용은 DB 인스턴스 재부팅 섹션을 참조하세요.