Control file 다중화
요약
parameter file/control file 체크
show parameter spfile;
show parameter pfile;
show parameter control_file;
Controlfile 설정 변경 (spfile)
alter system set control_files = '/oradata/EHR/control01.ctl','/oradata/EHR/control02.ctl','/oradata/EHR/control03.ctl' scope=spfile;
shutdown immediate;
startup;
예시
-
더보기SQL> show parameter spfile;NAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string /app/oracle/product/10.2.0/db_1/dbs/spfileEHR.oraSQL> select name from v$controlfile;NAME--------------------------------------------------------------------------------/oraindex/EHR/control01.ctlSQL> alter system set control_files = '/oradata/EHR/control01.ctl','/oradata/EHR/control02.ctl','/oradata/EHR/control03.ctl' scope=spfile;System altered.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> ![localhost.localdomain:/app/oracle]cp /oraindex/EHR/control01.ctl /oradata/EHR/control01.ctl[localhost.localdomain:/app/oracle]cp /oraindex/EHR/control01.ctl /oradata/EHR/control02.ctl[localhost.localdomain:/app/oracle]cp /oraindex/EHR/control01.ctl /oradata/EHR/control03.ctl[localhost.localdomain:/app/oracle]exitexitSQL> startup;ORACLE instance started.Total System Global Area 1610612736 bytesFixed Size 2096632 bytesVariable Size 385876488 bytesDatabase Buffers 1207959552 bytesRedo Buffers 14680064 bytesDatabase mounted.Database opened.
Redo log 관리
요약
멤버/그룹 정보파악
select a.group#,a.member,b.bytes/1024/1024 MB,b.archived,b.status
from v$logfile a, v$log b
where a.group#=b.group#
order by 1,2;
그룹추가
alter database add logfile group 4 '/oradata/EHR/redo04_a.log' size 5M;
멤버추가
alter database add logfile member '/oraindex/EHR/redo04_b.log' to group 4;
멤버삭제 (controlfile 내 삭제, 실제파일 직접제거)
alter database drop logfile member '/oraindex/EHR/redo04_b.log';
그룹삭제(controlfile 내 삭제, 실제파일 직접제거)
alter database drop logfile group 4;
logswitch
alter system switch logfile;
checkpoint
alter system checkpoint;
예시 - redo log 추가 /삭제
-
더보기SQL> set line 200;SQL> col a.group# for 999;SQL> col member for a50;SQL> select a.group#,a.member,b.bytes/1024/1024 MB,b.archived,b.statusfrom v$logfile a, v$log bwhere a.group#=b.group#order by 1,2;GROUP# MEMBER MB ARC STATUS---------- -------------------------------------------------- ---------- --- ----------------1 /oradata/EHR/redo10.log 50 NO CURRENT1 /oraindex/EHR/redo11.rdo 50 NO CURRENT2 /oradata/EHR/redo20.log 50 NO INACTIVE2 /oraindex/EHR/redo21.rdo 50 NO INACTIVE3 /oradata/EHR/redo30.log 50 NO INACTIVE3 /oraindex/EHR/redo31.rdo 50 NO INACTIVE6 rows selected.SQL> alter database add logfile group 4 '/oradata/EHR/redo04_a.log' size 5M;Database altered.SQL> alter database add logfile member '/oraindex/EHR/redo04_b.log' to group 4;Database altered.SQL> select a.group#,a.member,b.bytes/1024/1024 MB,b.archived,b.statusfrom v$logfile a, v$log bwhere a.group#=b.group#order by 1,2;GROUP# MEMBER MB ARC STATUS---------- -------------------------------------------------- ---------- --- ----------------1 /oradata/EHR/redo10.log 50 NO CURRENT1 /oraindex/EHR/redo11.rdo 50 NO CURRENT2 /oradata/EHR/redo20.log 50 NO INACTIVE2 /oraindex/EHR/redo21.rdo 50 NO INACTIVE3 /oradata/EHR/redo30.log 50 NO INACTIVE3 /oraindex/EHR/redo31.rdo 50 NO INACTIVE4 /oradata/EHR/redo04_a.log 5 YES UNUSED4 /oraindex/EHR/redo04_b.log 5 YES UNUSED8 rows selected.SQL> alter database drop logfile member '/oraindex/EHR/redo04_b.log';Database altered.SQL> alter database drop logfile group 4;Database altered.SQL> select a.group#,a.member,b.bytes/1024/1024 MB,b.archived,b.statusfrom v$logfile a, v$log bwhere a.group#=b.group#order by 1,2;GROUP# MEMBER MB ARC STATUS---------- -------------------------------------------------- ---------- --- ----------------1 /oradata/EHR/redo10.log 50 NO CURRENT1 /oraindex/EHR/redo11.rdo 50 NO CURRENT2 /oradata/EHR/redo20.log 50 NO INACTIVE2 /oraindex/EHR/redo21.rdo 50 NO INACTIVE3 /oradata/EHR/redo30.log 50 NO INACTIVE3 /oraindex/EHR/redo31.rdo 50 NO INACTIVE6 rows selected.SQL> ![localhost.localdomain:/app/oracle]rm /oradata/EHR/redo04_a.log -f[localhost.localdomain:/app/oracle]rm /oraindex/EHR/redo04_b.log -f[localhost.localdomain:/app/oracle]exit
data file 이동
설명
- offline 가능/불가능에 따라 방법 구분
- offline 불가 대상
- system /undo /redo log
- Offline 가능 대상 순서
- 테이블스페이스 offline->파일복사 ->컨트롤파일 변경->테이블스페이스 online
- Offline 불가능 대상 순서
- shutdown immediate->startup mount->파일복사->컨트롤파일 변경->DB Open
예시 -offline 가능 대상
-
더보기SQL> select name from v$datafile;NAME---------------------------------------------------------------------------------------------------/oradata/EHR/system01.dbf/oradata/EHR/undotbs01.dbf/oradata/EHR/sysaux01.dbf/oradata/EHR/users01.dbf/oradata/EHR/undo01.dbf/oradata/EHR/haksa01.dbf6 rows selected.SQL> alter tablespace haksa offline;Tablespace altered.SQL> !cp /oradata/EHR/haksa01.dbf /oraindex/EHR/SQL> alter tablespace haksa renamedatafile '/oradata/EHR/haksa01.dbf'to '/oraindex/EHR/haksa01.dbf';Tablespace altered.SQL> select name from v$datafile;NAME---------------------------------------------------------------------------------------------------/oradata/EHR/system01.dbf/oradata/EHR/undotbs01.dbf/oradata/EHR/sysaux01.dbf/oradata/EHR/users01.dbf/oradata/EHR/undo01.dbf/oraindex/EHR/haksa01.dbf
예시 -offline 불가능 대상
-
더보기SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 1610612736 bytesFixed Size 2096632 bytesVariable Size 385876488 bytesDatabase Buffers 1207959552 bytesRedo Buffers 14680064 bytesDatabase mounted.SQL> select name from v$datafile;NAME---------------------------------------------------------------------------------------------------/oradata/EHR/system01.dbf/oradata/EHR/undotbs01.dbf/oradata/EHR/sysaux01.dbf/oradata/EHR/users01.dbf/oradata/EHR/undo01.dbf/oraindex/EHR/haksa01.dbf6 rows selected.SQL> !cp /oradata/EHR/system01.dbf /oraindex/EHR/SQL> alter database renamefile '/oradata/EHR/system01.dbf'to '/oraindex/EHR/system01.dbf';Database altered.SQL> alter database open;Database altered.SQL> select name from v$datafile;NAME---------------------------------------------------------------------------------------------------/oraindex/EHR/system01.dbf/oradata/EHR/undotbs01.dbf/oradata/EHR/sysaux01.dbf/oradata/EHR/users01.dbf/oradata/EHR/undo01.dbf/oraindex/EHR/haksa01.dbf
'Oracle > 기타' 카테고리의 다른 글
[관리] 계정/ArchiveLog (0) | 2022.03.23 |
---|---|
[관리] 테이블스페이스 (0) | 2022.03.23 |
[기타] DB Link 구성 (0) | 2022.03.23 |
[기타]다중 인스턴스 구성 (clone 생성 및 복원) (0) | 2022.03.23 |