ORACLE/Oracle_SQL (10) 썸네일형 리스트형 Oracle 테이블스페이스 자동 증설 쿼리 Oracle 테이블스페이스 증설Oracle 데이터베이스에서 테이블스페이스는 데이터 파일을 논리적으로 그룹화한 단위로, 데이터 저장소로 활용됩니다. 데이터 양이 증가하거나 새로운 데이터베이스 객체를 생성할 때, 기존 테이블스페이스의 공간이 부족하면 증설이 필요합니다. 테이블스페이스를 증설하는 방법은 크게 두 가지입니다: 데이터 파일 추가와 기존 데이터 파일 크기 증가입니다.1. 테이블스페이스에 데이터 파일 추가새로운 데이터 파일을 추가하여 테이블스페이스를 증설하는 방법입니다. 테이블스페이스에 여러 데이터 파일을 추가할 수 있으며, 이는 데이터 분산 및 성능 향상에도 도움이 될 수 있습니다. ALTER TABLESPACE [테이블스페이스_이름] ADD DATAFILE '[데이터파일_경로]' SIZE [크기].. Partition Table - Range / List / Hash / Composite ## 파티션 테이블 장점 테이블 스캔시 풀 스캔 X -> 최소한의 파티션만 스캔 파티션 별로 별도의 백업 수행 가능 대용량 테이블의 경우 파티션별로 테이블스페이스 나누어 저장 가능 ## 파티션 테이블 단점 달마다 입력되는 테이블의 경우, 매달 파티션을 추가해 주어야 함 인덱스 INVALID/UNUSABLE 되는 경우 발생 ## 종류 range partition list partition hash partition composite partition(결합) Rerference partition interval partition system partition virtual column partition ## Range Partition : Partition Key 값의 범위를 기준으로 파티션을 생성하는 방식.. 트리거(TRIGGER) 트리거(TRIGGER) 생성시 고려사항 트리거는 각 테이블에 최대 3개까지 생성 가능 트리거 내에서는 COMMIT,ROLLBACK 문을 사용 불가 이미 트리거가 정의된 작업에 대해 다른 트리거를 정의하면 기존의 것을 대체 뷰나 임시 테이블을 참조할 수 있으나 생성은 불가능 ## 기본 구조 CREATE [OR REPLACE] TRIGGER [스키마].[트리거명] BEFORE or AFTER INSERT or UPDATE or DELETE ON [스키마].[테이블명] [FOR EACH ROW] [WHEN 조건] [DECLARE 변수 선언] BEGIN 트리거 본문 코드 END; -- 트리거구조 BEFORE : 이벤트 발생 전 AFTER : 이벤트 발생 후 FOR EACH ROW : DML의 영향을 받는 모든 .. 패키지(PACKAGE) / 프로시저(PROCEDURE) / 함수(FUNCTION) ## 패키지 / 프로시저 / 함수 차이 함수 간단한 계산, 수치 등을 나타낼 때 사용 IN파라미터만 가능 반환값을 반드시 가져야 함 SELECT, WHERE 절에서 사용 가능 클라이언트단에서 작업을 처리하여 속도면에서 느림 프로시저 보통 단독으로 실행 매개변수를 받을때 IN, OUT, IN&OUT 파라미터 가능 반환값을 가져도되고, 안 가져도 됌 SELECT,WHERE 절에서 사용 불가 클라이언트에서 값을 받으면 서버단에서 처리하기때문에 속도가 빠름 패키지 연관된 프로시저와 함수의 집합 일반적으로 프로시저보다 패키지를 쓰라고 권장하는데, 이유는 패키지가 참고하고 있는 테이블에 DDL이 발생하여 INVALID 상태가 떨어져도 패키지 자체는 VALID 상태이고 패키지 BODY만이 INVALID 상태로 떨어지.. 인덱스 관련 쿼리 정리 Oracle Index란?인덱스는 데이터베이스에서 테이블의 특정 컬럼에 대한 검색 속도를 빠르게 하기 위해 사용되는 데이터 구조입니다. 인덱스를 생성하면 해당 컬럼의 데이터에 대한 별도의 데이터 구조가 생성되며, 이를 통해 쿼리의 성능을 향상시킬 수 있습니다. 일반적으로 인덱스는 테이블의 데이터가 많은 경우, 특히 WHERE 절이나 JOIN 절에 자주 사용되는 컬럼에 대해 유리합니다. Oracle에서의 인덱스 종류Oracle Database에서 사용 가능한 인덱스는 여러 종류가 있으며, 각 인덱스는 특정 상황에서 더 적합한 성능을 제공합니다.B-tree 인덱스 (기본 인덱스)특징: 가장 일반적으로 사용되는 인덱스입니다. 균형 트리 구조로 구성되어 있으며, 데이터를 정렬하여 효율적인 검색이 가능합니다. .. 인덱스 논리적 인덱스의 종류 BITMAP INDEX B-TREE INDEX B-TREE INDEX 우리가 흔히 아는 -TREE 구조로 이루어진 인덱스 ROOT, BRANCH, LEAF 구조로 이루어져 있음 BITMAP INDEX 생성부분에서 B-TREE와 비슷하지만, Bitmap이라는 형식으로 압축저장하기때문에 중복값이 많을경우에 효과적으로 저장 가능 Bitmap인덱스는 Online Rebuild작업을 지원하지 않음 Root 블록 가장 상위이자 가장먼저 액세스 하는 블록 ROOT 블록을 액세 Branch 블록 Root와 Leaf 사이에 위치 Leaf 블록 인덱스 key 컬럼 값과 해당 테이블의 로우 위치(rowid)가 저장되어 있음 인덱스 엔트리 구조 인덱스 엔트리 헤더 : 컬럼번호와 lock 정보 포함 인덱스.. 시스템 권한부여 (ANY) Oracle의 ANY 권한ANY 권한은 데이터베이스 관리나 운영에서 특정 사용자가 모든 스키마에 걸쳐 작업을 수행할 수 있도록 허용하는 권한입니다. ANY 권한은 주로 데이터베이스 관리자(DBA)나 특정 작업을 수행하는 데 있어 전역적인 권한이 필요한 사용자에게 부여됩니다. 그러나 잘못 사용될 경우 보안 문제를 초래할 수 있기 때문에 신중하게 관리해야 합니다. ANY 권한의 종류Oracle에서 제공하는 대표적인 ANY 권한은 다음과 같습니다:SELECT ANY TABLE모든 테이블에 대해 SELECT(조회) 권한을 부여합니다.부여 시 모든 스키마의 테이블에 대해 데이터를 조회할 수 있으며, 특정 스키마에 제한되지 않습니다.INSERT ANY TABLE모든 테이블에 대해 INSERT(삽입) 권한을 부여합니.. 인덱스 생성 속도 향상 (NOLOGGING, PARALLEL) 사전작업데이터 준비일반적으로 데이터가 클수록 속도 차이가 극명하게 드러난다.INSERT INTO DAMIN.RANDOM (SELECT * FROM DAMIN.RANDOM); -- 반복896,000개 행 이(가) 삽입되었습니다.경과 시간: 00:00:06.519 인덱스 생성PARALLEL 2, NOLOGGING 모드로 생성로그를 남기지 않고 병렬처리를 시킴으로써 속도 향상CREATE INDEX IDX_COLB ON DAMIN.RANDOM(COLB)NOLOGGINGPARALLEL 2;Index IDX_COLB이(가) 생성되었습니다.경과 시간: 00:00:02.169 2. LOG 를 남기고 병렬처리도 하지않고 생성DROP INDEX IDX_COLB;CREATE INDEX IDX_COLB ON DAMIN.RA.. 이전 1 2 다음