"오라클 rman 아카이브로그 삭제"의 두 판 사이의 차이
DB CAFE
(→아카이브 로그 파일위치) |
(→아카이브 로그 포맷 확인) |
||
36번째 줄: | 36번째 줄: | ||
<source lang=sql> | <source lang=sql> | ||
SQL> show parameter log_archive_format | SQL> show parameter log_archive_format | ||
+ | </source> | ||
+ | <source lang=sql> | ||
+ | SELECT NAME,VALUE | ||
+ | FROM V$PARAMETER | ||
+ | WHERE NAME LIKE '%log_archive_format%'; | ||
</source> | </source> | ||
2020년 1월 30일 (목) 14:04 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 아카이브 로그 사이즈 조회[편집]
- 최대 MAX 및 현재 아카이브로그 사이즈 조회
SELECT NAME
, ROUND(SPACE_LIMIT/1024/1024/1024,2) SPACE_LIMIT_GB
, ROUND(SPACE_USED/1024/1024/1024,2) SPACE_USED_GB
, SPACE_RECLAIMABLE
, NUMBER_OF_FILES
, CON_ID
FROM V$RECOVERY_FILE_DEST;
2 (현재)아카이브 로그 상태/시퀀스조회[편집]
- SQL*PLUS
$ sqlplus / as sysdba
SQL> archive log list;
SQL> SELECT NAME,LOG_MODE,ARCHIVE_CHANGE#
FROM V$DATABASE;
3 아카이브 로그 파일위치[편집]
- - redo 로그 파일위치와 갯수
SQL> select * from v$logfile;
- - 파일의 크기 및 어떤 파일이 사용되는지 확인
SQL> select group#, sequence#, bytes, members, status from v$log;
4 아카이브 로그 포맷 확인[편집]
SQL> show parameter log_archive_format
SELECT NAME,VALUE
FROM V$PARAMETER
WHERE NAME LIKE '%log_archive_format%';
5 아카이브 로그 FULL 장애 조치[편집]
5.1 db_recovery_file_dest_size 최대치 증가[편집]
- ORA-19809: limit exceeded for recovery files 오류 발생시
SQL> alter system set db_recovery_file_dest_size=100G;
5.2 파라미터 확인/ 변경[편집]
SQL> show parameter db_recovery_file_dest;
5.3 아카이브 로그 삭제[편집]
- RMAN 이용
-- 최근 3일치를 제외한 나머지 삭제
RMAN> connect target /
RMAN> LIST ARCHIVELOG ALL;
RMAN> delete archivelog all completed before 'sysdate -3';
-- 전체 삭제
RMAN> connect target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all; -- 전체 삭제
- OS명령어 사용
6 RMAN 아카이브 로그 삭제[편집]
RMAN> LIST ARCHIVELOG LIKE '%.arc';
RMAN> LIST ARCHIVELOG ALL;
RMAN> DELETE ARCHIVELOG LIKE '%.arc';
3일치 아카이브로그 남겨두고 지우기
RMAN> delete archivelog all completed before 'sysdate -3';
7 RMAN 아카이브 로그 삭제 쉘 스크립트[편집]
rman_arch_del.sh
#!/bin/bash
export ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_home
export ORACLE_SID=ORCL
export PATH=$ORACLE_HOME/bin:$PATH
delBackup () {
rman log=/oracle/backup/arch_del.log << EOF
connect target /
DELETE noprompt ARCHIVELOG ALL COMPLETED BEFORE 'sysdate -3';
CROSSCHECK ARCHIVELOG ALL;
DELETE EXPIRED ARCHIVELOG ALL;
exit
EOF
}
#Main
delBackup
- crontab 추가시
00 22 * * * /u01/app/oracle/rman_arch_del.sh > /tmp/rmanarch.log