Database ( DB )/Database

[oracle] 성능 향상을 위해 로그 기록하지 않기

노루아부지 2019. 8. 11. 10:03

1. archive mode인지 확인

SQL > archive log list;

--> database log mode ( 데이터베이스 로그 모드 ) 가 No Archive Mode(아카이브 모드 없음) 인지 확인

 

2. "Archive Mode" 일 경우 변경방법

2-1. 특정 테이블을 로그를 기록하지 않도록 변경

 

SQL > ALTER TABLE [테이블명] NOLOGGING;

 

2-2. No Archive Mode로 변경

2-2-1. INIT.ORA 파일의 parameter 수정 ( 아래 3줄을 주석처리 한다. )

 

#LOG_ARCHIVE_START = TRUE

#LOG_ARCHIVE_DEST = "C:\oracle\ora92\database\archive"  

#LOG_ARCHIVE_FORMAT = %S.ARC

 

2-2-2. 아래 단계 수행

-- 데이터베이스 종료

SQL> SHUTDOWN IMMEDIATE

 

-- 데이터베이스 인스턴스를  mount 

SQL> STARTUP MOUNT pfile=C:\oracle\ora92\database\INITORA9I.ORA

 

-- 데이터베이스를  no archive log mode로 전환.

SQL> ALTER DATABASE NOARCHIVELOG;

 

--  database open

SQL> ALTER DATABASE OPEN; 

 

-- 아카이브 로그 모드 상태 확인

SQL> ARCHIVE LOG LIST 

데이터베이스 로그 모드              아카이브 모드가 아님

자동 아카이브             사용 안함

아카이브 대상            C:\oracle\ora92\RDBMS

가장 오래된 온라인 로그 순서     17

현재 로그 순서           19    

 

 

 

* 추가

Direct-path insert를 사용하려면 /*+ append */ 또는 /*+ APPEND_VALUES */ 를 사용하면 되는데

테이블에 락이 걸리니 주의. ( 대신 insert 자체가 빨라진다 )

728x90

'Database ( DB ) > Database' 카테고리의 다른 글

[oracle] hint  (0) 2019.08.11
DB Join의 방식  (0) 2019.08.11
MySQL 쿼리 실시간 모니터링  (0) 2019.08.10
[oracle] COUNT(*) 를 빠르게 하는 방법  (0) 2019.08.10
[MySQL] COUNT의 잘못된 인식과 속도 차이  (0) 2019.08.10
loading