안녕하세요. 항상 주시는 도움에 감사드리며, 한가지 더 여쭤보려 합니다.
지금 핫백업을 구축하여 1일 단위로 백업중인데, 핫백업 기능을 사용하기 위해 아카이브 로그 기능을 활성화했습니다..
그런데 이번에 archive 로그가 가득 차면서 DB 접속에 실패하는 결과를 가져왔습니다.
우선적으로 db_recovery_file_dest_size 를 늘려주어 구동은 해놓은 상태인데, 이런일이 반복적으로 일어나지 않게 하기위해 아카이브 로그를 주기적으로 삭제하는 방법을 알고 싶습니다.
먼저 단순하게 생각하여 archive 로그 폴더의 파일을 삭제하려고 했었으나, 삭제 후에도 select * from v$flash_recovery_area_usage 로 검색해봐도 사용률이 떨어지지 않는것으로 확인되었습니다.
찾아보니 파일 삭제 후 RMAN에서
connect target / crosscheck copy of archivelog all; delete expired copy of archivelog all;
입력 시에 사용률이 떨어지는것으로 확인되었는데, 뭔가 다른 방법이 없는지 궁금합니다.
-----------
혹시 그냥 주기적으로 파일 삭제만 해도 상관 없는건지도 궁금합니다.
HOTBACKUP 받은 시점 이후 현재까지의 모든 ARCHIVELOG는 보존. 나머지 삭제
또는
FULL BACKUP 받은뒤 ARCHIVELOG 파일 전부 삭제
FULL BACKUP 하고 난 뒤 ARCHIVELOG 는 필요 없는걸로 알고있어서 삭제하셔도 상관없는걸로 알고있습니다.
단 HOTBACKUP은 백업시점부터 현재까지의 ARCHIVELOG는 반드시 보존되있어야하고,
백업시점에서 과거의 것들은 삭제하셔도 되긴합니다 (그런데 별로 권장하지는 않습니다)
추가로 말씀드리면
오늘자 backup시점부터 복구를 위해 archive파일은 반드시 필요합니다. 그렇다는 말은 어제의 archive파일은
필요없겠죠? 근데 복구를 어제자로 복구해야한다면? 어제의 백업시점이후의 백업 파일과 archive파일들이 모두 필요하겠죠?
daily로 full백업 하시면 보통은 archive파일은 3일전까지의 파일은 보관 합니다. 또한 logminer를 이용하여 복구시에도
필요하니 뭐 3일에서 일주일정도의 archive파일은 같이 보관하던가 아니면 백업 소트트웨어에서 retention을 3일에서 일주일정도로 지정해 놓겠지요?