SQL...什么是数据库的检查点?

SQL...什么是数据库的检查点?,第1张

CKPT is responsible for:

• Signaling DBWn at checkpoints

• Updating data file headers with

checkpoint information

• Updating control files with

checkpoint information

Background Processes and Recovery: Checkpoint (CKPT)

To understand instance recovery, you need to understand the functioning of certain background

processes.

Every three seconds (or more frequently), the CKPT process stores data in the control file to

document which modified data blocks DBWn has written from the SGA to disk. This is called a

“checkpoint.” The purpose of a checkpoint is to identify that place in the online redo log file

where instance recovery is to begin (which is called the “checkpoint position”).

In the event of a log switch, the CKPT process also writes this checkpoint information to the

headers of data files.

Checkpoints exist for the following reasons:

• To ensure that modified data blocks in memory are written to the disk regularly so that data

is not lost in case of a system or database failure

• To reduce the time required for instance recovery. Only the online redo log file entries

following the last checkpoint need to be processed for recovery.

• To ensure that all committed data has been written to data files during shutdown

The checkpoint information written by the CKPT process includes checkpoint position, system

change number, location in the online redo log file to begin recovery, information about logs,

and so on.

ORACLE CHECKPOINT的作用

checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件。

我们知道了checkpoint会刷新脏数据,但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint。

1.当发生日志组切换的时候

2.当符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target参数设置的时候

3.当运行ALTER SYSTEM SWITCH LOGFILE的时候

4.当运行ALTER SYSTEM CHECKPOINT的时候

5.当运行alter tablespace XXX begin backup,end backup的时候

6.当运行alter tablespace ,datafile offline的时候

你再好好看看文档吧

"Error Sx0202008+" 是 SQL Server 中的一个错误代码,它通常表示发生了网络通信异常。这个错误可能是由于以下原因之一引起的:

网络连接中断:可能是由于网络故障、数据库服务器重启或网络卡问题等导致的。

防火墙或代理问题:可能是由于防火墙或代理设置阻止了数据库服务器与客户端之间的通信。

资源不足:可能是由于数据库服务器资源不足导致的,例如内存不足、磁盘空间不足等。

为解决这个问题,您可以尝试以下措施:

检查网络连接:确保网络连接正常,并尝试重新连接。

检查防火墙和代理设置:确保防火墙和代理设置未阻止数据库服务器和客户端之间的通信。

检查资源使用情况:检查数据库服务器的内存、磁盘空间等系统资源是否充足。

检查 SQL Server 错误日志:查看 SQL Server 错误日志以获取更多信息,可能会有其他相关信息,帮助您快速解决问题。

有一家叫甲骨文的粮店,老板很严谨,为了防止仓库的粮食在买入卖出的时候发生问题,他制订一套流程,首先进出仓库的每一旦粮食都要求有一个编号(SCN),而且出入库之前必须先放到一个平台上(buffer cache),他命令仓库叫大头的伙计(datafile head)来首先记录这个编号,然后每隔一定的时间(log_checkpoint_timeout)或者库房平台上的粮食堆放到一定的数量或者仓库伙计换班(log swtich)的时候,一个叫“点点”(CKPT)的后院家奴就会把仓库伙计记录的信息拿给帐房先生同时还会催促码放在仓库平台的粮食入仓或者出仓(DBWn),帐房先生根据“点点”拿来的帐页记录到自己的帐本上。这样一来每天老板要和账房先生、仓库伙计进行账务的核对,一旦发现仓库伙计记录了而帐房先生没记录的情况就要求帐房先生把伙计记录的信息誊写到自己的帐本上,而如果发现帐房先生有记录了而仓库伙计这里却没有,那就麻烦大了,这说明仓库伙计有可能把之前的记录帐页给丢掉了,也就意味着粮食有丢失的危险,不过也不用过分担心,老板手下还有一个给力干将叫“SMON”, 是的,之所以给力就是因为是个洋和尚,外来的和尚会念经嘛。这个"SMON"的洋和尚会想办法去找这些编号的粮食,一旦找到就会让仓库伙计按照帐房先生的记录来重新同步自己的帐本,这事就算是完了,可一旦连“SMON”都搞不定,那么老板就头大了,生意就得关张,意味着有粮食可能会丢失。这时候要么从其他地方找来一摸一样的粮食充数,还要让帐房先生和仓库伙计的帐本都清空从0开始重新记录,以免又出现不同的情况。

不知道够不够白。。。。。


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

原文地址: https://outofmemory.cn/sjk/9587467.html

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

发表评论

登录后才能评论

评论列表(0条)

保存