Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2997704
  • 博文数量: 454
  • 博客积分: 4860
  • 博客等级: 上校
  • 技术积分: 6375
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 10:08
个人简介

10年工作经验,专研网站运维。

文章分类

全部博文(454)

文章存档

2017年(11)

2016年(13)

2015年(47)

2014年(36)

2013年(147)

2012年(64)

2011年(136)

分类: Oracle

2013-11-22 14:22:55

                                              增加日志组
##################    一、概述:    ###################
数据库报警:需要增加日志组才能解决。
分析原因:
服务器有三个日志组,g1、g2、g3.当g1写完时,要往g2上写,这时候g1要进行归档,还要进行checkpoint。然后另外两个日志组继续写。当g2和g3都写完之后,又要往g1上写,但是问题来了,g1还没有完成归档和checkpoint操作。所以这时就会报警。
解决方法:
多加几个日志组,并且每个日志组空间大一点,这样就可以延缓时间,会留给g1充分的时间来完成归档和checkpoint任务。就不会有报错。

报错信息:
ALTER SYSTEM ARCHIVE LOG
Thread 1 cannot allocate new log, sequence 2594
Checkpoint not complete

##################    二、步骤:    ###################
1. 查看在线日志组:
SQL> select * from v$log;
INACTIVE状态为未使用
ACTIVE状态为正在同步
CURRENT状态为正在使用
【注意】每个组大小要相同,但每个组成员大小要相同。


2. 查看日志组中的成员:
SQL> select * from v$logfile;


3. 手动切换日志组:
SQL> alter system switchlogfile;


4. 查询历史归档日志:
select * from v$log_history;


5. 查看日志的归档模式:
SQL> select dbid,name,created,log_mode from v$database;


6. 查询归档日志的信息:
SQL> select dbid,name,created,log_mode from v$database;


7. 查看归档文件名称格式:
SQL> show parameter log_archive_format


8. 查看归档配置信息:
SQL> SHOW PARAMETER ARCHIVE

9.查看当前日志组成员:
 SQL> select member from v$logfile;

9. 查看当前日志组状态:
select group#,sequence#,bytes,members,status from v$log;

9. 归档日志相关视图
    v$archived_log         -->从控制文件中获得归档的相关信息
    v$archive_dest         -->归档路径及状态
    v$log_history          -->控制文件中日志的历史信息
    v$database             -->查看数据库是否处于归档状态
    v$archive_processes    -->归档相关的后台进程信息
10. 增加日志组:
增加日志组:


1、select group#,sequence#,bytes,members,status from v$log;  查看每组日志的状态
   GROUP#  SEQUENCE#      BYTES    MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
         1      16946   52428800          1 INACTIVE    ##  空闲的
         2      16947   52428800          1 INACTIVE    ##  空闲的
         3      16948   52428800          1 CURRENT   ##正在使用的
2、


alter database add logfile group 4 ('/opt/oradata/orclbj/redo04.log') size 200M;   增加1组日志组 视情况而定增加日志组的大小。


alter database add logfile group 5 ('/opt/oradata/orclbj/redo05.log') size 200M;
alter database add logfile group 6 ('/opt/oradata/orclbj/redo06.log') size 200M;
查看日志组成员:
select member from v$logfile;
查看日志组状态:
select group#,sequence#,bytes,members,status from v$log;
3、alter system switch logfile;  切换日志组
再查看状态:
select group#,sequence#,bytes,members,status from v$log;
如果是active状态的话,就:
SQL> alter system checkpoint;

4、alter database drop logfile group 1; 删除日志组1  在线增加日志组的时候,删除日志组的时候只能删除 日志组状态为 INACTIVE 的日志组
阅读(2107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~