2 회신 531427 님이 Sep 17, 2006 4:18 PM에 마지막 답글

    RMAN 백업에 대해서

    531883
      오라클의 백업 방법중에서 아카이빙과 RMAN, 그리고 export/import가 있

      을것같은데요, 대부분의 테이블이 조금이라고 매일 변동 사항이 있다면

      20G테이블을 어떤 방법으로 백업하는 것이 좋을까요?
        • 1. Re: RMAN 백업에 대해서
          29384
          대략적으로 오라클의 백업은 물리적인 백업고 논리적인 백업으로 나눠지고 물리적인 백업은 hot backup, cold backup 그리고 논리적인 백업은 export, datapump(10g)로 나눠 집니다. 그리고 hot backup은 또 다시 begin/end backup 명령 실행 후 os 명령을 사용하여 data file 자체를 copy하는 방식과 오라클이 내부적 백업을 하는 RMAN 백업으로 나누어 집니다.
          질문하신 사항이 대부분의 테이블이 매일 변동 되는데 그 중에서20G의 Table을 백업 받고 싶다라는 뜻으로 해석이 됩니다. 만일 그렇다면 export 밖에 답이 없구요.. 물리적인 백업은 특정한 table을 백업 받을 수 없습니다.
          그런데 위의 질문을 보면 백업에 대한 정책이 없어 보이는데 보통 물리적인 백업(보통 hot backup)과 논리적인 백업을 병행하여 정책을 가져 갑니다.
          미디어 장애 시에는 물리적인 백업을 사용하여 복구하구요.. 사용자 혹은 개발자의 실수로 데이타에 문제가 생겼을 경우 전체를 복구 하기가 어렵기 때문에 export file에서 특정한 부분만 뽑아서 복구를 하죠...
          결론 중요한 Database라면 둘다 가져가는게 좋습니다.
          참고로 보통 archive를 하루에 한번씩 받는 정책을 취해 놓는데 사실 운이 나쁘면 하루치 데이타를 전부 잃어 버릴 수 있습니다. 따라서 적당한 때 몇번이라도 archive를 백업 받을 수 있도록 정책을 취하시는게 좋습니다.
          • 2. Re: RMAN 백업에 대해서
            531427
            제가 보기에는 자금 사정이 있다면 20G의 백업을 매일 받을 수 있는
            테이프장치가 있다면 online backup을 통해서 백업을 받는 것이
            가장 좋은 방법입니다. 하지만 그러한 사항이 되지 못할 경우에는
            어쩔 수 없이 rman incremental backup을 해야겠지요.
            그런데 online backup을 통해서 백업을 할 경우에는 세밀하게
            복구하는 방법을 쉽게 DBA 마음대로 할 수 있으나, RMAN을 사용할
            경우에는 다른 서버에 restore하고 구성하는 것이 그리 쉽지가
            않습니다. rman에 대한 확실한 지식이 필요하기 때문이지요..
            게다가 rman을 통해서 incremental backup을 하기 위해서는
            recovery catalog DB가 있어야 합니다. 다른 DB에 recovery
            catalog를 구성해서 백업정보를 그곳에 저장해야 incremental
            backup을 할 수 있지요.

            먼저.. 백업 정책을 정하시죠..
            1. begin bakup이후 데이터파일을 백업하는 온라인 백업을 하신다면
            full backup외에는 방법이 없습니다. 이 때에는 20기가면 테이프장치도
            20기가의 공간을 가져야하겠죠. 물론 veritas netbackup의 경우에는
            데이터파일이 20기가라도 compress를 적용하면 더 줄어듭니다.
            하지만 full backup은 어쩔 수 없습니다. 대부분의 회사는 보통 일일
            full backup을 합니다.

            sql backtrack을 사용하는 경우에는 조금 다른데..
            내부적으로 백업 expire time에 따라서 incremental backup이 가능합니다.
            sql backtrack도 rman과 마찬가지로 full backup을 할 때에 사용하고 있는
            블록에 대해서 dtodump를 이용해서 백업을 받습니다. 테이블 복구를 하면서도
            서비스 DB에 어떠한 영향을 주지않고 테이블을 복구해주는 유틸이기
            때문에 금융기관이나 공공기관에서 많이 사용합니다.

            2. RMAN을 사용
            이 때에는 incremental을 사용할 수 있습니다.
            incremental 백업을 할 때에는 조심해야 할 것이..
            백업 정책을 정확하게 해야 합니다. 만약 backup expire time이
            6일인데.. 7일에 한번씩 full bakcup을 하고 나머지는 incremental backup을
            한다고 친다면.. 차후에 복구시에 full restore할 수 있는 backup image가
            없을 수 있으므로 복구가 안될 수 있지요. 그러하기 때문에 백업 정책을
            정확하게 해야 합니다. 보통 한달정도를 backup expire time으로 해서
            백업image를 삭제하고, rman백업은 1주일에 2회 full backup,
            일일 incremental backup을 합니다.
            하지만 이 방법은 recovery catalog가 있어야 incremental backup이 가능합니다.