일단 DB2의 BACKUP과 RESTORE에 대해서 말씀드리겠습니다.
BACKUP은 크게 on-line 백업과 off-line 백업이 있습니다.
온라인은 백업을 하면서 데이터베이스를 사용할 수 있는 경우고 오프라이은 그 반대의 경우겠죠.
이 온라인 백업을 하시려면 다음과 같은 전제 조건이 필요합니다.
자세히 설명드리기 힘든 관계로 간략하게 말씀드리면,
아래 질문에서 보신 바와 같이 db cfg에 logretain이 on 되거나 userexit이 세팅되어 있어야 합니다.
님께서는 이미 이 작업을 하신 것 같군요.
위의 결과는 데이터베이스의 모든 연결(connection)이 끊어지고 다시 접속되는 순간 활성화 됩니다.
단, 위의 작업을 하시면, 반드시 offline 백업을 한 번 받으셔야 합니다.
아마도 db2 list tablespaces show detail이라는 명령을 치시면, 백업pending에 빠져 있을 것입니다.
따라서 db2 backup db db_name 명령을 통해 백업을 받으셔야 합니다.
왜 이런 백업팬딩에 빠지는가는 조금만 생각하면 그 이유를 아실 수 있습니다.
님께서 db cfg의 두가지 항목을 수정하신다는 것은 지금까지 사용하던 로그작성 방식을 바꾸신다는 의미입니다. 온라인 백업이나 롤포워드를 사용하시기 위해 로그를 지속적으로 유지한다는 의미지요. 즉 백업중의 작업이나 백업 이후의 작업도 로그를 통해 복구할 수 있도록 그 로그를 유지한다는 의밉니다.
따라서 기존에 사용하던 로그가 새로 갱신되기 때문에 앞으로의 복구를 위한 최초 이미지를 하나 생성하셔야 합니다. 따라서 DB2 엔진은 님과 같은 경우에 잊지 말고 백업을 하라는 의미에서 백업팬딩을 겁니다.
장황하게 설명을 드렸습니다만, 제가 말씀드리려는 의미가 잘 전달되었는지 걱정이군요.
자세한 내용은 다음에 다시 한번 올리도록 하죠..
-- jenny 님이 쓰신 글:
>> 안녕하세요.
>> 어제 w2k상에 DB2 UDB v7.2 설치하구..
>> 백업 관련해서 명령어를 실행중에 있는데요.
>>
>> 아래와 같이 백업 실행시 다음과 같은 메시지가 뜹니다.
>> db2 backup database sample online to e:\db2-backup
>>
>> SQL2413N 를 포워드에 대한 logretain 또는 userexit가 활성화되지 않았거나 데이터베이스에 대한 백업 보류(backup pending) 상태가 유지되고 있으므로 온라인 백업이 허용되지 않습니다.
>>
>> => logretain이나 userexit의 경우는
>> db2 update db cfg for sample using logretain on 으로 변경시켜줬습니다.
>> 의심이 가는건 실행 후 나온 메시지가...
>>
>> 'DB21026I 대부분의 구성 매개변수의 경우, 변경사하잉 적용되려면 먼저 모든 응용프로그램이 이 데이터 베이스에서 연결해제되어야 한다'
>>
>> 메시지가 뜨더라구요.
>>
>> 위의 설정상태를 확인할 수 있는 명령어나..
>> 해결 방법을 알려주셨으면 합니다.
>>
>> 그리고 DB2 백업 및 복구에 대해서 설명을 부탁드립니다.
>> 자료를 모으긴 했는데... 정리가 안되서요.
>>
>> 감사합니다..
|