제가 보기에 지금의 문제는
DB2는 백업 이미지에 모든 정보를 가지고 있습니다.
따라서 백업 이미지에는 컨테이너 정보도 가지고 있습니다.
그래서 복원하려고 할때 정의된 컨테이너의 경로로 복원하려고 합니다.
그런데 지금 dog란 DB를 orignal이란 DB로 복원을 하는데
복원하려는 백업이미지가 orignal이란 DB의 백업 이미지가 아니므로
original DB를 뭉게(?)버린다는 메시지가 나온 것이구요
기존에 dog란 DB가 아직 존재하기에
복원하려는 이미지가 사용중인 컨테이너에 시도하다가
에러가 발생한 것입니다. (컨테이너는 공유될 수 없습니다.)
그리고 접속하려고 할때 에러가 난 것은
DB2에서 복원을 시도하려고 하다가 에러가 발생하면
복원 pending상태가 됩니다.
Pending 상태라는 것은 그 작업을 해주어야만 DB를 사용할 수 있게된다는 것입니다.
따라서 Restore를 정상적으로 수행해 주셔야만 사용가능하게 됩니다.
이를 해결하기 위해서는 dog DB를 삭제한 후 복원을 하시거나
redirect restore를 수행하셔야 합니다.
잘 설명이 되었는지 모르겠네요...
-- 윤수옥 님이 쓰신 글:
>> 제가 restore database dog from c:Toronto into oirginal with 2 buffers buffer 512 without rolling forward 라는 명령으로 복원을 시키고자 하였습니다.
>> 그런데 다음과 같은 오류 메시지가..
>>
>> SQL2529W 경고! 백업 이미지 데이터베이스와 다른 기존 데이터베이스로 복원중입니다. 그러나 기존 데이터베이스의 별명 이름 "OIRGINAL"이(가) 백업 이미지의 별명 이름 "DOG"와(과) 일치하지 않고, 기존 데이터베이스의 데이터베이스 이름 "OIRGINAL"이 (가) 백업 이미지의 데이터베이스 이름 "DOG"와(과) 일치하지 않습니다. 목표 데이터
>> 베이스의 백업 버전으로 덮어쓰여집니다. 목표 데이터베이스와 연관된 롤 포워드 복구 로그는 삭제됩니다.
>> 계속하시겠습니까? (y/n) y
>>
>> SQL0294N 컨테이너가 이미 사용중입니다. SQLSTATE=42730
>>
>> db2 => connect to oirginal
>> SQL1119N 이전 복원이 불완전하기 때문에 데이터베이스 "OIRGINAL"(으)로
>> 연결하거나 이를 활성화시킬 수 없습니다. SQLSTATE=57019
>>
>>
>> 갑자기 바보가 된것 같네염..컨테이너가 사용중인것은 아는데...어떻게 처치를 해야 할징.. 조언 부탁드립니다.
|