문제는 현재 각종 로그가 쌓이는 디렉토리와 $ORACLE_HOME, 그리고 각종 시스템 관련 Datafile, redo log file 등이 같은 파티션에 저장이 되고 있더군요. 그래서 ... 서비스를 중지시키지 않고 작업을 해야겠다는 생각에 redo log file을 옮기기로 결정했습니다. 이게 제일 만만해보이더군요.
SQL> select a.group#, a.status, b.type, b.member from v$log a, v$logfile b where a.group#=b.group#;
GROUP# STATUS TYPE MEMBER
---------- ---------------- ------- ----------------------------------------
1 CURRENT ONLINE /opt/oracle/oradata/edo01.log
2 INACTIVE ONLINE /opt/oracle/oradata/redo02.log
3 INACTIVE ONLINE /opt/oracle/oradata/redo03.log
네번째 리두로그 그룹 및 파일 추가
SQL> alter database add logfile group 4('/data/orasys/redo04.log') size 100M;
Database altered.
SQL>
리두로그 그룹 및 파일 추가 결과 확인
SQL> select a.group#, a.status, b.type, b.member from v$log a, v$logfile b where a.group#=b.group#;
GROUP# STATUS TYPE MEMBER
---------- ---------------- ------- ----------------------------------------
1 CURRENT ONLINE /opt/oracle/oradata/redo01.log
2 INACTIVE ONLINE /opt/oracle/oradata/redo02.log
3 INACTIVE ONLINE /opt/oracle/oradata/redo03.log
4 UNUSED ONLINE /data/orasys/redo04.log
기존 리두로그 파일 그룹중 하나 삭제
SQL> alter database drop logfile group 3;
SQL> select a.group#, a.status, b.type, b.member from v$log a, v$logfile b where a.group#=b.group#(+);
GROUP# STATUS TYPE MEMBER
---------- ---------------- ------- ----------------------------------------
1 CURRENT ONLINE /opt/oracle/oradata/redo01.log
2 INACTIVE ONLINE /opt/oracle/oradata/redo02.log
4 UNUSED ONLINE /data/orasys/redo04.log
리두로그 파일 그룹 3을 새로운 위치에 추가
SQL> alter database add logfile group 3 ('/data/orasys/redo03.log') SIZE 100M;
Database altered.
리두로그 파일 그룹 3이 정상적으로 추가되었는지 확인
SQL> select a.group#, a.status, b.type, b.member from v$log a, v$logfile b where a.group#=b.group#(+);
GROUP# STATUS TYPE MEMBER
---------- ---------------- ------- ----------------------------------------
1 CURRENT ONLINE /opt/oracle/oradata/redo01.log
2 INACTIVE ONLINE /opt/oracle/oradata/redo02.log
3 UNUSED ONLINE /data/orasys/redo03.log
4 UNUSED ONLINE /data/orasys/redo04.log
SQL>
로그 스위치를 강재로 일으키며 상태값을 확인해본다.
SQL> alter system switch logfile;
System altered.
SQL>
SQL> select a.group#, a.status, b.type, b.member from v$log a, v$logfile b where a.group#=b.group#(+);
GROUP# STATUS TYPE MEMBER
---------- ---------------- ------- ----------------------------------------
1 ACTIVE ONLINE /opt/oracle/oradata/redo01.log
2 INACTIVE ONLINE /opt/oracle/oradata/redo02.log
3 CURRENT ONLINE /data/orasys/redo03.log
4 UNUSED ONLINE /data/orasys/redo04.log
SQL>
SQL> alter system switch logfile;
System altered.
SQL> select a.group#, a.status, b.type, b.member from v$log a, v$logfile b where a.group#=b.group#(+);
GROUP# STATUS TYPE MEMBER
---------- ---------------- ------- ----------------------------------------
1 INACTIVE ONLINE /opt/oracle/oradata/redo01.log
2 INACTIVE ONLINE /opt/oracle/oradata/redo02.log
3 INACTIVE ONLINE /data/orasys/redo03.log
4 CURRENT ONLINE /data/orasys/redo04.log
SQL>
'IT 기술 > Oracle' 카테고리의 다른 글
Oracle Pro*C 전처리기에서 PCC-02081 오류 발생시 처리 방법 (0) | 2009.07.14 |
---|---|
Pro*C 설정 (0) | 2009.07.09 |
Oracle에서 날짜 자료를 원하는 형태로 보여주는 법. (0) | 2009.06.10 |
Oracle 10g 관련 문서들입니다. (0) | 2009.05.22 |
Oracle 9i Streams 관련 문서 (0) | 2009.05.07 |