=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- LOG 보기--
SELECT *
FROM V$LOG;
SELECT *
FROM V$LOGFILE;
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
LOG GROUP 추가—
ALTER DATABASE ADD LOGFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE10\REDO04.LOG' SIZE 20M; |
SELECT *
FROM V$LOG;
--새롭게 생성된 SEQ를 가장 적게 부여 받게 되고, 로그 스위치 발생시 가장 먼저 사용되어 진다.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
로그 스위치 발생시키기
ALTER SYSTEM SWITCH LOGFILE; |
SELECT *
FROM V$LOG;
CURRENT : 현재 사용중인 REDO LOGFILE ACTIVE : 조금전 까지 CURRENT 로 사용되었던 REDO LOGFILE INACTIVE : 조금전까지 ACTIVE 로 사용되었던 REDO LOGFILE |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- REDO LOG GROUP을 추가
(실습을 위해 임의의 아래 경로를 생성 D:\REDOLOGFILEDIR)
ALTER DATABASE ADD LOGFILE MEMBER 'D:\REDOLOGFILEDIR\REDO01.LOG' TO GROUP 1, 'D:\REDOLOGFILEDIR\REDO02.LOG' TO GROUP 2, 'D:\REDOLOGFILEDIR\REDO03.LOG' TO GROUP 3, 'D:\REDOLOGFILEDIR\REDO04.LOG' TO GROUP 4; |
위에서 생성할 때 용량에 관한 설정이 없었는데 생성된 로그 파일의 크기는
그 그룹에 존재하던 파일의 크기와 같이 생성되는 것을 확인할 수 있다.
SELECT *
FROM V$LOG;
SELECT *
FROM V$LOGFILE;
(STATUS에 BLACK (공백)인 것은 {null}과 같다. (보기 Option에서 설정을 해주기 나름, TOAD기준)
(INVAILD 는 한번도 사용되지 않은 LOGFILE을 의미하고 NULL은 LOG SWITCH가 한번이라도 발생된 로그파일을 의미한다.)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- REDO LOG FILE 제거
ALTER DATABASE DROP LOGFILE GROUP 4; |
(상태가 'current'이라면 지워지지 않는다.즉, current와 active는 사용 중이기 때문이다.)
하지만 물리적인 HDD 공간에서는 삭제가 되지 않았다
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
실제 물리적인 공간에서도 LOG 파일을 삭제시켜주기 위해서는 OEM REDO LOG GROUP을 생성해야 한다.
- OMF(ORACLE MANAGEED FILES) REDO LOG GROUP 생성
SELECT *
FROM V$PARAMETER
WHERE NAME LIKE '%log%';
1 |
2 |
3 | |
C:\ ~~~[ dest_1 ] |
REDO01.LOG |
REDO02.LOG |
REDO03.LOG |
D:\ REDOLOGFILEDIR [ dest_2 ] |
REDO01.LOG |
REDO02.LOG |
REDO03.LOG |
위와 같이 RAID 로 묶어 MIRRORING을 시킴으로써, DISK의 손상으로 인한 DATA의 유실을 방지할 수 있다.
ORACLE에서는 LOG FILE을 위 CAPTURE에서 살펴보듯이 5군대로 만들어 둘 수 있다.
db_create_onlie_log_dest_1과 db_create_onlie_log_dest_2에 이제 설정해보자.
--현재 현 시스템에서 로그파일의 위치 --C:\oracle\product\10.1.0\oradata\oracle10 --D:\REDOLOGFILEDIR ALTER SYSTEM SET db_create_online_log_dest_1='C:\oracle\product\10.1.0\oradata\oracle10' SCOPE=BOTH; ALTER SYSTEM SET db_create_online_log_dest_2='D:\REDOLOGFILEDIR' SCOPE=BOTH; |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- 이제 LOG Group을 추가해보자.
우선 아래와 같이 로그파일을 생성해본다. 이때, 위에서 사용한 것과 달리 파일위치.파일명을 기입하지 않는다.
ALTER DATABASE ADD LOGFILE SIZE 20M; |
생성한 LOG 파일의 정보를 확인한다. 아래 그림에서와 같이 4번 그룹이 새롭게 생성된 것을 확인할 수 있다.
SELECT *
FROM v$log;
이제 위에서 방금 생성한 LOG Group 4번 FILE을 지워보자.
ALTER DATABASE DROP LOGFILE GROUP 4;
이제 해당 HDD로 이동하여 파일을 확인해보면, 깔끔히 지워진 것을 확인할 수 있다.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- REDO LOG FILE MEMBER 제거
SELECT *
FROM V$LOG;
(--현재 CURRENT 상태인 것은 3번)
SELECT *
FROM V$LOGFILE;
현재 CURRENT 상태인 REDO3.LOG 파일을 삭제하여 본다.
ALTER DATABASE DROP LOGFILE MEMBER 'D:\REDOLOGFILEDIR\REDO03.LOG'; |
아래와 같은 오류메세지가 도출된다.
--ORA-01609: 3 로그는 1 스레드에 대한 현 로그 - 구성원을 삭제할 수 없습니다
--ORA-00312: 온라인 로그 3 스레드 1: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE10\REDO03.LOG'
--ORA-00312: 온라인 로그 3 스레드 1: 'D:\REDOLOGFILEDIR\REDO03.LOG'
현재 CURRENT 상태이기 때문에 지워지지 않는 것이다. 그러므로 다시 로그스위치를 발생시켜 지워줄 로그파일을 ACTIVE 상태로 변경 후, 다시 지워보자.
ALTER SYSTEM SWITCH LOGFILE;
ALTER DATABASE DROP LOGFILE MEMBER
'D:\REDOLOGFILEDIR\REDO03.LOG';
--위에서 다시 DROP을 실행해 보면 지워지는 것을 알 수 있다. 그룹의 경우 ACTIVE에서는 지워지지 안핬는데,
--MEMBER의 경우 ACTIVE라도 삭제가 가능하다.
--하지만 탐색기에서는 파일이 여전히 남아 있다. 탐색기에서도 지우기 위해서는 Omf이여야만 한다.
SELECT * FROM V$LOG; |
|
위와 동일하게 'D:\REDOLOGFILEDIR\ 에 생성한 LOG 파일을 다 지워보면 아래와 같이 잘 날라가는 것을 확인할 수 있다.
SELECT *
FROM V$LOGFILE;
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
'Database' 카테고리의 다른 글
Chapter16. Oracle OS authentication User create (0) | 2009.04.21 |
---|---|
CHAPER 10 ORACLE TEMPORARY TABLE (0) | 2009.04.20 |
chaper 9 oracle extent & segment 정보확인 (0) | 2009.04.20 |
TABLESPACE의 생성 및 관리 (0) | 2009.04.20 |
테이블스페이스의 추가 및 변경 (0) | 2009.04.17 |
Undo TableSpace 관리(생성/제거) (0) | 2009.04.16 |
Control File의 추가 및 삭제 그리고 복구 (0) | 2009.04.16 |
일반 USER가 임의적으로 LOCK을 발생시키고, 관리자가 LOCK을 찾아내는 법 (0) | 2009.04.16 |
Oracle Structure 셋째날(Undo Table) (0) | 2009.04.16 |
ORACLE Structure 첫날 정리 (0) | 2009.04.14 |