OATS (Object Activity Tracking System)
·
Oracle/Administration
Oracle 21c에 OATS 기능이 추가되었습니다. OATS(Object Activity Tracking System)는 데이터베이스 객체와 관련된 다양한 유형의 Activity에 대한 정보를 제공하는 RDBMS 기반 추적 서비스입니다. Activity는 테이블 스캔이나 로딩처럼 사용자나 시스템이 수행한 작업을 나타냅니다. 대부분의 Activity은 15분 동안 테이블을 스캔한 횟수와 같이 빈도(즉, 고정된 시간 간격에 따른 횟수)의 형태로 추적됩니다.Object Activity Tracking System (OATS) is a generic RDBMS based tracking service that provides information about various types of activities a..
Staging Table
·
Oracle/Administration
Oracle 23ai에 Staging Table 기능이 추가되었습니다. 적재 성능을 개선하기 위해 로깅 최소화 등의 기능이 추가되기를 바랬지만 현재까지는 압축, 통계 수집, 파티션 관리가 불가능하고 삭제시 즉시 PURGE되는 점을 제외하면 일반 테이블과 크게 다르지 않은 것 같습니다.Staging tables are heap tables optimized for fast data ingestion and for handling volatile data. Key table attributes are set to defaults for these use cases without any additional user interaction. Creating staging tables rather than 'nor..
ALTER SYSTEM FLUSH LOCAL
·
Oracle/Administration
Oracle 23ai 문서의 ALTER SYSTEM 문 내용에 아래와 같이 RAC 환경에서 FLUSH할 대상을 LOCAL과 GLOBAL로 지정할 수 있는 구문이 추가되었습니다.ALTER SYSTEM FLUSH { BUFFER_CACHE | FLASH_CACHE } [ LOCAL | GLOBAL ]; 흥미로운 사실은 기본값이 LOCAL이 아닌 GLOBAL이라는 점입니다. 실제로 특정 노드에서 ALTER SYSTEM FLUSH BUFFER_CACHE 문을 수행하면 RAC 전체 노드의 Buffer Cache가 Flush됩니다.The FLUSH BUFFER_CACHE clause lets you clear all data from the buffer cache in the system global area (S..
ALTER TABLE MOVE 개선
·
Oracle/Administration
Oracle 21c의 VLDB and Partitioning Guide에 아래의 설명이 추가되었습니다.As of Oracle Database 21c, you can move partitioned and subpartitioned tables with a single DDL command. 테스트를 위해 아래와 같이 테이블을 생성하겠습니다.-- 1DROP TABLE t1 PURGE;CREATE TABLE t1 (c1 NUMBER, c2 NUMBER)PARTITION BY RANGE (c1)SUBPARTITION BY HASH (c2)SUBPARTITION TEMPLATE ( SUBPARTITION sp1 , SUBPARTITION sp2) ( PARTITION p1 VALUES LESS THA..
해시 파티션과 ORA_HASH 함수
·
Oracle/Administration
해시 파티션은 ORA_HASH 함수와 동일한 해시 알고리즘을 사용합니다. ORA_HASH 함수로 해시 파티션에 대한 skewness를 시뮬레이션할 수 있습니다. 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. t1, t2 테이블은 64개의 해시 파티션으로 구성되어 있으며, t1 테이블은 1개, t2 테이블은 2개의 파티션 키로 해시 파티션을 생성합니다. -- 1 DROP TABLE t1 PURGE; DROP TABLE t2 PURGE; CREATE TABLE t1 (c1) PARTITION BY HASH (c1) PARTITIONS 64 AS SELECT ROWNUM FROM XMLTABLE ('1 to 64'); CREATE TABLE t2 (c1, c2) PARTITION BY HASH (c1, ..
Read Only PDB User
·
Oracle/Administration
Oracle 23c에 PDB 유저를 Read Only로 설정할 수 있는 기능이 추가되었습니다. 테스트를 위해 아래와 같이 u1 유저를 생성하겠습니다.-- 1: SYSDROP USER u1 CASCADE;CREATE USER u1 IDENTIFIED BY u1 DEFAULT TABLESPACE users QUOTA UNLIMITED ON users;GRANT CREATE SESSION to u1; 아래와 같이 Read Only로 설정한 u1 유저에서 DML을 수행하면 ORA-28194 에러가 발생합니다.-- 2-1: U1CREATE TABLE t1 (c1 NUMBER);INSERT INTO t1 VALUES (1);1 개의 행이 만들어졌습니다.-- 2-2: SYSALTER USER u1 READ ONLY;..
LOB 세그먼트명 변경 프로시저
·
Oracle/Administration
Oracle 23c에 LOB 세그먼트명을 변경할 수 있는 기능이 추가되었습니다.To rename an existing LOB segment users perform an operation such as ALTER TABLE ... MOVE, which could perform slowly since the operation physically moves the LOB data as part of the renaming. This enhancement improves the performance of renaming a LOB segment, at the table, partition and subpartition level by eliminating the physical movement of the L..
파티션명 변경 프로시저
·
Oracle/Administration
해시 파티션과 시스템 파티션은 직접 파티션명을 지정하지 않거나 SUBPARTITION TEMPLATE을 정의하지 않으면 파티션명이 자동으로 생성됩니다. 자동으로 생성된 파티션명은 PARTITION 절에서 사용하기에 불편합니다. 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP TABLE t1 PURGE; CREATE TABLE t1 (c1 NUMBER, c2 NUMBER) PARTITION BY HASH (c1) SUBPARTITION BY HASH (c2) SUBPARTITIONS 2 PARTITIONS 2; 해시 파티션과 시스템 파티션은 기본적으로 접두어가 SYS_P인 파티션명으로 생성됩니다. -- 2-1 SELECT partition_name, partition_position ..
Asynchronous Global Index Maintenance
·
Oracle/Administration
개요 Oracle 12c에 Asynchronous Global Index Maintenance 기능이 추가되었습니다. 이 기능은 글로벌 인덱스의 관리 작업을 비동기로 수행함으로써 글로벌 인덱스를 가진 테이블에 대한 DROP PARTITION과 TRUNCATE PARTITION의 성능을 개선합니다. 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP TABLE t1 PURGE; CREATE TABLE t1 (c1, c2) PARTITION BY RANGE (c1) ( PARTITION p1 VALUES LESS THAN (5000001) , PARTITION p2 VALUES LESS THAN (MAXVALUE) ) AS SELECT ROWNUM, 'X' FROM XMLTABLE ('1 ..
Precheckable Constraints using JSON SCHEMA
·
Oracle/Administration
Oracle 23c에 Precheckable Constraints using JSON SCHEMA 기능(이후 Precheck 제약 조건)이 추가되었습니다. Precheck 제약 조건의 JSON 값을 사용하면 애플리케이션에서 값을 사전 검증할 수 있습니다.Supported check constraints can be checked outside the database. For this, you mark the check constraint as PRECHECK. For example, you can create a JSON Schema document from a table or column with precheckable check constraint. This means that data could b..
DDL auto commit 비활성화
·
Oracle/Administration
Oracle 23c에 DDL 문이 수행하는 auto commit을 비활성화하는 기능이 추가되었습니다. 이 기능은 _kql_disable_auto_commit 파라미터와 관련이 있습니다. 이 파라미터를 TRUE로 설정하면 DDL 문 수행 전후에 자동으로 수행되는 커밋이 비활성화됩니다.-- 1NAME VALUE DEFAULT_VALUE DESCRIPTION------------------------ ----- ------------- --------------------------------------_kql_disable_auto_commit FALSE FALSE Disable DDL auto commit in the session 테스트를 위해 아래와 같..
최대 칼럼 수 증가
·
Oracle/Administration
Oracle 23c부터 테이블과 뷰의 최대 칼럼 수가 1000개에서 4096개로 늘어났습니다.The maximum number of columns allowed in a database table or view has been increased to 4096. This feature allows you to build applications that can store attributes in a single table with more than the previous 1000-column limit. Some applications, such as Machine Learning and streaming IoT application workloads, may require the use of de-norm..