## Range patition 예제 CREATE TABLE SALES . . .
## Sample Data ## 해당 파티션 데이터 조회 SELECT * FROM SALES PARTITION(P202001); ## 파티션 ADD ALTER TABLE SALES ADD PARTITION P202004 VALUES LESS THAN (TO_DATE('20200501','YYYYMMDD')); ## 파티션 DROP ALTER TABLE SALES DROP PARTITION P2019; ## 파티션 TRUNCATE ALTER TABLE SALES TRUNCATE PARTITION P202001; ## 파티션 SPLIT ALTER TABLE SALES ## 테이블의 파티션 정보 (DBA 권한필요) SELECT OWNER,TABLE_NAME, PARTITIONING_TYPE, SUBPARTITIONING_TYPE, STATUS, DEF_TABLESPACE_NAME, DEF_LOGGING, DEF_COMPRESSION, INTERVAL
## 관련 오라클 딕셔너리 테이블 (DBA 권한필요) SELECT * ## 로컬 인덱스 생성 CREATE INDEX IDX_SALES_01 ON SALES (SALES_NO) LOCAL; ## 글로벌 인덱스 생성 CREATE INDEX IDX_SALES_02 ON SALES (CUSTOMER_NAME) GLOBAL; (* GLOBAL 키워드 생략시 디폴트로 글로벌 인덱스로 생성) ## 인덱스 REBUILD ALTER INDEX IDX_SALES_02 REBUILD; ## 글로벌 인덱스 상태확인 SELECT INDEX_NAME, STATUS
## 글로벌 인덱스 상태확인2 SELECT INDEX_NAME, STATUS ## 파티션 인덱스 상태확인 SELECT INDEX_NAME, PARTITION_NAME, STATUS [참고] 오라클 파티션 (Partition) 관리하기|작성자 Nerd oracle 특정 USER 에게 특정 테이블 TRUNCATE 권한 부여 procdure둥구리둥둥 2022. 7. 6. 19:18 오라클에서는 TRUNCATE 권한을 부여할 때 일반적으로 특정 테이블만 TRUNCATE 권한을 부여할수 없다. truncate 권한 부여 방법 그래서 procdure 을 이용하여 이를 해결 할수 있다. 1. 일단 두개의 테이블을 생성 한다. <테이블 생성스크립트> CREATE TABLE SCOTT.TRUNC_TABLE_TARGET
2. 프로시져 생성 CREATE OR REPLACE PROCEDURE SCOTT.TRUNC_TABLE(pOwner IN VARCHAR2, pTabName IN VARCHAR2, pPartName IN VARCHAR2 DEFAULT NULL) IS -- 파티션인경우 파티션명을 넣어주고 아닌경우 입력안해도됨
3.권한 부여 (프로시져를
실행 하여 테이블을 truncate 할 계정에게 권한 부여) 4. 권한 부여 5. 프로시져 수행 방법 6. 수행 여부 확인 |