你好,我想请教一下如何向Oracle数据库中插入数据后同时获取这条数据的主键

 我来答
de...6@163.com
2011-09-16 · TA获得超过391个赞
知道小有建树答主
回答量:728
采纳率:0%
帮助的人:385万
展开全部
哦,god save you, 业务生产库动错的很麻烦啊,你的库的日志模式是完整模式吗full,

以下转载:
DB2中可以使得数据库回复到指定的时间点,SQL Server数据库的Recovery Model为full 或者Bulk copy的时候,是可以从日志来恢复数据库的。实际上日志中记录的一条一条的transact sql语句,恢复数据库的时候会redo这些sql语句。

前提条件:myBBS是数据库test中的一个表,

数据库test的Recovery Model为Full,Auto Close,Auto Shrink两个选项未选中。

数据库test的data files和log files均为默认的自动增长状态。

A:2004/10/13,16:00进行数据库备份,backup database test to disk='d:\db\1600.bak' with init

B:2004/10/14,13:00对数据库进行了update,delete等操作;

C:2004/10/15,18:00使用delete mybbs where id>300时,语句误写成delete mybbs,因而删除了表mybbs中的所有数据。

现在在C点,C点对数据库进行了误操作,我们希望数据库能够恢复到C之前的状态,比如恢复到10月15日17:59分的状态。

要恢复数据库B点,使用的是A点备分的数据库1600.bak;而使用的日志备分是最新的备分1820.logs;因而进行如下操作:

--备分日志:

BACKUP LOG test TO DISK='d:\1820.logs' WITH INIT

--恢复数据库1600.bak,使用WITH NORECOVERY参数:

RESTORE DATABASE test from disk='d:\db\1640.bak' WITH NORECOVERY

--使用日志恢复数据库到10月15日17:59分:

RESTORE LOG test
FROM disk='d:\1820.logs' WITH RECOVERY,STOPAT='10/15/2004 17:59'

上面的三条Transact SQL语句的对应过程:

1.恢复数据库到A点;

2.执行A-B之间的log记录,把数据库恢复到B点.

这样就恢复数据库到了指定的时间点。如果恢复不成功,可能的原因是:1.未使用正确的备分数据库;2.数据库选项选中了Auto Shrink.

本文来自CSDN博客,转载请标明出处:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式