分类:
2008-04-12 23:38:58
来源:csdn 作者:Mr_Bean |
6、如何实施已删除表的恢复(Dropped Table Recovery)
解答 如何实施已删除表的恢复(Dropped Table Recovery)
解答:
1. 首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。
2. 对要实施Drop Table Recovery的表空间(限regular tablespace),执行:
alter tablespace 表空间名 dropped table recovery on
3. 用 list history dropped table all for 数据库名 得到删除表的tableid(例如 0000000000006d0000020003)和表结构的生成语句(DDL),记录tableid和该语句以便恢复。之后,用drop命令删除的表中的数据可以在前滚恢复时导出。
4. 恢复数据库后,如果想恢复已删除的表,在前滚时加recover dropped table tableid to 目标目录 。 在该目录下被删除的表中的数据导出,例如导出至 ../NODE0000/data文件。利用上面提到表结构生成语句生成被删除了的表,然后用import命令将数据导入表中。
7、如何更改本地系统名称
环境 [产品] DB2 UDB
[平台] Windows 9x/NT/2000, Unix, Linux
[版本] 5.x/6.x/7.x
问题 在控制中心(Control Center)中,可以看到编目在节点下的系统名称。可启动控制中心的节点作为本地系统,名称是不能在这里改变的。那么如何改变本地系统的名称呢?
解答 首先,从控制中心(Control Center)中知道本地系统所在的原节点名。
然后退出控制中心,在命令行处理器中输入以下命令:
1. db2set db2system=新系统名
2. db2 terminate
3. db2 uncatalog node 原节点名
4. db2 terminate
重起控制中心,可以看到,本地系统名已更改。
8、如何将表空间的状态置为正常
环境 [产品] DB2 UDB
[平台] Windows 9x/NT/2000, Unix, Linux
[版本] 5.x/6.x/7.x
问题 quiesce是一种持续状态的锁,它属于一个连接,当该连接失败时,quiesce状态依然存在。如何将表空间的状态置为正常状态?
解答 除去quiesce状态:
1. 连接到数据库
2. 用 list tablespaces 判断哪个tablespace处于quiesce状态和和取得对象(object)ID
3. 判断对象ID对应的表
a)用 db2 "select tabname from syscat.tables where tablid=对象ID" 得到表名
b)用 db2 list history 判断是那个表
4. 用 db2 quiesce tablespaces for table 表名 reset 去除quiesce状态
9、如何实施联机备份
环境 [产品] DB2 UDB
[平台] Windows 9x/NT/2000, Unix, Linux
[版本] 5.x/6.x/7.x
问题 如何实施联机备份?
解答 数据库建立时日志方式默认是循环日志模式(Circular Log),这时是无法做联机备份的。所以,希望实施联机备份,首先要将日志方式改为归档日志模式(Archival Log)。
以sample数据库为例,可以在控制中心中改变sample数据库的配置参数LOGRETAIN为Recovery,或在命令行下用 db2 update db cfg for sample using LOGRETAIN on。改变此参数后,再次连接数据库会显示数据库处于备份暂挂(BACKUP PENDING)状态。这时,需要做一次对数据库的脱机备份。在控制中心中选择对数据库进行脱机备份或在命令行下用 db2 backup db sample 实施。此后数据库就可以进行联机备份了。
可以选择在控制中心中对数据库进行联机备份,或在命令行下用 db2 backup db sample online 实施。
注意: 利用联机备份得到的IMAGE文件进行恢复时,还需要相关的日志文件。 |