(1)在线日志文件记录所有数据变化信息
利用日志文件快速写功能提升数据库写入性能(写100W行数据,写磁盘要10分钟,写日志只要1分钟,库认为日志写完了,数据就写完了。)
(2)为实例失败与介质失败提供恢复机制
日志建立的2种方式(库中什么时候产生日志):
1、按物理条件:只要块发生变化,就把块记录到日志中(记录内容多,还原速度快)
2、逻辑操作:操作动作,你做了哪些操作动作(记录的少,还原慢)
oracle是怎么记录的?监控块变化,记录块上的操作动作。
1个块8K,假设记录100行,一次插入,只记录一条,动作是按块记录的。
insert 100W行,改变了10W个块,产生10W条日志记录。
delete操作6M数据,产生日志量可能会大于6M,可能是块分布的不均匀。每个块的操作步骤都记录下来。
oracle这种,能保证还原速度,又能保证记录数据时,减少服务器压力,oracle做了个折中。
公司经常问你说,看你维护服务器的规模,就知道你的能力是什么样的,能给你多少钱了?
你说我们库10G数据,人家给不了你多少钱。oracle至少是维护百G的数据的,这都不是大库。
你说我们库500G、1000G的数据,这种才是主流库,再大点就是数据仓库。
人家还会问你,每天数据变化?或者数据增长量?
比如说库中有500G,每天数据变化量5G,每天增长1~2G,这就是主流库了。
你的数据变化越频繁, 意味你日志产生越多,你维护手段越多。
如果每天没啥访问,日志没啥变化,也就不用维护日志文件了。
你一个库10G数据,你什么调优方式、管理方式全都不用了,请你来就闲着。
它就知道你维护10G的库,用不了啥技术,也就给不了多少钱。
你说你维护100多T的数据,一听这得是数据仓库,这肯定能要上钱。
--------------------------------------------------------------------------------