同时我们提供以下方法来终止此恢复过程,但请用户注意这些 *** 作将带来数据的不一致性。必要时,希望用户用完整、可靠的数据库备份恢复此数据库。
(1) 启动Backup Server, 后备master数据库(这一步很重要!) 1>dump database master to "/usr/sybase/masterdup"
2>go (2) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例) 1>sp_configure "allow updates", 12>go1>begin tran2>go1> use master2> go1>update sysdatabases
2>set status = -32768
3>where name="pubs2"
4>go 如果得到(1 row affected),则 1>commit
2>go 否则 1>rollback
2>go (3)这时重新启动SQL Server, 使用bcp工具将该数据库(本例中为pubs2)内的全部数据导出备份(这一步很重要!) (4)以sa帐号登录到SQL Server,执行下面 *** 作: 1>dump tran pubs2 with no_log2>go1>begin tran2>go1> use master2> go1>update sysdatabases
2>set status=0
3>where name="pubs2"
4>go 如果得到(1 row affected),则 1>commit
2>go 否则 1>rollback
2>go (5) 重新启动server (6) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option (7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性(参照"如何检查数据库中数据一致性"文章) (8) 后备用户数据库 例如: 1>dump database pubs2 to "/usr/sybase/pubs2dup"2>go
你可以打印不同的日志,比如一个递增的序号在日志中,看看是方法执行了多次。还是一次插入了多条。最好debug一下。
你需要排除有多人同时 *** 作你的数据库表。用同样的代码。
是必然出现还是偶尔出现重复记录?
恢复以及带有 OVERFLOW 选项的前滚 *** 作。对于 DB2 的分区数据库,某些直接发出的 DB2 命令只作用于当前一个分区,备份和恢复(BACKUP/RESTORE)就属于这一类命令。但是对于硬盘数据恢复分区数据库,由于同一数据库的数据分布在多个分区上。则对它的备份和恢复 *** 作就要考虑到各分区上数据的完整及同步问题,因此可以在 DB2 命令前加上 db2_all 命令,以便 DB2 命令在数据库的各个分区上被执行,而无需分别对每个分区重复发出相同的命令。另外在 DB2 中,启用了前滚数据恢复模式的数据库,使用的是归档日志方式,而非缺省的循环日志方式。这样,在进行恢复 *** 作时,可在利用 RESTORE 命令恢复了数据库或表空间的备份后,再通过前滚命令(ROLLFORWARD)命令前滚归档日志中的事务,恢复数据库备份时间点之后提交的事务,最大程度的保护数据库的数据。与备份和恢复命令不同的是,前滚命令仅能通过在分区数据库的编目分区上运行,来实现数据库各分区的前滚 *** 作。下面就以一个启用了前滚恢复模式的分区数据库 SAMPLE 为例介绍其备份、恢复以及前滚 *** 作的具体步骤。这里假设该数据库创建在一台服务器上,具有四硬盘数据恢复个分区,其编目分区为0号分区。一 对分区数据库的备份 *** 作:前面已经介绍了,备份 *** 作仅作用于分区数据库的当前分区,所以要使用“db2_all”的命令实现对所有分区进行备份(这里使用联机备份方式),即:db2_all "db2 backup db sample online" 但是上述命令对各分区的备份是以串行方式进行的,为提高备份 *** 作的性能,还有一种可使分区间以并行方式进行的方法。即在上述命令的 DB2 命令前加上以下选项来实现命令的并行:<<+分区号< :表示后续命令作用于该分区。<<-分区号< :表示后续命令作用于除该分区之外的其它分区。||<<-分区号< 或 <<-分区号; :表示后续命令作用数据恢复于除该分区之外的其它分区,并且是以并行方式进行的。但由于备份和恢复 *** 作要求独占编目分区,因此在对其它分区进行并行方式的备份 *** 作之前,首先必须完成该分区的备份 *** 作。其方法为:db2_all "<<+0< db2 backup db sample online" -- 对编目分区的备份db2_all "||<<-0< db2 backup db sample online" -- 对其它分区硬盘数据恢复的并行备份注:分区数据库的备份结束后会为每个分区都产生一个备份映象文件。
以上就是关于怎么终止数据库的“BACKUP PENDING”状态全部的内容,包括:怎么终止数据库的“BACKUP PENDING”状态、java(在for循环里写了一个insert *** 作)日志显示提交一次,数据库插入了两条相同的数据、DB2 分区数据库备份与恢复 *** 作如何进行 (1)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)