0

0

Oracle元数据对象Invalid修复过程

php中文网

php中文网

发布时间:2016-06-07 17:15:27

|

1374人浏览过

|

来源于php中文网

原创

在Oracle的运行过程中,由于操作失误可能会造成内部元数据的损坏,进而影响到系统的一些基础功能和正常处理。一旦发生这种故障,

在Oracle的运行过程中,由于操作失误可能会造成内部元数据的损坏,进而影响到系统的一些基础功能和正常处理。一旦发生这种故障,对内部数据字典的重建就是我们需要进行的处理。

本篇从一个损坏故障为入手点,介绍了如何进行Oracle元数据对象的重建。

1、故障场景

一个朋友的测试库最近出现很多“古怪”的错误,比如exp/imp操作异常中断、pl/sql中元数据信息无法展现和异常报错。这种情况下,笔者向朋友索要的对应的alert_log日志文件。结果发现很多错误信息。

Sat Jun 23 06:36:37 2012

Errors in file /u01/diag/rdbms/wilson/wilson/trace/wilson_m001_3667.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-04063: package body "SYS.PRVT_HDM" has errors

ORA-06508: PL/SQL: could not find program unit being called: "SYS.PRVT_HDM"

ORA-06512: at line 1

(篇幅原因,有省略…..)

Sat Jun 23 06:53:39 2012

Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x34] [PC:0x92C0E13, kzpchkc()+4425] [flags: 0x0, count: 1]

Errors in file /u01/diag/rdbms/wilson/wilson/trace/wilson_ora_3619.trc (incident=12215):

ORA-07445: °é”è: è¨ [kzpchkc()+4425] [SIGSEGV] [ADDR:0x34] [PC:0x92C0E13] [Address not mapped to object] []

Incident details in: /u01/diag/rdbms/wilson/wilson/incident/incdir_12215/wilson_ora_3619_i12215.trc

Sat Jun 23 06:53:40 2012

Trace dumping is performing id=[cdmp_20120623065340]

Sat Jun 23 06:53:45 2012

Sweep [inc][12215]: completed

Sweep [inc2][12215]: completed

Sat Jun 23 06:55:23 2012

ORA-942 encountered when generating server alert SMG-4120

ORA-942 encountered when generating server alert SMG-4121

如此类型的错误信息,遍布在近几天错误日志中。但执行一些失败的命令时(如desc),还会有异常错误信息在日志中展现。

在上面的错误日志中,,还有是关于MMON进程异常中断之后,反复重新启动。

MMON进程是AWR报告库收集进程,定期(每小时)收集系统状态保存在数据库字典中。MMON异常中断后反复重启,似乎意味着AWR收集受到影响。

和朋友联系,获取进一步信息。

当日的AWR snapshot只有两条,看来真正出现了问题。同时,发现自动作业中的sys.standard包失效(invalid),合并的还有很多包和方法失效。

经过朋友回忆,应该是执行了exp/imp的重置脚本catexp.sql。看来是该脚本在执行中,破坏了内部的字典信息和数据,导致了一系列问题。

2、问题解决准备

发现了问题的根源,我们就可以有解决问题的基本思路:重新创建数据字典视图和程序对象。我们在Oracle程序安装目录中,均有保存建库脚本和程序,所以可以调用对应脚本,来更新数据字典和程序对象。

由于处理信息比较敏感,所以在处理之前,要进行一次完全备份。笔者选择停机冷备的方法。

首先,定位控制文件和数据文件位置信息,准备拷贝。

[root@ /]# chown -R oracle:oinstall backup

[root@ /]# ls -l | grep backup

drwxr-xr-x 2 oracle oinstall 4096 Jun 25 20:23 backup

 

--控制文件

ecshop
ecshop

本版本全面兼容php5.6+,并且修复了许多官方程序的低级代码bug。在apache 2.4.17+php5.6.15环境下测试通过,人格保证无毒无木马,仅仅是一名ecshop热爱者心血来潮之作。ecshop编译更新日志:1、加入最新官方补丁。2、修改数据库连接底层为mysqli, 现在完美无缺了。3、再次对所有代码进行细节修复。4、adminers更新至1.1.2, 在线管理数据库的神器。5、测

下载

SQL> select 'cp '||name||' /backup' from v$controlfile;

'CP'||NAME||'/BACKUP'

--------------------------------------------------------------------------------

