我又做了实验,就算我备份的时候单独备份一个表空间:
db2 backup db testdb tablespace dongna to f:\backup
备份完后我在testdb空间创建一个表dongna,然后:
db2 restore db testdb tablespace (dongna) from f:\backup taken at xxxxxxx without rolling forward
之后提示成功,我连接数据库,结果创建的dongna表还在,而且testdb表空间处于前滚暂挂状态 我已经彻底没辙了。
1)因为你只恢复了其中一个tbspace,所以必须要rollforward to end of log,以确保数据完整性(要不然你其他tablespace都是今天的,这个tablespace得数据是上周的,数据不是就乱了么)
2)如果想要恢复表空间,该表空间必须存在,如果你删除了一个表空间,很多catalog中的信息都会被删除,怎么还能恢复?