어떤 user1라는 계정이 있다고 할 때 user1 계정에 생기는 인덱스나 sequence, 함수 등을 export 받고 다시 복구를 위해 import 유틸리티를 이용해서 user1의 계정을 다시 복구하는 방법 좀 알려주세요. 아래에 댓글 달아주셔서 해봤는데 export나 import의 경우는 테이블에만 해당이 되는 건가요? 항상 답글 달아주셔서 진심으로 감사드립니다.
db2의 export는 데이터만 백업을 받습니다.
완전한 복구를 하시려면 backup 명령어를 사용하셔야 합니다.
그럼 벽타는 냥이님께서 알려주신 db2look 명령어로 추출한 DDL문을 가지고 복구가 가능한가요?
db2look문을 사용해서 user1과 관련된 오브젝트를 추출하고
추출한 DDL문을 통해 다시 생성해주는 것이 가능한가요?
db2look은 테이블,인덱스,트리거,함수등을 생성할 수 있는 script만 output으로 만들어 줍니다. 이것으로 object들을 만들어도 export받은 데이터를 import해 주어야 합니다. export는 실수로 테이블이 깨지는 경우 신속한 복구를 위해 받으시고 매일 백업을 받으시는것이 좋습니다. 전체 테이블을 export를 받으실때 아래 스크립트를 사용해보세요.
db2 connect to dbname> /dev/null
db2 -x "select rtrim(tabschema)||'.'||tabname from syscat.tables where tabschema not like 'SYS%'" > tab.lst
for i in `cat tab.lst` do db2 "export to $i.ixf of ixf select * from $i" >> exp.log done