REDO 로그 그룹의 용량을 늘리기
2013.05.22 23:05
원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어
Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
예) 현재 리두로그 그룹이 2개에 멤버가 각각 2개씩. 10MB 인데, 30MB의 멤버 3개를 가진 2개의 멤버환경으로 바꾸고자 할 경우
group 1 : /redo/redo1_1.rdo, /redo/redo1_2.rdo
group2 : /redo/redo2_1.rdo, /redo/redo2_2.rdo
먼저 DB shutdown 및 mount 단계로 올림
SQL> shutdown immediate;
SQL> startup mount;
현재 리두로그 그룹을 조회한다.
SQL> select a.group#,a.member,b.bytes,b.status from v$logfile a,v$log b where a.group#=b.group#;
GROUP# MEMBER BYTES STATUS
---------- ----------------
1 /redo/redo1_1.rdo 536870912 CURRENT
1 /redo/redo1_2.rdo 536870912 CURRENT
2 /redo/redo2_1.rdo 536870912 INACTIVE
2 /redo/redo2_2.rdo 536870912 INACTIVE
여기서 INACTIVE 되어있는 redolog group 만 제거 할 수 있다.
3번째 group을 임의로 생성한다.
SQL> alter database add logfile group 3 ('/redo3_1.rdo','/redo/redo3_2.rdo) size 20M;
INACTIVE인 redo log group 2을 제거한다.
SQL> alter database drop logfile group 2;
1번 그룹을 수정하기 위해서 로그스위치 발생시킨다.
SQL> alter database open;
SQL> alter system switch logfile;
SQL> select a.group#,a.member,b.bytes,b.status from v$logfile a,v$log b where a.group#=b.group#;
GROUP# MEMBER BYTES STATUS
---------- ----------------
1 /redo/redo1_1.rdo 536870912 INACTIVE
1 /redo/redo1_2.rdo 536870912 INACTIVE
3 /redo/redo3_1.rdo 536870912 CURRENT
3 /redo/redo3_2.rdo 536870912 CURRENT
1번 그룹을 삭제한다.
SQL> alter database drop logfile group 1;
당초 목적에 맞게 1,2번 그룹을 생성한다.
SQL> alter database add logfile group 1 ('/redo1_1.rdo','/redo/redo1_2.rdo','/redo/redo1_3.rdo') size 30M;
SQL> alter database add logfile group 2 ('/redo2_1.rdo','/redo/redo2_2.rdo','/redo/redo2_3.rdo') size 30M;
다시 로그스위치 발생을 위해서 재기동
SQL> shutdown immediate;
SQL> startup mount;
임시로 만든 3번 그룹 삭제
SQL> alter database drop logfile group 3;
정상기동 후 확인
SQL> alter database open;
SQL> select a.group#,a.member,b.bytes,b.status from v$logfile a,v$log b where a.group#=b.group#;
GROUP# MEMBER BYTES STATUS
---------- ----------------
1 /redo/redo1_1.rdo 536870912 INACTIVE
1 /redo/redo1_2.rdo 536870912 INACTIVE
1 /redo/redo1_3.rdo 536870912 INACTIVE
2 /redo/redo2_1.rdo 536870912 CURRENT
2 /redo/redo2_2.rdo 536870912 CURRENT
2 /redo/redo2_3.rdo 536870912 CURRENT
운영중에도 가능합니다.
단, 스위칭이 안되게 조심해야겠죠?(트랜젝션이 적을 때...)