DB2 误删除了表中的一条数据 使用的语句是 delete from tableA where id =x ;求如何恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2 误删除了表中的一条数据 使用的语句是 delete from tableA where id =x ;求如何恢复相关的知识,希望对你有一定的参考价值。

注意,是误删除了一条记录, 不是删除了表。答对高分。

1. 首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。
db2 connect to
dbname
db2 update db cfg using logretain on
db2 backup db dbname
(当打开归档日志后,该数据库会处于rollforward pending状态,所以要做一次全备份)
2. 对要实施Drop Table Recovery的表空间(限regular tablespace),执行:
db2 "alter
tablespace 表空间名称 dropped table recovery on "
3. 用 list history dropped table all for 数据库名 得到删除表的tableid(例如
0000000000006d0000020003)和表结构的生成语句(DDL),记录tableid和该语句以便恢复。之后,用drop命令删除的表中的数据可以在前滚恢复时导出。
db2
list history dropped table all for dbname
4. 恢复数据库后,如果想恢复已删除的表,在前滚时加recover dropped table tableid to
目标目录。在该目录下被删除的表中的数据导出。利用上面提到表结构生成语句生成被删除了的表,然后用import命令将数据导入表中。
db2
restore db dbname tablespace(tablespacename) without rolling forward without
prompting
db2 "rollforward db dbname to end of logs and stop
tablespace(tablespacename) recover dropped table table id to path "
cd
path
利用 db2 list history dropped table all for dbname
查出的表结构生成语句生成被删除了的表
db2 import from data of del insert into tablename
参考技术A 没区别,老老实实弄吧。找个别的机器(区别于当前环境,其他实例也可)恢复db,前滚到删除之前,导出误删的数据。然后导入当前环境。 参考技术B 这个简单呀,查journal呀,基本可以查到删除的记录内容,自己找回来就是了。journal里存着你所有变更操作记录的。还有给你个建议,以后无论做update或delete等所有涉及更改或删除的动作前,最好做个backup,这样之后发现问题就可以及时恢复。 参考技术C delete应该没commit不作数啊....及时回滚应该就可以吧- -..除非你已经commit上去了/./

yii2怎么删除数据库的一条数据

yii2 删除数据

// DELETE (table name, condition)
Yii::$app->db->createCommand()->delete('user', 'status = 0')->execute();

Yii::$app->db->createCommand('DELETE FROM post WHERE id=1')->execute();

要删除单行数据,首先获取与该行对应的 Active Record 实例,然后调用 yii\\db\\ActiveRecord::delete() 方法。

$customer = Customer::findOne(123);
$customer->delete();

快速、安全、专业 的 PHP 框架

Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架。

Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

参考技术A 第一查看config里面的数据库配置 是否选择的是mysql 第二数据库的账号密码是否正确

以上是关于DB2 误删除了表中的一条数据 使用的语句是 delete from tableA where id =x ;求如何恢复的主要内容,如果未能解决你的问题,请参考以下文章

在C#中使用SQL语句查询数据在表中是不是存在输出是或否

求sql语句,只修改重复数据中的一条记录

oracle误删除数据的恢复方法

oracle误删除数据的恢复方法

删除oracle 表中重复数据sql语句保留rowid最小的一条记录

oracle误删除数据的恢复方法