Oracle/Administration

Oracle/Administration

ALTER TABLE MOVE 개선

오라클 21c의 VLDB and Partitioning Guide에 아래의 설명이 추가되었습니다. As of Oracle Database 21c, you can move partitioned and subpartitioned tables with a single DDL command. 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP 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 THAN ..

Oracle/Administration

해시 파티션과 ORA_HASH 함수

해시 파티션은 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, ..

Oracle/Administration

Read Only PDB User

Oracle 23c에 PDB 유저를 Read Only로 설정할 수 있는 기능이 추가되었습니다. 테스트를 위해 아래와 같이 u1 유저를 생성하겠습니다. -- 1: SYS DROP 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: U1 CREATE TABLE t1 (c1 NUMBER); INSERT INTO t1 VALUES (1); 1 개의 행이 만들어졌습니다. -- 2-2: SYS ALTER USER u1 ..

Oracle/Administration

LOB 세그먼트명 변경 프로시저

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 ..

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 ..

Oracle/Administration

Asynchronous Global Index Maintenance

개요 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 ..

Oracle/Administration

Precheckable Constraints using JSON SCHEMA

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 ..

Oracle/Administration

DDL auto commit 비활성화

Oracle 23c에 DDL 문이 수행하는 auto commit을 비활성화하는 기능이 추가되었습니다. 이 기능은 _kql_disable_auto_commit 파라미터와 관련이 있습니다. 이 파라미터를 TRUE로 설정하면 DDL 문 수행 전후에 자동으로 수행되는 커밋이 비활성화됩니다. -- 1 NAME VALUE DEFAULT_VALUE DESCRIPTION ------------------------ ----- ------------- -------------------------------------- _kql_disable_auto_commit FALSE FALSE Disable DDL auto commit in the session 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 2 DRO..

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-nor..

Oracle/Administration

Automatic Transaction Rollback

Oracle 23c에 Automatic Transaction Rollback 기능이 추가되었습니다. 이 기능은 블로킹이 발생한 후 일정 시간이 경과하면 우선순위 낮은 트랜잭션을 중단시켜 동시성을 향상시킵니다. If a transaction does not commit or rollback for a long time while holding row locks, it can potentially block other high-priority transactions. This feature allows applications to assign priorities to transactions and for administrators to set timeouts for each priority. The data..

Oracle/Administration

스키마 권한

Oracle 23c에 스키마 권한이 추가되어 스키마 단위로 권한을 관리할 수 있게 되었습니다. Oracle Database supports schema privileges in addition to the existing object, system, and administrative privileges. This feature improves security by simplifying authorization for database objects to better implement the least privileges principle. 테스트를 위해 아래와 같이 u1, u2 유저를 생성하겠습니다. -- 1 DROP USER u1 CASCADE; DROP USER u2 CASCADE; CREATE USE..

Oracle/Administration

SQL 도메인

개요 Oracle 23c에 SQL 도메인(이후 도메인) 기능이 추가되었습니다. 도메인은 데이터 타입, CHECK 제약조건, 표시 형식, 정렬 기준 등을 정의할 수 있는 오브젝트로 싱글 칼럼 도메인, 멀티 칼럼 도메인, Flexible 도메인으로 구분됩니다. A SQL domain is a dictionary object that belongs to a schema and encapsulates a set of optional properties and constraints for common values, such as credit card numbers or email addresses. After you define a SQL domain, you can define table columns to b..

정희락
'Oracle/Administration' 카테고리의 글 목록