반응형

1. ALTER TABLE 테이블명_1 NOLOGGING;

    - 해당 테이블에서 작업시 훨씬 적은 양의 redo log만을 생성한다.

    - NOLOGGING으로 변경했던 테이블은 사용 후 다시 LOGGING 상태로 변경하는게 좋다.

 

2. insert /*+append*/ into 테이블명_1

    - APPEND 힌트를 줌으로써 DIRECT PATH INSERT가 가능하도록 한다.


3. insert /*+ PARALLEL(테이블명 프로세스수) */

    - 병렬처리 힌트를 줌으로 작업 속도가 증가한다.


4. CREATE INDEX 인덱스 명 ON 테이블명 (필드)

   TABLESPACE 테이블스페이스명

   NOLOGGING

   PARALLEL 8;

    - 인덱스 생성시에도 NOLOGGING과 PARALLEL을 적용하여 사용 할 수 있다

       다만 인덱스 생성 후 LOGGING 처리와 NOPARALLEL로 변경 적용 하여야 로깅처리 및 프로세스 사용을 적게 하게 된다.

       PARALLEL을 변경하지 않으면 생성시 사용한 프로세스 단위로 조회도 하게 되니 참고 !

    - ALTER INDEX 인덱스명 LOGGING NOPARALLEL;



5. 대량 테이블 SELECT 쿼리 수행시 시스템 자원을 활용하여 수행시간을 단축 시킬때 PARALLEL 힌트를 많이 사용한다.

   SELECT /*+ PARALLEL(테이블명) */ FROM 테이블명


6. DML 문장 (INSERT, DELETE, UPDATE)를 병렬로 수행하기 위해서는 현재 접속중인 세션을 DML로 지정해야만 병렬처리가 가능하다.

   ALTER SESSION ENABLE PARALLEL DML;

   사용 후 해당 세션의 DML을 해제 해주는게 좋다.

   ALTER SESSION DISABLE PARALLEL DML;


7. 

-- 1. 테이블 스페이스 사용량
SELECT   SUBSTR(A.TABLESPACE_NAME,1,30) TABLESPACE,
         ROUND(SUM(A.TOTAL1)/1024/1024,1) "TOTALMB",
         ROUND(SUM(A.TOTAL1)/1024/1024,1)-ROUND(SUM(A.SUM1)/1024/1024,1) "USEDMB",
         ROUND(SUM(A.SUM1)/1024/1024,1) "FREEMB",
         ROUND((ROUND(SUM(A.TOTAL1)/1024/1024,1)-ROUND(SUM(A.SUM1)/1024/1024,1))/ROUND(SUM(A.TOTAL1)/1024/1024,1)*100,2) "USED%"
FROM
         (SELECT   TABLESPACE_NAME,0 TOTAL1,SUM(BYTES) SUM1,MAX(BYTES) MAXB,COUNT(BYTES) CNT
          FROM     DBA_FREE_SPACE
          GROUP BY TABLESPACE_NAME
          UNION
          SELECT   TABLESPACE_NAME,SUM(BYTES) TOTAL1,0,0,0
          FROM     DBA_DATA_FILES
          GROUP BY TABLESPACE_NAME) A
GROUP BY A.TABLESPACE_NAME
ORDER BY TABLESPACE;

-- 2. 테이블 스페이스별 전체 용량 확인
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 TOTAL_SIZE
FROM    DBA_DATA_FILES
GROUP BY TABLESPACE_NAME;

-- 3. 테이블 스페이스 파일별 남은용량 확인
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 FREE_SIZE
FROM    DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME;

-- 4. 테이블 스페이스 파일 확인
SELECT * FROM SYS.DBA_DATA_FILES;

-- 5. 테이블 스페이스 추가
ALTER TABLESPACE 테이블 스페이스명 ADD DATAFILE '데이터파일 경로 및 파일명.DBF' SIZE 30720M AUTOEXTEND ON;

-- 6. TEMP 테이블 스페이스 추가
ALTER TABLESPACE 테이블 스페이스명 ADD TEMPFILE '데이터파일 경로 및 파일명.DEF' SIZE 30720M AUTOEXTEND ON;

-- 7. 쿼리 실행 시간 확인
SET TIMING ON;

-- 8. 대량 데이터 인덱스 생성시 Sort area size 조절
ALTER SESSION SET SORT_AREA_SIZE = 10000000; -> 10M

--9. 실행중인 SQL확인용
SELECT a.osuser, a.SID, a.serial#, a.status, b.sql_text
FROM v$session a, v$sqlarea b
WHERE a.sql_address = b.address


+ Recent posts