Automatic Transaction Rollback
·
Oracle/Administration
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 datab..
스키마 권한
·
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 유저를 생성하겠습니다.-- 1DROP USER u1 CASCADE;DROP USER u2 CASCADE;CREATE USER u1 ..
SQL 도메인
·
Oracle/Administration
개요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 be ..
UPDATE 문에 대한 DEFAULT ON NULL 절
·
Oracle/Administration
Oracle 23c부터 UPDATE 문에 대해서도 DEFAULT ON NULL 속성을 지정할 수 있습니다. 참고로 INSERT 문에 대한 DEFAULT ON NULL 속성은 12.1 버전에 추가되었습니다.You can define columns as DEFAULT ON NULL for update operations, which was previously only possible for insert operations. Columns specified as DEFAULT ON NULL are automatically updated to the specific default value when an update operation tries to update a value to NULL. This featu..
DB_DEVELOPER_ROLE 롤
·
Oracle/Administration
Oracle 23c에 개발자를 위한 DB_DEVELOPER_ROLE 롤이 추가되었습니다.The DB_DEVELOPER_ROLE role provides an application developer with all the necessary privileges to design, implement, debug, and deploy applications on Oracle databases. By using this role, administrators no longer have to guess which privileges may be necessary for application development. 아래 쿼리로 DB_DEVELOPER_ROLE 롤에 부여된 시스템 권한, 오브젝트 권한, 롤을 확인할 수 ..
어노테이션 (Annotation)
·
Oracle/Administration
Oracle 23c에 오브젝트의 메타데이터를 관리할 수 있는 어노테이션 (Annotation) 기능이 추가되었습니다.Annotations enable you to store and retrieve metadata about database objects. These are name-value pairs or simply a name. These are freeform text fields applications can use to customize business logic or user interfaces. Annotations help you use database objects in the same way across all applications. This simplifies development..
IOT에 대한 Advanced LOW 압축
·
Oracle/Administration
Oracle 23c부터 IOT에 대한 Advanced LOW 압축이 가능해졌습니다. 이전 버전까지는 IOT에 대해 Prefiex 압축만 가능했습니다.An index-organized table (IOT) is a table stored in a variation of a B-tree index structure where rows are ordered by primary key. IOTs are useful because they provide fast random access by primary key without duplicating primary key columns in two structures - a heap table and an index. In earlier releases, IOTs ..
Inline LOB의 최대 크기 변경
·
Oracle/Administration
Oracle 23c부터 Inline LOB의 최대 크기를 8000 바이트로 설정할 수 있습니다.LOB values are stored either in the table row (inline) or outside of the table row (out-of-line). The maximum size of the inline LOB is increased to 8000 bytes, allowing larger LOB values being stored inside a row. Earlier, the maximum size was 4000. This provides better input-output performance while processing LOB columns. You can experience..
파티션 high_value_clob, high_value_json 칼럼 추가
·
Oracle/Administration
Oracle 23c에 파티션의 상위 값을 조회할 수 있는 CLOB 타입의 high_value_clob 칼럼과 JSON 타입의 high_value_json 칼럼이 추가되었습니다. 이제 불편한 LONG 타입의 high_value 칼럼을 사용하지 않아도 됩니다.All data dictionary views holding partitioning-related metadata, e.g. [ALL_TAB_PARTITIONS], have two additional columns representing the high value (boundary) information of partitions and subpartitions in JSON and CLOB format. Providing the high value (b..
오브젝트 ID
·
Oracle/Administration
Segment 오브젝트는 오브젝트 ID가 순차적으로 부여되고, Non-segment 오브젝트를 오브젝트 ID가 재사용될 수 있는 것으로 보입니다. 참고로 이 동작에 대한 오라클 포럼의 Regarding object_id in Oracle 글에도 명확한 이유가 설명되어 있지 않습니다. 아래는 Segment 오브젝트인 테이블로 테스트한 결과입니다. 오브젝트 ID가 순차적으로 부여되는 것을 확인할 수 있습니다. -- 1-1 DROP TABLE t1 PURGE; CREATE TABLE t1 (c1 NUMBER); -- 1-2 SELECT object_id, data_object_id FROM user_objects WHERE object_name = 'T1'; OBJECT_ID DATA_OBJECT_ID ---..
SCAN과 LOAD_BALANCE에 대한 접속 테스트
·
Oracle/Administration
부하 테스트 환경에서는 로드 밸런싱 관점에서 SCAN(Single Client Access Name)을 사용하는 것보다 LOAD_BALANCE 파라미터를 ON으로 설정하는 편이 유리할 수 있습니다. SCAN과 LOAD_BALANCE에 대한 접속 테스트를 위해 tnsnames.ora 파일을 아래와 구성하겠습니다. TNS_SCAN은 SCAN IP을 사용하고, TNS_LB는 LOAD_BALANCE 파라미터를 ON으로 설정하고 각각 인스턴스 IP를 사용합니다.# tnsnames.oraTNS_SCAN = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = SCAN1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDI..
V$SPPARAMETER 뷰
·
Oracle/Administration
V$SPPARAMETER 뷰는 SPFILE(Server Parameter File)의 내용을 표시합니다. V$SPPARAMETER displays information about the contents of the server parameter file. If a server parameter file was not used to start the instance, then each row of the view will contain FALSE in the ISSPECIFIED column. 아래는 Real Application Clusters Administration and Deployment Guide의 Setting SPFILE Parameter Values for Oracle RAC 항목의 SP..