暂无图片
在服务器的警告日志alert.log中看到如下消息
我来答
分享
中天
2023-01-30
在服务器的警告日志alert.log中看到如下消息

Thread 1 cannot allocate new log,sequence 1466

Checkpoint not complete

    Current log# 3 seq# 1465 mem# 0:  /.../...redo03.log

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

警告日志出现了这样的消息,DBA必须格外当心。这是数据库试图重用一个在线重做日志文件,但是它发现做不到,此时它就会把这样的一条消息写到服务器上的alter.log中。

数据库为什么不能重用在线重做日志文件呢?

可能是检查点操作(checkpointing)正在写入将要被重用的在线重做日志所保护的数据,但是还没有完成;或者ARCn还没有把生做日志文件的复制到归档目标。此时数据库像是处于一种冰冻的状态,但其实数据库的DBWn进程正在全力将数据块写入磁盘(或者ARCn进程正在全力地拷贝在线重做日志文件到归档目标)。当数据库完成了检查点或归档之后,一切又回归正常。

数据库之所以暂停用户的活动,是因为此时在出现实例失败时还要用到(Checkpoint not complete),或者归档进程尚未完成文件的复制(Archival required),此时Oracle必须等待(相应地,最终用户也必须等待)这些操作(检查点或归档)完成,才能安全地重用这个重做日志文件。

要解决这个问题,有下面几种做法:

让DBWn更快一些;

增加更多的重做日志文件;

重新创建更大的日志文件;

让检查点发生得更频繁。

暂无图片 评论
暂无图片 有用 9
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle中为什么用backup database plus archivelog命令备份出来的archivelog有很多个?
回答 2
已采纳
1、backupdatabaseplusarchivelog会备份所有没备过的归档日志,默认是64个文件备份成一个文件2、还原时候首先还原数据文件,再根据你指定的时间点/SCN,判断恢复时候需要使用的
oracle 数据库导库导错了能恢复吗?
回答 3
是全库导入还是部分表导入覆盖掉原表了?开闪回了嘛?有adg嘛?
redo 500M 可是归档为什么几M就归档一次
回答 1
redo大小小于log buffer会出这个问题,加大redosize即可
Oracle 12c和19c的jdk驱动包是一个版本吗 ?
回答 1
已采纳
对,都是jdk1.8
Oracle 中listener日志怎么关闭?
回答 1
已采纳
logstatusoffLOGGINGOFF
Oracle 删除了表空间的一个数据文件,现在物理文件删了,但是数据库里的记录没删掉,怎么解决?
回答 4
1、数据库启动到mount,offline数据文件SQL>alterdatabasedatafile'/u01/app/oracle/oradata/orcl11g/test01.dbf'off
Oracle两个节点的asm日志一直出现NOTE:voting file relocation is required in diskgroup OCR 大佬们 这个算是报错嘛 两个节点的asm日志都一直出现这个信息
回答 3
已采纳
要么打补丁,要么进行磁盘组重建
dg备库节点hang住
回答 4
参看该文章:http://dbtechno.blogspot.com/2015/04/aixlrudprocessonoracledbserver.html
Oracle 宕机 trac文件的这个信息:error 1092 ,是控制文件损坏吗?
回答 3
已采纳
是的,控制文件损坏了,如果有备份的话,替换一下控制文件,如果没有就要手动创建控制文件。可参考:Oracle控制丢失如何恢复
11204RAC,ORACLE_HOME的权限让我误修改了,现在想要增删节点,是应该先删,还是新增一个再删有问题的?
回答 2
出于好奇,楼上专家的命令测试了一把,AIX环境下不可使用,Linux环境可用,生成的文件内容简略如下:之前也遇到过权限错乱的问题,使用permission.pl在节点1获取正确的权限然后将其刷到节点2