Oracle 10g 添加、删除日志组

做日常巡检的时候发现alert日志中有这个错误
Thread 1 cannot allocate new log, sequence 319708
Checkpoint not complete

这个实际上是个比较常见的错误。通常来说是因为在日志被写满时会切换日志组,这个时候会触发一次checkpoint,DBWR会把内存中的脏块往数据文件中写,只要没写结束就不会释放这个日志组。如果归档模式被开启的话,还会伴随着ARCH写归档的过程。如果redo log产生的过快,当CPK或归档还没完成,LGWR已经把其余的日志组写满,又要往当前的日志组里面写redo log的时候,这个时候就会发生冲突,数据库就会被挂起。并且一直会往alert.log中写类似上面的错误信息。

ORACCLE给出的建议是:
Add additional log group
Increase size of redo logs

#########################################################

select * from v$log;

select bytes/1024/1024 from v$log;

select * from v$logfile;

#通过以上命令查看日志组、日志文件的状态

#添加3个新的日志组

alter database add logfile group 4 ‘/u01/app/oradata/destdb/destdb/redo04.log‘ size 300m;

alter database add logfile group 5 ‘/u01/app/oradata/destdb/destdb/redo05.log‘ size 300m;

alter database add logfile group 6 ‘/u01/app/oradata/destdb/destdb/redo06.log‘ size 300m;

#通过执行下面的命令,将新添加的日志组的状态切换为“非unused”,将需要删除的日志组切换为“unused”

alter system switch logfile;

#删除老的日志组,在线增加日志组的时候,删除日志组的时候只能删除日志组状态为 INACTIVE 的日志组。

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

#最后去os上删除老的日志组的物理文件

删除/u01/app/oradata/destdb/destdb/redo01、02、03.log

时间: 2024-10-01 01:01:58

Oracle 10g 添加、删除日志组的相关文章

Oracle在线调整redo日志组数及组成员

Oracle在线调整redo日志组数及组成员 一.调整redo日志组大小 操作原因: redo日志一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能.通常情况下每小时不要超过6次!如果AWR(Automated Workload Repository 自动负载信息库) report中log file switch checkpoint incomplete) 比较大,说明redo log之间的切换过于频繁.可以通过增加redo log size来降低切换的频率.但如果redo log

『ORACLE』RAC—增删日志组

[email protected] rac1>select group#,thread#,members,status,bytes/1024/1024 as size_m from v$log; GROUP#                    THREAD#            MEMBERS       STATUS             SIZE_M---------------------- ------------------ -------------- -----------

添加redo日志组和添加日志组多元化

查看redo日志组的状态和日志的位置. SQL> select * from v$log; GROUP#   THREAD#  SEQUENCE#      BYTES BLOCKSIZE          MEMBERS ARCSTATUS         FIRST_CHANGE#FIRST_TIME   NEXT_CHANGE# NEXT_TIME -------------------- ---------- ---------- ---------- ---------- --- --

Oracle 10G RAC 删除已有节点

如果现在在RAC集群中有三个节点c1.c2.c3: 如果想要卸载c3节点. 1.在c1或者c2上删除c3实例 运行dbca 然后选择Oracle Real Application Clusters database 选择Instance Management 选择Delete an instance 选择实例,填写用户名密码,Next 选择c3: instance3,Next 执行完毕 2.删除r3的ASM实例(如果有的话) 在c1或者c2上,在Oracle用户下: srvctl stop as

ORACLE中添加删除主键

本文转自:http://blog.chinaunix.net/uid-17079336-id-2832443.html 1.创建表的同时创建主键约束(1)无命名create table student (studentid int primary key not null,studentname varchar(8),age int);(2)有命名create table students (studentid int ,studentname varchar(8),age int,constr

『ORACLE』RAC—增删日志组成员

[email protected] rac1>select group#,member,status from v$logfile order by 2; GROUP#   MEMBER                                                                           STATUS---------- -----------------------------------------------------------------

oracle 11g 添加删除haip

1 [[email protected] ~]# /u01/app/crs/bin/oifcfg getif 2 eth11 192.168.20.0 global public 3 eth12 10.0.0.0 global cluster_interconnect 4 [[email protected] ~]# /u01/app/crs/bin/oifcfg setif -global eth13/10.0.0.0:cluster_interconnect 5 [[email protec

Oracle重做日志组状态及切换解析

Oracle重做日志(redo log)是用来记录操作条目,用于数据库数据恢复.为了提高效率,oracle通常建议设置三组redo log. 一.概述 oracle重做日志组通常有四种状态,即unused,inactive,active,current. unused通常指从未被使用的日志组,即新添加的日志组. current状态为LGWR进程正把redo log buffer的日志写进日志组中. active为刚刚完成日志切换后的状态,此时该日志组中提交的事务引起的数据改变还没有完全从DB b

实验案例:删除文件系统日志组,保留ASM日志组

说明: oracle文件系统迁移至ASM,需要删除文件系统的日志组,只保留ASM日志组.若两者均保留,会出现读写日志性能不平衡状态.向ASM中读写日志要远快于向文件系统中读写日志. 操作步骤: SQL> select * from v$log; --查看到当前日志组为2,第1.3日志组处于INACTIVE状态,脏块已经写完,可以将这两个日志组删除 GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS ---------- --