`

Oracle数据库:Thread 1 cannot allocate new log, sequence 22 Checkpoint not complete

 
阅读更多

 

遇到问题:

Thread 1 cannot allocate new log, sequence 22416

Checkpoint not complete

 

  Current log# 1 seq# 22411 mem# 0: /orcldb/orcl/redo01.log

Thread 1 advanced to log sequence 22412

  Current log# 2 seq# 22412 mem# 0: /orcldb/orcl/redo02.log

Thu Jul 26 00:46:37 2012

Thread 1 advanced to log sequence 22413

  Current log# 3 seq# 22413 mem# 0: /orcldb/orcl/redo03.log

 

原因:

This is a very common error while huge data writing into db and have not enough log group or group member file is small.

当系统要重新利用某个日志文件的时候,系统需要将该日志文件所包括的buffer cache 中的dirty block 写到相应的数据文件。

然后,buffer cache 中的dirty data还没有完全写到数据文件,系统的checkpoint 没有来得及完成,就已经有大量的日志需要写入到系统。

系统只能通知应用:checkpoint 还没有完成,你只能等待。

When the database waits on checkpoints,redo generation is stopped until the log switch is done

 

解决方案:

1) Give the checkpoint process more time to cycle through the logs
-  add more redo log groups
-  increase the size of the redo logs
2) Reduce the frequency of checkpoints
- increase LOG_CHECKPOINT_INTERVAL
- increase size of online redo logs
3) Improve the efficiency of checkpoints enabling the CKPT process
with CHECKPOINT_PROCESS=TRUE
4) Set LOG_CHECKPOINT_TIMEOUT = 0.  This disables the checkpointing
based on
time interval.
5) Another means of solving this error is for DBWR to quickly write
the dirty buffers on disk.

 

如表1,我们计划采取的方法为:

1

重做日志组

线程

大小

1

1

50M

2

2

50M

3

1

50M

4

2

50M

1.2个节点分别增加重做日志组5,6,7,8,大小设置为200M

SQL>alter database add logfile thread 1 group 5 size 200m;

SQL>alter database add logfile thread 2 group 6 size 200m;

SQL>alter database add logfile thread 1 group 7 size 200m;

SQL>alter database add logfile thread 2 group 8 size 200m;

2.删除重做日志组

//节点1

SQL>alter system switch logfile;

//节点2

SQL>alter system switch logfile;

SQL>alter database drop logfile group 1;

SQL>alter database drop logfile group 2;

SQL>alter database drop logfile group 3;

SQL>alter database drop logfile group 4;

3.重建重做日志组1,2,3,4,大小设置为200M

SQL>alter database add logfile thread 1 group 1 size 200m;

SQL>alter database add logfile thread 2 group 2 size 200m;

SQL>alter database add logfile thread 1 group 3 size 200m;

SQL>alter database add logfile thread 2 group 4 size 200m;

 

 

 

 

1
1
分享到:
评论

相关推荐

    Cannot Allocate New Log

    标题 "Cannot Allocate New Log" 指的是在数据库操作过程中遇到了无法分配新的日志空间的问题。这通常发生在事务日志(或重做日志)已满的情况下,导致系统无法记录更多的事务信息。日志文件是数据库系统的重要组成...

    编译时virtual memory exhausted Cannot allocate memory 内存增加.docx

    在执行编译程序时,如果虚拟机的内存不足,可能会出现“Virtual Memory Exhausted: Cannot Allocate Memory”的错误提示。这是因为编译程序需要占用大量的内存空间,而虚拟机的内存不足以满足编译程序的需求。 解决...

    Oracle数据库常见维护问题手册-精典

    ### Oracle数据库常见维护问题手册-精典 #### 数据库基础 **数据库启动方式** Oracle数据库启动通常通过`SQL*Plus`工具来进行。首先确保已经安装并配置了正确的Oracle客户端环境,然后通过以下命令来启动数据库:...

    rac数据库修改redolog日志组大小及数量.docx

    Thread 1 cannot allocate new log, sequence 8740 Checkpoint not complete Current log #1 seq #8739 mem #0: +DATA/pracdb1/onlinelog/group_1.257.648662189 Current log #1 seq #8739 mem #1: +FLASH/pracdb1/...

    无法解析的外部符号”private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@String@cv@@AEAA

    1>—— 已启动生成: 项目: save-image, 配置: Release x64 —— 1>save-image-D435.obj : error LNK2001: 无法解析的外部符号 “private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@...

    oracle 数据库备份 实例代码

    Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,其数据安全性及稳定性备受赞誉。数据库备份是确保数据安全的重要环节,防止数据丢失或损坏时能够快速恢复。本篇将详细介绍Oracle数据库备份的基本概念...

    ORACLE数据库自动备份3种方法

    ### ORACLE数据库自动备份3种方法详解 #### 一、概述 在企业级应用中,数据库的安全性至关重要,定期进行数据库备份是确保数据安全的重要措施之一。对于Oracle数据库而言,实现自动化的数据库备份不仅可以提高效率...

    oracle数据库的备份与还原(本地及远程操作)

    Oracle数据库的备份与恢复是数据库管理员日常工作中至关重要的部分,它涉及到数据的安全性和业务连续性。Oracle提供了多种备份和恢复策略,包括使用SQL*Plus、RMAN(恢复管理器)、Data Pump以及使用网络备份工具...

    利用Crontab实现对Oracle数据库的定时备份.rar

    Oracle数据库是企业级广泛使用的数据存储系统,为了确保数据安全,定期备份至关重要。Crontab是Linux系统中的任务调度工具,能帮助我们自动化执行包括数据库备份在内的各种任务。本教程将详细阐述如何利用Crontab来...

    Oracle数据库移植.doc

    ### Oracle数据库移植知识点详解 #### 一、Oracle数据库移植概述 Oracle数据库移植是指将现有的Oracle数据库从一个环境迁移到另一个环境的过程。这个过程通常涉及到硬件、操作系统或版本的变化。移植可以是同构...

    Oracle数据库空间的使用和管理

    Oracle数据库空间的管理和使用是数据库管理员的关键任务,它直接影响到数据库的性能和应用程序的响应速度。Oracle数据库将存储空间逻辑上划分为多个表空间,每个表空间由一个或多个物理数据文件组成。数据存储的基本...

    Oracle数据库语句资料.docx

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,它提供了丰富的功能来管理、操作和维护数据库。在Oracle中,权限管理是确保数据安全的关键部分。本文将详细介绍Oracle数据库中的权限类型、用户创建、权限...

    oracle数据库备份命令参考文档

    exp user1/password file=user1.dmp log=exp_user1.log ``` 5. 自动备份:为了实现每天自动备份,可以结合Linux的cron定时任务和RMAN。编写一个shell脚本,包含RMAN备份命令,然后设置定时任务执行此脚本。 6. ...

    oracle数据库通过NBU的异机恢复

    根据提供的文件信息,本文将详细解释如何通过网络备份与恢复软件(Network Backup Software,简称NBU)进行Oracle数据库的跨服务器恢复操作。该过程涉及多个步骤和技术细节,下面将逐一展开。 ### Oracle数据库通过...

    利用RMAN实现Oracle数据库的备份与恢复

    Oracle数据库的备份与恢复是确保数据安全性和可用性的重要环节,而RMAN(Recovery Manager)是Oracle数据库自Oracle 8版本开始引入的一种强大的备份和恢复工具。RMAN以其不依赖于具体操作系统的命令语言,提供了丰富...

    oracle数据库备份和恢复系列08

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其稳定性和强大的数据管理能力深受企业信赖。在本"Oracle数据库备份和恢复系列08"中,小布老师将深入讲解如何确保Oracle数据库的安全性,通过有效的备份...

    Oracle数据库备份与恢复总结

    ### Oracle数据库备份与恢复知识点总结 #### 一、EXP/IMP (导出与导入) **1.1 基本命令** - **EXP**: 用于从数据库导出数据。 - `exp username/password [参数]` - **IMP**: 用于向数据库导入数据。 - `imp ...

    oracle数据库备份与恢复.doc

    allocate channel ch1 device type disk rate 20M maxpiecesize 30G format='/oracle1/app/oracle_backup/ctl/%d_%T_%U.rmn'; allocate channel ch2 device type disk rate 20M maxpiecesize 30G format='/oracle1...

    mysql-oracle数据库备份批处理

    本文将详细探讨“mysql-oracle数据库备份批处理”这一主题,旨在帮助你理解和实施这两种主流数据库的备份策略。 首先,我们来看MySQL数据库的备份。MySQL提供了多种备份方法,包括使用命令行工具mysqldump、使用...

Global site tag (gtag.js) - Google Analytics