Search Results for 'redo log file'

1 POSTS

  1. 2011|05 Oracle - Redo log file 관리하기

Oracle - Redo log file 관리하기

Posted 05 1, 2011 18:09, Filed under: DataBase/Oracle



# Redo log file 관리하기

-- 단계 1 : 현재 상태 확인하기 
SQL> SET LINE 200
SQL> COL A.GROUP# FOR 99
SQL> COL MEMBER FOR A50
SQL>
SQL>  SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2   FROM V$LOGFILE A, V$LOG B
  3   WHERE A.GROUP#=B.GROUP#
  4   ORDER BY 1, 2
  5   ;     GROUP

# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     INACTIVE
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
         3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     CURRENT

           
-- 단계 2 : 신규 그룹(4번 그룹) / 멤버 추가 하기
SQL> ALTER DATABASE ADD LOGFILE GROUP 4
  2     '/app/oracle/product/10.2.0/oracle/redo04_a.log'
  3     SIZE 10M
  4     ; 
  데이타베이스가 변경되었습니다.

SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;
  
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     INACTIVE
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
         3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     CURRENT
         4 /app/oracle/product/10.2.0/oracle/redo04_a.log         10 YES    UNUSED

SQL> ALTER DATABASE ADD LOGFILE MEMBER
  2     '/app/oracle/product/10.2.0/oracle/redo04_b.log' to group 4
  3  ; 
  데이타베이스가 변경되었습니다.

SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;     
  
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     INACTIVE
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
         3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     CURRENT
         4 /app/oracle/product/10.2.0/oracle/redo04_a.log         10 YES    UNUSED
   GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------          
        4 /app/oracle/product/10.2.0/oracle/redo04_b.log         10 YES    UNUSED

SQL> ALTER SYSTEM SWITCH LOGFILE ; 
시스템이 변경되었습니다.
SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;     
  
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     INACTIVE
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
           3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     ACTIVE
         4 /app/oracle/product/10.2.0/oracle/redo04_a.log         10 NO     CURRENT
 GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------         
         4 /app/oracle/product/10.2.0/oracle/redo04_b.log         10 NO     CURRENT

-- 단계 3 : 기존 멤버 삭제 / 그룹 삭제하기 - 여기선 4번 그룹을 삭제하려 합니다.
SQL> ALTER SYSTEM SWITCH LOGFILE ; 시스템이 변경되었습니다.
SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;     
  
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     INACTIVE
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
           3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     ACTIVE
         4 /app/oracle/product/10.2.0/oracle/redo04_a.log         10 NO     ACTIVE
 GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------          
        4 /app/oracle/product/10.2.0/oracle/redo04_b.log          10 NO     ACTIVE
           
SQL> ALTER SYSTEM CHECKPOINT ; 
시스템이 변경되었습니다. 
SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;     
  
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     CURRENT
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
         3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     INACTIVE
         4 /app/oracle/product/10.2.0/oracle/redo04_a.log         10 NO     INACTIVE
 GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------         
        4 /app/oracle/product/10.2.0/oracle/redo04_b.log         10 NO     INACTIVE

SQL> ALTER DATABASE DROP LOGFILE MEMBER '/app/oracle/product/10.2.0/oracle/redo04_b.log' ;
데이타베이스가 변경되었습니다.
SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;     
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     CURRENT
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
         3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     INACTIVE
         4 /app/oracle/product/10.2.0/oracle/redo04_a.log         10 NO     INACTIVE


--# ALTER DATABASE DROP LOGFILE MEMBER 로그파일 redo04_b.log 를 삭제하면 
-- 위와같이 검색은 되지 않지만 물리적인 파일은 해당 위치에 그대로 남아있습니다.
-- 수동으로 삭제를 해줘야 합니다.

SQL> ALTER DATABASE DROP LOGFILE MEMBER '/app/oracle/product/10.2.0/oracle/redo04_a.log' ;
ALTER DATABASE DROP LOGFILE MEMBER '/app/oracle/product/10.2.0/oracle/redo04_a.log'

*1행에 오류:
ORA-00361: 마지막 로그 멤버 /app/oracle/product/10.2.0/oracle/redo04_a.log는 그룹 4를 옮길수 없습니다

-- 그룹에 MEMBER 가 1개일 경우 MEMBER는 삭제가 안되며 그룹을 지워야 합니다.
SQL> ALTER DATABASE DROP LOGFILE GROUP 4 ; 데이타베이스가 변경되었습니다.
SQL> SELECT A.GROUP#, A.MEMBER, B.BYTES/1024/1024 MB, B.ARCHIVED, B.STATUS
  2     FROM V$LOGFILE A, V$LOG B
  3     WHERE A.GROUP#=B.GROUP#
  4     ORDER BY 1, 2
  5    ;     
  
  GROUP# MEMBER                                                     MB ARCHIV STATUS
---------- -------------------------------------------------- ---------- ------ --------------------------------
         1 /app/oracle/product/10.2.0/oracle/redo01.log         50 NO     CURRENT
         2 /app/oracle/product/10.2.0/oracle/redo02.log         50 NO     INACTIVE
         3 /app/oracle/product/10.2.0/oracle/redo03.log         50 NO     INACTIVE

-- 역시 redo04_a.log 파일을 삭제하면 위와같이 검색은 되지 않지만 
-- 물리적인 파일은 해당 위치에 그대로 남아있습니다.
-- 수동으로 삭제를 해줘야 합니다.



자료 출처 : 서진수 지음 - 원리부터 실무까지 오라클 백업과 복구



05 1, 2011 18:09 05 1, 2011 18:09

Trackback URL : http://develop.sunshiny.co.kr/trackback/614

Leave a comment


Recent Posts

  1. Oracle - 바인드 변수에 대하여(테스트)
  2. Oracle - 디폴트 롤, DBA, CONNECT,...
  3. Oracle - 권한 및 롤 관리
  4. Oracle - SQL*PLUS의 SYSDBA 접근 제어
  5. Oracle - PFILE, SPFILE 에 관하여

Recent Comments

  1. 네 답글 고맙습니다. 좋은 한주 보... sunshiny 05 14,
  2. 좋은 정보 잘 살펴보고 갑니다. ememoho 05 12,
  3. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  4. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  5. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   05 2012   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바소스
  13. 자바지기
  14. Ready System
  15. Solaris Freeware
  16. Linux-Site
  17. RedHat Korea
  18. 윈디하나의 솔라나라

Site Stats

TOTAL 245451 HIT
TODAY 157 HIT
YESTERDAY 139 HIT