oracle 重做日志文件无法自动创建保存问题Thread 1 cannot allocate new log, sequence 233678

Mon Nov 26 09:10:16 2018
Thread 1 cannot allocate new log, sequence 233678
Checkpoint not complete
  Current log# 1 seq# 233677 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG
Thread 1 advanced to log sequence 233678 (LGWR switch)
  Current log# 2 seq# 233678 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG

  最近项目的c++程序老是自动停止工作,检查c++日志找到了ORA-03113: 通信通道的文件结尾, 这种错误都是指的oracle的归档日志满了才会报这样的错,

可项目的oracle数据库的归档功能都是关闭的,初步排除归档日志的问题

再次查找资料,找到了oracle运行的日志文件(oracle运行的日志,错误啥的都在这),路径如下:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log

打开log搜索error就发现了Thread 1 cannot allocate new log这样的错误,查找资料后,这样的错误是oracle的重做日志文件无法正确切换保存的问题。

根据网上的介绍,多数解决方法为新增几个重做日志文件就可以了

先查询一下oracle的重做日志文件:

select group#,sequence#,bytes,members,status from v$log;

select * from v$logfile;

select * from v$log;

发现有三个重做日志文件,RED001,RED002,RED003状态一个为current,两个为active,没有inactive,也就是说都在使用,没有空闲的,

就考虑是不是重做日志文件太少了

于是以 sqlplus /nolog登陆,conn  /  as sysdba登陆后,执行了如下命令:

--增加一个名字为RED004.LOG的log文件
alter database add logfile
 (‘D:\app\Administrator\oradata\orcl\RED004.LOG‘) size 50M;

--执行一下手动切换日志文件命令
alter system switch logfile;  

我按照顺序增加了2个(重做日志文件必须按照顺序增加),也就是说我的重做日志文件为RED001,RED002,RED003,RED004,RED005一共有5个
重做日志路径在D:\app\Administrator\oradata\orcl文件夹下,数据库的dbf也在这

再次执行select * from v$log;  状态如下,有了2个空闲的inactive

再次检查alert_orcl.log日志,没有文章开始的错误了,说明重做日志文件已经正常保存了(下面黑色字体表示重做日志文件已经正常了)

Mon Nov 26 17:02:20 2018
Thread 1 advanced to log sequence 233879 (LGWR switch)
  Current log# 3 seq# 233879 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG

注:新加重做日志文件,不需要停止数据库,直接sqlplus / nolog  conn /  as sysydba   操作即可

在解决过程中发现alert_orcl.log 太大了我这有240M,打开很慢,

于是直接重命名这个文件,重新建了一个空的,过了一会日志文件就输出到那个空的log里面了,如下图

原文地址:https://www.cnblogs.com/-txf-/p/10021721.html

时间: 2024-10-11 11:58:36

oracle 重做日志文件无法自动创建保存问题Thread 1 cannot allocate new log, sequence 233678的相关文章

Oracle重做日志文件

http://blog.csdn.net/leshami/article/details/5749556 一.Oracle中的几类日志文件 Redo log files      -->联机重做日志 Archive log files   -->归档日志 Alert log files     -->告警日志 Trace files         -->跟踪日志 user_dump_dest          -->用户跟踪日志 backupground_dump_dest

oracle联机重做日志文件(online redo log file)

oracle联机重做日志文件(online redo log file几乎所有的发生在oracle的内部变化都记录在online  redo log file中,oracle使用 这些 redo log groups 去恢复数据库,因此它们是非常的重要. 联机重做日志文件的主要工作是:备份数据,1:记录所有的数据改变2:提供了一种恢复机制3:一定是被组织成组的4:至少有两组联机重做日志文件 每一个redo  log 是被分配到 组中, oralce 一次值写一个 online redo log

ORACLE - 管理重做日志文件

ORACLE重做日志文件用于在数据库崩溃等情况下用于恢复数据,默认情况下为三个文件redo01.log/redo02.log/redo03.log,文件组循环使用,在录入与更新操作比较多的应用中,日志文件更新比较繁忙. 1. 查询日志文件: SQL>select * from v$logfile; SQL>select group# as gid,bytes,status,members from v$log; --status 为current则代表正在使用 2. 在挂载新的磁盘时可考虑创建

Oracle 11g 管理重做日志文件

重做日志也称联机重做日志.引入重做日志的目的是数据恢复.在数据库运行过程中,用户更改的数据会暂时存放在数据库的高速缓冲区中.为了提高写数据的速度,并不是一旦有数据变化,就把变化的数据写到数据文件中.频繁的读写磁盘文件会使数据库系统效率降低,所以要等到数据库高速缓冲区中的数据达到一定的量或者满足一定的条件时,DBWR进程才会将变化了的数据写到数据文件中.这种情况下如果在DBWR把变化了的更改写到数据文件之前发生了宕机,那么数据高速缓冲区中的数据就会全部丢失.如果在数据库重新启动后无法恢复这部分用户

Oracle 联机重做日志文件(ONLINE LOG FILE)

--========================================= -- Oracle 联机重做日志文件(ONLINE LOG FILE) --========================================= 一.Oracle中的几类日志文件 Redo log files      -->联机重做日志 Archive log files   -->归档日志 Alert log files     -->告警日志 Trace files        

ORACLE配置重做日志文件

oracle服务器上已提交的数据都被记录在重做日志文件上,一旦数据库崩溃,就可以使用重做日志文件恢复数据. 查看数据库目前的重做日志文件配置 select GROUP#, SEQUENCE#, BYTES, MEMBERS, STATUS, ARCHIVED from v$log; 结果: 可以看出:目前有3个重做日志组(group),每组一个重做日志文件(MEMBERS),每个文件200M,当前组是第一组. select * from v$logfile; 3个重做文件组都位于同一块盘,同一文

oracle redo 重做日志文件

以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习目标:1.解释重做日志文件的目的2.描述重做日志文件的结构3.学会控制日志切换与检查点4.多元化管理重做日志文件5.使用OMF管理重做日志文件 1.概念介绍:重做日志文件通过记录数据的所有改变情况对系统或介质故障提供恢复机制.1)重做日志文件以组的形式存在2)一个oracle数据库至少需要两组,每组至少有一文件3)在一组里的每一重做日志文件叫做成员The redo log files are used only

联机重做日志文件 (转)

文章转自:http://www.cnblogs.com/kerrycode/archive/2012/08/09/2631035.html 联机日志文件又叫重做日志文件,记录了对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改.它主要用于在发生故障的时候和数据库备份文件配合恢复数据库,一般发生故障有2个情况:一个是介质损坏另外一个是用户误操作.每个数据库至少有两个日志文件组,每组至少包含1个或者多个日志成员,这里要多个日志成员的原因是防止日志文件组内某个日志文件损坏后及时提供

Oracle重做日志恢复数据模拟实验

一 系统环境: 1.操作系统:oracle Linux 5.6 2.数据库: Oracle 11g 二 Oracle 重做日志的作用: [模拟介质恢复] 1. 关闭数据库归档模式: [[email protected] ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 6 23:49:30 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved.