Autonomous Database on Dedicated Exadata Infrastructure의 Oracle Database 기능
이 문서에서는 Autonomous Database on Dedicated Exadata Infrastructure의 Oracle Database 기능 및 옵션 사용에 대한 정보를 제공합니다.
Autonomous Database Serverless 배포에 해당하는 정보는 Autonomous Database for Experienced Database Users를 참조하십시오.
상위 ACD(자율운영 컨테이너 데이터베이스)의 데이터베이스 소프트웨어 버전에 따라 Autonomous Database를 Oracle Database 19c 또는 Oracle Database 23ai와 함께 프로비저닝할 수 있습니다. 예를 들어, Oracle Database 23ai를 사용하여 Autonomous Database를 생성하려면 Oracle 데이터베이스 소프트웨어 버전이 23ai인 ACD를 선택해야 합니다. 각 데이터베이스 버전에서 지원하는 포괄적인 데이터베이스 기능 목록은 Oracle Database 23ai 또는 Oracle Help Center의 Oracle Database 19c를 참조하십시오.
Autonomous Database는 귀사의 데이터베이스를 구성 및 최적화합니다. 데이터베이스를 구성하기 위해 관리 작업을 수행할 필요는 없습니다. 이 서비스에서는 데이터베이스 관리에만 사용되는 SQL 명령을 사용할 수 없습니다. 마찬가지로 RMAN
와 같은 다른 관리 인터페이스 및 유틸리티는 사용할 수 없습니다.
Autonomous Database에서 처리되는 Oracle 데이터베이스의 주요 기능 중 몇 가지에 대해 살펴보겠습니다.
- 데이터 및 임시 테이블스페이스: 데이터베이스의 기본 데이터 및 임시 테이블스페이스가 자동으로 구성됩니다. 기본 데이터 테이블스페이스의 이름은 DATA입니다.
- 데이터베이스 문자 집합: 데이터베이스 문자 집합은 유니코드 AL32UTF8입니다.
- 저장된 데이터 암호화: 저장된 데이터는 AES256(Advanced Encryption Standard 256비트 암호화 키) 알고리즘을 사용하여 암호화됩니다.
주:
2021년 9월 이전에 생성된 Autonomous Database는 기본적으로 AES128 알고리즘을 사용합니다.필요한 경우ALTER TABLESPACE
명령을 사용하여 테이블스페이스에 대한 암호화 알고리즘을 변경할 수 있습니다. 예를 들어, DATA 테이블스페이스의 암호화 알고리즘을 AES256로 변경하려면 다음을 입력합니다.ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
- 데이터 압축: Autonomous Transaction Processing 워크로드의 경우 압축이 기본적으로 사용으로 설정되지 않습니다. Autonomous Data Warehouse 워크로드의 경우 모든 테이블에 대해 하이브리드 열 압축이 기본적으로 사용으로 설정됩니다.
압축을 사용 또는 사용 안함으로 설정하거나
CREATE TABLE
또는ALTER TABLE
명령에서table_compression
절을 사용하여 테이블에 대해 다른 압축 방법을 지정합니다. - 데이터베이스 액세스: 데이터베이스 노드나 로컬 파일 시스템 및 SYSTEM 또는 SYSAUX 테이블스페이스에 직접 액세스할 수 없습니다.
- 병렬 실행: 기본적으로 병렬 실행(SQL 문 내의 병렬화)은 Autonomous Transaction Processing 작업 로드에 대해 사용으로 설정되지 않습니다. 그러나 Autonomous Data Warehouse 워크로드의 경우 병렬 실행이 기본적으로 사용으로 설정되며 SQL 문의 병렬도는 시스템에 있는 CPU 수와 데이터베이스에 접속할 때 사용하는 데이터베이스 서비스에 따라 설정됩니다.
parallel_clause
를 사용하거나 힌트를 사용하여 테이블이나 인덱스의 병렬도를 수정할 수 있습니다. 예를 들어, 다음 SQL 명령을 사용하여 세션에서 병렬 DML을 비활성화할 수 있습니다.ALTER SESSION DISABLE PARALLEL DML;
병렬 DML 작업에 대한 자세한 내용은 Oracle Database 19c VLDB and Partitioning Guide 또는 Oracle Database 23ai VLDB and Partitioning Guide를 참조하십시오.
- 인덱스를 수동으로 만들고 parallel_clause를 지정하면 인덱스가 생성된 후 병렬 속성이 유지됩니다. 이 경우 SQL 문은 일반 유저에게 알려지지 않은 병렬로 실행될 수 있습니다. parallel_clause 값을 NOPARALLEL로 변경하거나 PARALLEL 속성을 1로 설정하여 직렬 실행을 지정합니다.
ALTER INDEX index_name NOPARALLEL;
또는
ALTER INDEX index_name PARALLEL 1;
최신 Autonomous Database 기능
Autonomous Database에는 최신 Oracle Database 기능이 포함되어 있습니다.
Autonomous Database에는 다음과 같은 기능이 포함되어 있습니다.
-
응용 프로그램 작업 로드의 변경 사항에 따라 인덱스를 생성, 재구축 및 삭제하는 등의 인덱스 관리 작업을 자동화합니다. 자세한 내용은 Oracle Database 19c Administrator's Guide의 Managing Auto Indexes 또는 Oracle Database 23ai Administrator's Guide를 참조하십시오.
-
기본 DML 작업 로드가 실행 중인 동안에는 실시간 통계를 자동으로 수집합니다.
DBMS_STATS
작업 간에 통계가 오래될 수 있으므로 기본 DML에 대한 온라인 통계 수집은 옵티마이저가 보다 최적화된 계획을 생성하는 데 도움이 됩니다. 온라인 통계의 목적은 오래된 통계로 인해 옵티마이저가 오도될 가능성을 줄이는 것입니다. PL/SQL 패키지, 데이터 딕셔너리 뷰 및 힌트를 통해 기본 DML에 대한 통계를 관리하고 액세스할 수 있습니다. 자세한 내용은 Oracle Database 19c SQL Tuning Guide의 실시간 통계 또는 Oracle Database 23ai SQL Tuning Guide를 참조하십시오. -
보다 자주 통계를 자동으로 수집합니다. 높은 빈도의 자동 옵티마이저 통계 수집은 표준 통계 수집 작업을 보완합니다. 기본적으로 컬렉션은 15분마다 발생합니다. 즉, 통계의 시간이 오래 걸릴 수도 있습니다. 자세한 내용은 Oracle Database 19c SQL Tuning Guide의 Configuring High-Frequency Automatic Optimizer Statistics Collection 또는 Oracle Database 23ai SQL Tuning Guide를 참조하십시오.
-
Resource Manager가 Oracle 데이터베이스에서 과도한 시스템 리소스를 소비하기 위해 종료하는 SQL 문에 대한 실행 계획을 격리합니다.
DBMS_SQLQ
패키지의 프로시저를 사용하여 리소스 사용량에 대한 제한을 지정하여 SQL 문에 대한 격리 설정을 구성할 수 있습니다. SQL 문이 이러한 리소스 소비 제한을 초과하면 명령문이 종료되고 실행 계획이 격리됩니다. 이러한 방식으로 데이터베이스는 리소스가 많은 SQL 문이 반복적으로 실행되지 않도록 합니다. 자세한 내용은 Oracle Database 19c Administrator's Guide의 Quarantine for Execution Plans for SQL Statements Consuming Excessive System Resources 또는 Oracle Database 23ai Administrator's Guide를 참조하십시오. - Internet of Things(IoT) 응용 프로그램과 같은 응용 프로그램에 대해 빈도가 높은 단일 행 삽입을 최적화합니다. Oracle Database 19c Performance Tuning Guide 또는 Oracle Database 23ai Performance Tuning Guide의 Enabling High Performance Data Streaming With the Memoptimized Rowstore을 참조하십시오.
ADMIN 사용자 및 SYS 사용자
Oracle Autonomous Database on Dedicated Exadata Infrastructure에서 미리 정의된 관리 사용자는 ADMIN입니다. Oracle Database에서 미리 정의된 관리 사용자는 SYS입니다. 이 두 유저는 각 데이터베이스에서 동일한 목적을 제공하지만 동일하지는 않으며 동일한 권한 집합을 갖지 않습니다.
Oracle Autonomous Database on Dedicated Exadata Infrastructure는 보안 제어를 부과하고 관리 데이터베이스 작업을 자동으로 수행하므로 ADMIN 사용자는 SYS 사용자만큼의 권한을 갖지 않습니다. 다음은 ADMIN 사용자가 가지고 있지 않지만 Oracle Database의 SYS 사용자가 가지고 있는 권한 목록입니다.
ALTER LOCKDOWN PROFILE BACKUP ANY TABLE BECOME USER CREATE ANY JOB CREATE ANY LIBRARY CREATE LIBRARY CREATE LOCKDOWN PROFILE CREATE PLUGGABLE DATABASE DEQUEUE ANY QUEUE DROP LOCKDOWN PROFILE EM EXPRESS CONNECT ENQUEUE ANY QUEUE EXPORT FULL DATABASE FLASHBACK ANY TABLE FLASHBACK ARCHIVE ADMINISTER GRANT ANY PRIVILEGE GRANT ANY ROLE IMPORT FULL DATABASE INHERIT ANY PRIVILEGES LOGMINING MANAGE ANY FILE GROUP MANAGE ANY QUEUE MANAGE FILE GROUP USE ANY JOB RESOURCE USE ANY SQL TRANSLATION PROFILE
ANY 키워드를 사용하는 모든 시스템 권한(예: SELECT ANY TABLE
, CREATE ANY PROCEDURE
)은 COMMON_SCHEMA_ACCESS
잠금을 적용하며 ADMIN 사용자는 공통 사용자 스키마에 대해 이 잠금을 사용할 수 없습니다.
ANY 키워드가 SYS를 제외한 모든 사용자에게 적용되는 온프레미스 Oracle 데이터베이스와 달리 ANY 권한은 Autonomous Database의 일반 사용자가 아닌 사용자만 사용할 수 있습니다.
참고:
일반 유저 리스트를 찾으려면 ADMIN 유저로 다음 query를 실행할 수 있습니다.select username
from dba_users
where common ='YES'
order by username;
참고:
ANY 키워드와 함께 사용할 수 있는 권한 리스트를 보려면 다음 query를 ADMIN 유저로 실행할 수 있습니다.select distinct(privilege)
from dba_sys_privs
where grantee like 'ADMIN' and privilege like '%ANY%'
order by privilege;
데이터베이스 초기화 매개변수
Autonomous Database는 데이터베이스를 프로비저닝할 때 데이터베이스 초기화 매개변수를 자동으로 구성합니다. 서비스 사용을 시작하기 위해 초기화 파라미터를 설정할 필요는 없습니다. 필요한 경우 일부 매개변수를 수정할 수 있습니다.
수정할 수 있는 초기화 매개변수 목록
주:
자세한 내용을 보려면 다음 목록에서 초기화 매개변수를 누르십시오. 아래에서 누를 수 없는 매개변수는 Oracle Database 19c Reference 또는 Oracle Database 23ai Reference를 참조하십시오.ALLOW_ROWID_COLUMN_TYPE
APPROX_FOR_AGGREGATION
APPROX_FOR_COUNT_DISTINCT
APPROX_FOR_PERCENTILE
AWR_PDB_AUTOFLUSH_ENABLED
CONTAINER_DATA
CURRENT_SCHEMA (Session only by using ALTER SESSION)
CURSOR_SHARING
DB_BLOCK_CHECKING
DDL_LOCK_TIMEOUT
FIXED_DATE
GLOBAL_NAMES
HEAT_MAP
IGNORE_SESSION_SET_PARAM_ERRORS
INMEMORY_OPTIMIZED_ARITHMETIC (Allowed only with ALTER SYSTEM)
INMEMORY_QUERY (Allowed with ALTER SYSTEM and ALTER SESSION)
JOB_QUEUE_PROCESSES (You can only lower its value or bring it back to the original value)
LDAP_DIRECTORY_ACCESS
MAX_IDLE_TIME
NLS_CALENDAR
NLS_COMP
NLS_CURRENCY
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY
NLS_LANGUAGE
NLS_LENGTH_SEMANTICS
NLS_NCHAR_CONV_EXCP
NLS_NUMERIC_CHARACTERS
NLS_SORT
NLS_TERRITORY
NLS_TIME_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
OPEN_CURSORS (Allowed range of values are 1000 to 4000)
OPEN_LINKS (You must set SCOPE=SPFILE and restart the Autonomous Database after modifying this parameter)
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES (Session only by using ALTER SESSION)
OPTIMIZER_IGNORE_HINTS
OPTIMIZER_IGNORE_PARALLEL_HINTS
OPTIMIZER_INMEMORY_AWARE (Allowed with ALTER SYSTEM and ALTER SESSION)
OPTIMIZER_MODE
PARALLEL_MIN_DEGREE
PARALLEL_DEGREE_LIMIT
PLSCOPE_SETTINGS
PLSQL_CCFLAGS
PLSQL_DEBUG
PLSQL_OPTIMIZE_LEVEL
PLSQL_WARNINGS
QUERY_REWRITE_INTEGRITY
RECYCLEBIN
RESULT_CACHE_MODE
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SQL_TRACE (Allowed only with ALTER SESSION)
STATISTICS_LEVEL (Session only by using ALTER SESSION)
SYSDATE_AT_DBTIMEZONE Select a Time Zone for SYSDATE on Autonomous Database
TIME_ZONE
UNDO_RETENTION (min=300 and max=86400)
SYSDATE_AT_DBTIMEZONE Autonomous Database에서 SYSDATE에 대한 시간대 선택
SYSDATE_AT_DBTIMEZONE
는 SYSDATE
및 SYSTIMESTAMP
호출에서 반환된 날짜 및 시간 값에 대해 세션에서 특수 처리를 사용으로 설정합니다.
SYSDATE_AT_DBTIMEZONE
값에 따라 기본 Autonomous Database 시간대, UTC(Coordinated Universal Time) 또는 데이터베이스에서 설정한 시간대를 기반으로 하는 날짜와 시간이 표시됩니다.
속성 | 설명 |
---|---|
매개변수 유형 | Boolean |
기본값 | FALSE |
수정 가능 | ALTER SESSION , ALTER SYSTEM |
값 범위 | TRUE | FALSE |
기본 Autonomous Database 시간대
기본 Autonomous Database 시간대는 UTC(Coordinated Universal Time)이며, 기본적으로 SYSDATE
를 호출하면 SYSTIMESTAMP
이 날짜 및 시간을 UTC로 반환합니다.
데이터베이스 시간대를 변경하려면 다음 명령문을 실행할 수 있습니다. 이 예에서는 데이터베이스 시간대를 UTC-5
로 설정합니다.
ALTER DATABASE SET TIME_ZONE='-05:00';
주:
변경사항을 적용하려면 Autonomous Database 인스턴스를 재시작해야 합니다.데이터베이스 시간대를 설정한 후 기본적으로 SYSDATE
및 SYSTIMESTAMP
는 날짜 및 시간을 UTC로 계속 반환합니다(기본적으로 SYSDATE_AT_DBTIMEZONE
는 FALSE
임). 세션에서 SYSDATE_AT_DBTIMEZONE
를 TRUE
로 설정하면 SYSDATE
및 SYSTIMESTAMP
가 데이터베이스 시간대를 반환합니다.
ALTER DATABASE
와 함께 SET TIME_ZONE
절을 사용하는 방법에 대한 자세한 내용은 Setting the Database Time Zone in Oracle Database 19c 또는 Setting the Database Time Zone in Oracle Database 23ai을 참조하십시오.
세션에서 SYSDATE_AT_DBTIMEZONE 사용
세션에서 SYSDATE_AT_DBTIMEZONE
가 FALSE
인 경우 SYSDATE
및 SYSTIMESTAMP
를 호출하면 기본 Autonomous Database 시간대인 UTC(Coordinated Universal Time)를 기반으로 값이 반환됩니다.
세션에서 SYSDATE_AT_DBTIMEZONE
가 TRUE
인 경우 SYSDATE
또는 SYSTIMESTAMP
를 호출하면 데이터베이스 시간대를 기준으로 날짜 및 시간이 반환됩니다.
주:
SYSDATE_AT_DBTIMEZONE
를 TRUE
로 설정하면 애플리케이션 SQL(예: 질의, DML 및 CTAS 작업)에서 SYSDATE
및 SYSTIMESTAMP
를 연산자로만 사용할 수 있습니다. 이 매개변수를 사용할 때는 클라이언트/세션 시간대가 데이터베이스 시간대와 일치하는 것이 좋습니다.
예
다음 예에서는 SYSDATE_AT_DBTIMEZONE
매개변수 값을 기반으로 서로 다른 두 시간대에 대한 날짜 및 시간을 반환합니다.
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIMEZONE
_____________
-05:00
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00
주:
SYSDATE
또는 SYSTIMESTAMP
질의가 데이터베이스 작업의 SQL 워크시트에서 실행되는 경우 반환되는 시간 및 날짜 값은 UTC(SYSDATE_AT_DBTIMEZONE
매개변수가 TRUE
또는 FALSE
로 설정된 경우)입니다. Database Actions에서 작업할 때 데이터베이스 시간대를 얻으려면 다음과 같이 TO_CHAR()
를 사용하십시오.
SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00