数据库日志文件是做什么用的?

数据库日志文件是做什么用的?,第1张

日志文件是用来记录你所对数据库的 *** 作信息的 例如对数据库的 *** 作等引起的问题 日记文件都有记载下来 。

了解的人 但数据库有问题的时候可以去看那个日记文件来分析出错的原因。

就好像有人有写日记的习惯那样 他会把他每天所做的事情都记录下来 ,日记就相当于这里的日记文件 而人每天所做的事情就相当与对数据库的 *** 作 当某个时刻 人忘记了之前所做过的事情时(或所做的事情对现在有影响) 就去查看他所写的日记 数据库也是这样

在Oracle数据库中,有一种日志文件叫做重做日志文件,他就是大家俗称的:redolog。在redolog中又分为两种:在线重做日志与归档日志。

ONLINE Redo log

在线重做日志(online redo log )主要用于:Oracle数据库所在服务器突然掉电、突然重启或者执行shutdown abort等命令使得在服务器重新启动之后,Oracle数据库没有办法正常的启动实例。此时,在线重做日志就派上了用场,Oracle会使用在线重做日志,把数据库恢复到服务器掉电前的那一个时刻,从而使得数据库能正常的启动起来 。

在Oracle数据库中,默认情况下,至少会有两个重做日志组,而且每个组里面至少包含了一个重做日志文件。日志组不会自动增加,在一个写满之后,会自动去写下一个。在下一个被写满之后会又从第一个开始写起。

Archive redo log

归档日志(archive log)主要用于硬件级别的错误:磁盘的坏道导致无法读写、写入的失败、磁盘受损导致数据库数据丢失。这就要使用归档日志文件,通过归档日志文件,把数据库恢复到归档日志所在的时间点上然后再通过在线重做日志文件把数据库恢复到当前的时间点上。

对于归档日志文件,可以理解为在线重做日志文件的备份。即当一个重做日志文件被填满了之后,归档日志文件就会把其备份保留一份。(因为上面说了,在线重做日志文件会自动的覆盖)所以,归档日志文件就是旧的在线日志文件的备份。

日志是SQL Server自身用来回滚事务用的,有第三方的日志读取工具可以从日志文件中读取之前的 *** 作信息。

比如:误删了一条记录怎样通过日志文件使之恢复?

这个如果不用第三方工具而只使用SQL Server本身的功能有两种方法

第一种比较简单,在 *** 作数据库的时候,首先用begin tran语句显式的标记一个事务,然后删除数据,如果确定需要恢复,则执行rollback tran语句,删除 *** 作就会被回滚。使用begin tran语句标记事务,如果不需要回滚,则使用commit tran进行提交,提交后就不能再回滚了。

第二种方法是通过还原数据库的方式,大致步骤如下:

1.首先数据库的恢复模式必须是“完全”或者“大容量日志”模式


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6652760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存