cp /u01/app/oradata/ORA11G/controlfile/o1_mf_7vpyvypo_.ctl /backup

cp /u01/app/flash_recovery_area/ORA11G/controlfile/o1_mf_7vpyw16z_.ctl /backup

 

--数据文件

SQL> select 'cp '||file_name||' /backup' from dba_data_files;

'CP'||FILE_NAME||'/BACKUP'

--------------------------------------------------------------------------------

cp /u01/app/oradata/ORA11G/datafile/o1_mf_users_7vpyc2xd_.dbf /backup

cp /u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_7vpyc2py_.dbf /backup

cp /u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_7vpyc2hb_.dbf /backup

cp /u01/app/oradata/ORA11G/datafile/o1_mf_system_7vpyc1x7_.dbf /backup

之后,关机将文件拷贝到备份目录上。

[oracle@bsplinux ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 25 20:42:06 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

使用生成脚本语句,实现拷贝。

[oracle@bsplinux backup]$ ls -l

total 1720628

-rw-r----- 1 oracle oinstall  9748480 Jun 25 20:44 o1_mf_7vpyvypo_.ctl

-rw-r----- 1 oracle oinstall  9748480 Jun 25 20:44 o1_mf_7vpyw16z_.ctl

-rw-r----- 1 oracle oinstall 723525632 Jun 25 20:55 o1_mf_sysaux_7vpyc2hb_.dbf

-rw-r----- 1 oracle oinstall 744497152 Jun 25 21:08 o1_mf_system_7vpyc1x7_.dbf

-rw-r----- 1 oracle oinstall 267395072 Jun 25 20:47 o1_mf_undotbs1_7vpyc2py_.dbf

-rw-r----- 1 oracle oinstall  5251072 Jun 25 20:45 o1_mf_users_7vpyc2xd_.dbf

冷备份完成。

注意:在进行所有的修复操作前,如果有可能,一定要进行数据现场保留备份!这样起码可以做到不会将情况恶化。

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 生态工具与框架:扩展开发能力
Golang 生态工具与框架:扩展开发能力

《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。

1

2026.02.24

Golang 性能优化专题:提升应用效率
Golang 性能优化专题:提升应用效率

《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。

2

2026.02.24

Golang 面试题精选:高频问题与解答
Golang 面试题精选:高频问题与解答

Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。

1

2026.02.24

Golang 运行与部署实战:从本地到云端
Golang 运行与部署实战:从本地到云端

《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。

3

2026.02.24

Golang 疑难杂症解决指南:常见问题排查与优化
Golang 疑难杂症解决指南:常见问题排查与优化

《Golang 疑难杂症解决指南》聚焦开发过程中常见却棘手的问题,从并发模型、内存管理、性能瓶颈到工程化实践逐步拆解。通过真实案例与调试思路,帮助开发者定位问题根因,建立系统化排查方法。不只给出答案,更强调分析路径与工具使用,让你在复杂 Go 项目中具备持续解决问题的能力。

1

2026.02.24

Golang 入门学习路线:从零基础到上手开发
Golang 入门学习路线:从零基础到上手开发

Golang 入门路线涵盖从零到上手的核心路径:首先打牢基础语法与切片等底层机制;随后攻克 Go 的灵魂——接口设计与 Goroutine 并发模型;接着通过 Gin 框架与 GORM 深入 Web 开发实战;最后在微服务与云原生工具开发中进阶,旨在培养具备高性能并发处理能力的后端工程师。

0

2026.02.24

中国研究生招生信息网官方网站入口 研招网网页版在线入口
中国研究生招生信息网官方网站入口 研招网网页版在线入口

中国研究生招生信息网入口(https://yz.chsi.com.cn) 此网站是研究生报名入口的唯一官方网站

95

2026.02.24

苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法
苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法

本专题汇总苹果官网最新可用入口及中国站点访问方式,涵盖官网直达链接、iPhone官方页面查看方法与常见访问说明,帮助用户快速进入苹果官方网站,便捷了解产品信息与官方服务。

14

2026.02.24

Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址
Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址

本专题系统整理Asianfanfics(AFF)官方网站最新可用入口,涵盖官方平台最新直达地址、官网登录方式及中文访问指引,帮助用户快速、安全地进入AFF平台浏览与使用相关内容。

15

2026.02.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 4.5万人学习

SQL 教程
SQL 教程

共61课时 | 4万人学习

C 教程
C 教程

共75课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号