博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORA-01291: missing logfile Oracle RAC 集群环境下日志文件结构
阅读量:6927 次
发布时间:2019-06-27

本文共 2135 字,大约阅读时间需要 7 分钟。

在Oracle11g RAC环境中,对集群中的日志的定期检查是必不可少的。通过查看集群日志,可以早期定位集群环境中出现的问题,
以便将问题消灭在萌芽状态。
简单介绍一下有关Oracle集群环境中日志的结构,方便快速查找所需的日志文件。
1.Oracle集群日志藏匿之处
Oracle集群涉及的日志主要位于“$ORA_CRS_HOME/log”和“$ORACLE_HOME/log”目录中。
SQL> SELECT  capture_name,queue_name,RULE_SET_NAME,NEGATIVE_RULE_SET_NAME,status from dba_capture;
CAPTURE_NAME        QUEUE_NAME
------------------------------ ------------------------------
RULE_SET_NAME        NEGATIVE_RULE_SET_NAME       STATUS
------------------------------ ------------------------------ --------
CAPTURE_MES_QBJ         MES_QUEUE_QBJ
RULESET$_17       ABORTED
SQL> select error_message,status from dba_capture;
ERROR_MESSAGE
--------------------------------------------------------------------------------
STATUS
--------
ORA-
01291: missing logfile
ORA-
06512: at "SYS.DBMS_CAPTURE_ADM_INTERNAL", line 842
ORA-
06512: at "SYS.DBMS_CAPTURE_PROCESS", line 397
ORA-
06512: at line 1
ABORTED
我猜想 这个问题是 在RAC上

execute dbms_logmnr_d.set_tablespace('jxmes');

不应该使用这个 

在单实例上可以 

为什么要Supplemental Log(追加日志) 

|字号 

前在配置logical standby database时, oracle文档中要求primary database需要添加附加日志

alter database add supplemental log data (primary key, unique index) columns;

在配置stream replication时,也要求参与复制的表传输附加日志:

alter table scott.dept add supplemental log group log_group_dept_pk (id) always;

但总是不太明白supplemental log的作用,总是担心如果不设置,会不会在某种情况下对数据库造成伤害,昨天看了一天文档,终于在oracle stream replication的online document中找到答案:

大致意思是说:

如果你的主键或唯一索引是组合的(复合的),就需要为表配置supplemental log,否则就不必,也就是说,如果你的所有表的主键是单列的,那你根本就不必去理会它是什么意思.

为什么会这样:

如果你更新了主键中的部分字段,那supplemental log的作用就是把该记录其余的组成部分的数据也传输到目标机,否则目标机就存在不确定性

分析日志的笔记 =====挺实用


select value from v$parameter where name = 'log_archive_dest';
SELECT member FROM v$logfile where rownum = 1;
exec SYS.DBMS_LOGMNR.ADD_LOGFILE('...../o1.log', sys.dbms_logmnr.New);
exec sys.dbms_logmnr.add_logfile(....._1_407.arc', dbms_logmnr.addfile);
select min(low_time),  max(high_time), min(low_scn),   max(next_scn) -1 from V$logmnr_logs;
exec  SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
select SCN, timestamp, sql_redo, session# session_num, username,session_info From V$LOGMNR_CONTENTS Order by 1;
exec SYS.DBMS_LOGMNR.END_LOGMNR();

转载地址:http://gzyjl.baihongyu.com/

你可能感兴趣的文章
1215 迷宫
查看>>
盖茨对微软有多少控制力?比你想象的要大
查看>>
Android学习系列(二)布局管理器之线性布局的3种实现方式
查看>>
U盘复制文件到最后5秒会卡住怎么办解决
查看>>
sqlserver提高篇
查看>>
Scrollanim – CSS3 & JavaScript 创建滚动动画
查看>>
reportng之测试报告升级美化
查看>>
习题四——数字智力题
查看>>
搜狗笔试的思考
查看>>
3D图形处理库
查看>>
Axure RP一个专业的高速原型设计工具
查看>>
pig 调试(explain&illerstrate)
查看>>
Cognos11中关于CJAP第三方认证的相关配置
查看>>
springboot-mongodb的多数据源配置
查看>>
hdu 4324 Triangle LOVE(拓扑判环)
查看>>
SDL2.0上手试用
查看>>
spring boot(一):入门篇
查看>>
去当前时间的周一
查看>>
(转)淘淘商城系列——Redis持久化方案
查看>>
(转)淘淘商城系列——中文分析器IK-Analyzer的使用
查看>>