前几天,一个用户找到我,说他们的物化视图不能刷新了,这得从几天前主库的一次意外down机说起(另文说明),前几天,用户现场的一个中心库因某原因意外down掉了,当时短期内对中心库进行了重启修复,没有造成数据丢失,但重启后,围绕中心库的几个快照库不能刷新MV了,让我帮忙解决下,没办法,用户就是上帝,用户的需求就是命令,开工吧。
首先,我看了一个快照库上的MV,都是从中心库往快照库中同步数据的,并且也对一个数据量小的MV进行了测试,确实是不可以刷新,一直卡在那里不动,但在快照库上,通过定义MV的SELECT语句,可以快速的从中心库查到数据,有点纳闷儿,怎么回事儿呢?继续排查:

select * from v$Lock where type='TM' and id1='1234';

看到结果,发现了线索,如下:
ADDR          KADDR         SID   TYPE   ID1    ID2    LMODE  REQUEST  CTIME     BLOCK
--------------------------------------------------------------------------------------

64B3AB44 64B3AB5C1,050TM1234 0 3 0  370500    0

如果有的同学还没发现线索,那么继续:

select * from v$session where sid=1050;

这条语句的结果较长,我就不贴在这里了,通过结果的SCHEMANAME,MACHINE,PROGRAME,TYPE,LOGON_TIME,STATE等信息,基本可以确定问题所在了,否则,可以通过SQL_ID继续检查:

select * from v$sql where sql_id='bsw0sjtftg6vw'

通过以上语句,可以获取到具体的SQL,这样就能更清楚这些会话当时所做的工作,好了,确定问题所在,我们总的解决:

alter system kill session 'sid,serial#';

命令发出去,居然kill不掉,v$session虽然显示killed,但依然能查到该session,并且,再次刷新MV时,依然卡在那里,通过v$session的process,可以知道该sid对应的PID,于是:
kill -9 pid
再次测试MV的刷新,成功解决,其他几个快照库都如法炮制,MV问题依次全部解决,大家参照学习,禁止转载。

快照库MV不能成功刷新问题的解决的更多相关文章

  1. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...

  2. maven中snapshot快照库和release发布库的区别和作用

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  3. maven2-snapshot快照库和release发布库的应用

    在项目中应用snapshot和release库,应用snapshot和release库达到不同环境下发布不同的版本的目的,首先看一个pom文件的定义: <project> <mode ...

  4. maven配置之:<distributionManagement>snapshot快照库和release发布库

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  5. pom配置之:<distributionManagement>snapshot快照库和release发布库

    本文转载自:  铁木箱子的mzone的博客: http://www.mzone.cc/article/277.html http://www.mzone.cc/article/279.html 在使用 ...

  6. maven2中snapshot快照库和release发布库的应用

    在之前的文章中介绍了maven2中snapshot快照库和release发布库的区别和作用,我今天这里要介绍的是如何在项目中应用snapshot和release库,应用snapshot和release ...

  7. maven中snapshot快照库和release发布库的区别和作用 (转)

    Maven介绍,包括作用.核心概念.用法.常用命令.扩展及配置 http://www.trinea.cn/android/maven/ 本文来源于铁木箱子的博客http://www.mzone.cc ...

  8. pom配置之:snapshot快照库和release发布库

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  9. [转]Maven2中snapshot快照库的使用

    Post by 铁木箱子 in Java, 技术杂谈 on 2011-10-28 12:12. [转载声明] 转载时必须标注:本文来源于铁木箱子的博客http://www.mzone.cc[原文地址] ...

随机推荐

  1. Unix/Linux系统编程

    一,开发工具 编译器 GCC 调试工具 GDB 代码编辑 Vim 1. 编译命令 gcc hello.c -o hello # 第二个hello为新生成的可执行文件名 -o 为生成的可执行文件指定名称 ...

  2. 20145314郑凯杰《网络对抗技术》恶意DLL注入进程(进程捆绑)的实现

    20145314郑凯杰<网络对抗技术>恶意DLL注入进程(进程捆绑)的实现 一.本节摘要 简介:在这部分里,要实现将恶意后门悄无声息地与进程进行捆绑,通过和已运行的进程进行捆绑,达到附着攻 ...

  3. 在Android Studio中创建项目和模拟器

    北京电子科技学院 实      验      报      告 课程:移动平台应用开发实践  班级:201592  姓名:杨凤  学号:20159213 成绩:___________  指导老师:娄嘉 ...

  4. weka中算法说明[转]

    1) 数据输入和输出WOW():查看Weka函数的参数.Weka_control():设置Weka函数的参数.read.arff():读Weka Attribute-Relation File For ...

  5. Java 多线程查找文件中的内容

    学过了操作系统,突然不知道多线程有什么用了. 看了一下百度,发现多线程,可以提升系统利用率 在系统进行IO操作的时候,CPU可以处理一些其他的东西,等IO读取到内存后,CPU再处理之前的操作. 总之可 ...

  6. github上不去了

    这几天发现github.com上不去了 可能是由于要杜绝国外的人使用最新的技术??从而屏蔽了吗?

  7. Python实现自平衡二叉树AVL

    # -*- coding: utf-8 -*- from enum import Enum #参考http://blog.csdn.net/niteip/article/details/1184069 ...

  8. MVC ---- EF三层代码

    1.DAL层 using Night.Models; using System; using System.Collections.Generic; using System.Data.Entity. ...

  9. ubuntu14.04上 nginx启动停止

    sudo service nginx stop  停止 sudo nginx   启动

  10. linux 系统调用号表

    位于 /usr/include/asm/unistd.h 由于我是64位系统,所以有一些额外的东西.我的这个文件为下文 #ifndef _ASM_X86_UNISTD_H #define _ASM_X ...