
CKPTisresponsiblefor:
61SignalingDBWnatcheckpoints
61Updatingdatafileheaderswith
checkpointinformation
61Updatingcontrolfileswith
checkpointinformation
BackgroundProcessesandRecovery:Checkpoint(CKPT)
Tounderstandinstancerecovery,youneedtounderstandthefunctioningofcertainbackground
processes
Everythreeseconds(ormorefrequently),theCKPTprocessstoresdatainthecontrolfileto
documentwhichmodifieddatablocksDBWnhaswrittenfromtheSGAtodiskThisiscalleda
“checkpoint”Thepurposeofacheckpointistoidentifythatplaceintheonlineredologfile
whereinstancerecoveryistobegin(whichiscalledthe“checkpointposition”)
Intheeventofalogswitch,theCKPTprocessalsowritesthischeckpointinformationtothe
headersofdatafiles
Checkpointsexistforthefollowingreasons:
61Toensurethatmodifieddatablocksinmemoryarewrittentothediskregularlysothatdata
isnotlostincaseofasystemordatabasefailure
61TorecethetimerequiredforinstancerecoveryOnlytheonlineredologfileentries
followingthelastcheckpointneedtobeprocessedforrecovery
61Toensurethatallcommitteddatahasbeenwrittentodatafilesringshutdown
ThecheckpointinformationwrittenbytheCKPTprocessincludescheckpointposition,system
changenumber,locationintheonlineredologfiletobeginrecovery,informationaboutlogs,andsoon
ORACLECHECKPOINT的作用
checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件。
我们知道了checkpoint会刷新脏数据,但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint。
1当发生日志组切换的时候
2当符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target参数设置的时候
3当运行ALTERSYSTEMSWITCHLOGFILE的时候
4当运行ALTERSYSTEMCHECKPOINT的时候
5当运行altertablespaceXXXbeginbackup,endbackup的时候
6当运行altertablespace,datafileoffline的时候;
你再好好看看文档吧
LOg ON 的中文意思是:开始工作\x0d\在数据库中,log on用在建数据库的时候(创建日志的时候用)。\x0d\例如:\x0d\create datebase Mydb\x0d\on\x0d\(\x0d\name = "Mydb_data",\x0d\filename = "D:\project\Mydb_datamdf"\x0d\)\x0d\log on\x0d\(\x0d\name = "Mydb_log",\x0d\filename = "D:\project\Mydb_logldf"\x0d\)
首先确认数据库恢复模型是否为 simple, 如果不是,那么需要先备份日志(或者临时将数据库恢复模型改为 simple),日志空间才能回收再使用
回放日志文件未用空间(释放给磁盘),可以使用 dbcc shrinkfile(日志文件逻辑名, emptyfile)
在导入前,我们手头上需要有数据库的备份文件。一般情况下有2种,一种是通过企业管理器备份出来的SQL文件,只有一个文件。还有一种就是数据库的源文件,有2个,分别是mdf和ldf文件,也就是数据库的数据文件和日志文件。
2
有的客户只有这2种备份文件的其中一种,针对不同的情况,我们可以采取不同的备份方式。当然我们必须确保数据库备份文件是完整的没有损坏的。
END
步骤/方法
假如你的空间商用的是星外虚拟主机管理系统,这种系统支持第一种备份文件的还原和导入。星外系统的数据库导入分为5个步骤,大家直接到空间商的数据库管理里面就可以看到,这里不再叙述,发个截图给大家看。
如果你只有数据库源文件,也就是有mdf 和ldf文件。可以直接把SQLServer暂停,然后用备份的源文件覆盖现在的初始源文件,然后启动SQLServer。注意这种办法要先开通这个数据库,保持源文件名要一致,这样才能直接覆盖。
还有一种办法就是附加数据库,把mdf和ldf文件直接附加,系统会自动生成一个数据库。下面是截图:如果你的空间商一定要第一种备份文件才能还原,可以先通过这种附加方法把数据库生成,然后在企业管理器中导出备份文件即可。注意上面的附加为:项目要写准备还原的数据库名称。
用SQL网页管理器导入备份文件。这种办法需要先安装一个web界面的SQLServer管理器,类似于管理MySQL的PHPmyadmin,应该网上有下
use
databaseName
go
select
columnName1
from
tableName2
where
columName
like
'%log%'
databaseName
是表示使用数据库名称
columName1
表示需要搜出的列名
columnName2
表示条件列名
以上就是关于SQL...什么是数据库的检查点(数据库检查点的作用)全部的内容,包括:SQL...什么是数据库的检查点(数据库检查点的作用)、在数据库中“LOG ON”是什么意思怎么用、如何清理sqlserver 2008 数据库log等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)