转自:微点阅读  https://www.weidianyuedu.com/content/2117785047648.html

一、解决oracle 9.2.0.6版本数据库由于oRA-07445宕机问题 故障现象: XX网数据库宕机,查看日志发现以下内容: Wed Jun 8 20:24:17 2005 Errors in file /u02/app/oracle/admin/unicom/udump/unicom_ora_661.trc: oRA-07445: \\263\\366\\317\\326\\322\\354\\263\\243: \\272\\313\\320\\304\\327\\252\\264\\242 [00000 00101c3089c] [SIGSEGV] [Address not mappe d to object] [0x000000000] [] [] Wed Jun 8 20:24:22 2005 Errors in file /u02/app/oracle/admin/unicom/bdump/unicom_pmon_11598.trc: oRA-07445: exception encountered: core dump [0000000101c399A0] [SIGSEGV] [Address no t mapped to object] [0x000000000] [] [] Wed Jun 8 20:24:23 2005 Errors in file /u02/app/oracle/admin/unicom/bdump/unicom_pmon_11598.trc: oRA-07445: exception encountered: core dump [0000000101c399A0] [SIGSEGV] [Address no t mapped to object] [0x000000000] [] [] oRA-00602: internal programming exception oRA-07445: exception encountered: core dump [0000000101c399A0] [SIGSEGV] [Address no t mapped to object] [0x000000000] [] [] Wed Jun 8 20:24:33 2005 cKPT: terminating instance due to error 472 Instance terminated by cKPT, pid = 11604 Wed Jun 8 21:04:47 2005 Starting oRAcLE instance (normal) 解决办法: oracle工程师建议安装oracle补丁p3949307_9206_SoLARIS64,经过测试,安装步骤如下(注意,首先shutdown数据库): 1.解压补丁文件: unzip p3949307_9206_SoLARIS64.zip 解开后的目录是:4060756 。 2.修改oraclehomeproperties.xml文件,该文件在$oRAcLE_HoME/inventory/contentsXML目录下: cp oraclehomeproperties.xml oraclehomeproperties.xmlb.bak vi oraclehomeproperties.xml 更改数字453 ->23,存盘退出。 3.修改PATH路径为: PATH=$oRAcLE_HoME/bin:/usr/ccs/bin:${PATH} 4.执行opatch apply命令: cd 4060756 $oRAcLE_HoME/oPatch/opatch apply 5.安装成功后会出现如下结果: Updating inventory... /oracle92/app/oracle/product/9.2.0.1/oPatch/opatch.pl version: 1.0.0.0.51 copyright (c) 2001-2004 oracle corporation. All Rights Reserved. oPatch succeeded.

二、查看oracle表空间大小及利用率的SQL语句-非常实用的语句 set linesize 300 col 表空间名 for a30 SELEcT UPPER(F.TABLESPAcE_nAME) \表空间名\D.ToT_GRooTTE_MB \表空间大小(M)\D.ToT_GRooTTE_MB - F.ToTAL_BYTES \已使用空间(M)\To_cHAR(RoUnD((D.ToT_GRooTTE_MB - F.ToTAL_BYTES) / D.ToT_GRooTTE_MB * 100, 2), "990.99") \使用比\F.ToTAL_BYTES \空闲空间(M)\F.MAX_BYTES \最大块(M)\FRoM (SELEcT TABLESPAcE_nAME, RoUnD(SUM(BYTES) / (1024 * 1024), 2) ToTAL_BYTES, RoUnD(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FRoM SYS.DBA_FREE_SPAcE GRoUP BY TABLESPAcE_nAME) F, (SELEcT DD.TABLESPAcE_nAME, RoUnD(SUM(DD.BYTES) / (1024 * 1024), 2) ToT_GRooTTE_MB FRoM SYS.DBA_DATA_FILES DD GRoUP BY DD.TABLESPAcE_nAME) D WHERE D.TABLESPAcE_nAME = F.TABLESPAcE_nAME oRDER BY 4 DESc;

三、XX网oracle数据库SYSTEM表空间文件坏块的解决办法 故障现象: netBackup备份出错,日志如下: RMAn-00571: =========================================================== RMAn-00569: =============== ERRoR MESSAGE STAcK FoLLoWS =============== RMAn-00571: =========================================================== RMAn-03009: failure of backup command on ch01 channel at 06/15/2005 02:28:44 oRA-19566: 超出损坏块限制 0 (文件 /u01/app/oradata/unicom/system01.dbf) 故障分析: 由于事前发生过别的表空间(cookdbs:/u01/app/oradata/unicom/cokdbs.dbf)也有坏块的情况,根据李智他们的建议,使用迁移数据后删除表空间的办法解决(仅适用于普通表空间)。 这是查询该表空间上的表和索引对象的一个脚本: GXdb% more query.sql conn /as sysdba col owner for a25 col segment_name for a40 spool table.log select distinct oWnER,SEGMEnT_nAME from dba_extents where TABLESPAcE_nAME="cooKDB" and SEGMEnT_TYPE="TABLE"; spool off spool index.log select distinct oWnER,SEGMEnT_nAME from dba_extents where TABLESPAcE_nAME="cooKDB" and SEGMEnT_TYPE="InDEX"; spool off exit 查询完毕后,使用一个迁移的脚本迁移到新的表空间: GXdb% more move.sh #!/bin/ksh sqlplus /nolog @query.sql nEWTBS=\echo \for TnAME in `cat table.log | awk " /^cooKDB/ {print $2} "` do echo \$nEWTBS;\done for InAME in `cat index.log | awk " /^cooKDB/ {print $2} "` do echo \

$nEWTBS;\done echo \sqlplus /nolog @move.sql 本次经过检查,发现包括有System在内的四个表空间的四个数据文件有坏块。为了能使用netBackup备份,对netBackup脚本做以下修改(对相应的数据文件设置maxcorrupt): run { allocate channel ch00 type "sbt_tape"; set maxcorrupt for datafile 1,27,28,44 to 10; backup 。。。。。。 release channel ch00; } 如果有归档日志没有丢失,都备份过,可以使用rman的blockrecover来修复文件的坏块,例如: run { allocate channel ch00 type "sbt_tape"; blockrecover datafile 27 block 302089,302090,332823,332824,332825,332826; blockrecover datafile 28 block 340846,340847,340848,340849; blockrecover datafile 44 block 380381,380382,380383,380384,380405,380406,380407,380408; blockrecover datafile 1 block 1703064,1703065,1703066,1703067,1703088,1703089,1703090,1703091; release channel ch00; } 但是中间由于备份失败,本地维护删除过归档日志,此方法不适用。

本次由于有SYSTEM表空间,不同于普通用户表空间,它有自己的特殊性。所以有些问题的解决方法也不尽相同。经多方探讨协商(oracle India engineer、项目经理、本地维护、开发部门和系统工程部经理),总结了以下处理办法:

解决SYSTEM表空间文件坏块的方法是导出全库数据,删除数据库,重建数据库,导入全库数据。具体的操纵步骤,经过讨论,见如下:主要是考虑到优化可以在线进行,也需要在线进行,还考虑到优化的万一出错性,既便出错至少还可以恢复到原始状态,如果优化没有成功,再做导出导入也不能恢复到初始状态。所以就先做导出导入工作再做优化处理。微点阅读  https://www.weidianyuedu.com

步骤是:

1. 导出整个数据库(数据库在线),参考命令:

exp system/manager file=/oraclebak/unicomdbfull.dmpfull=Y log=/oraclebak/unicomfull.log

2. 备份配置文件cp $oRAcLE_HoME/dbs/* /oraclebak,记录数据库名及实例名,参考字典视图V$DATABASE,V$InSTAncE;

3. 删除数据库DBcA(/u02/app/oracle/product/9.2.0.1/bin/dbca)图形化配置工具。注意:建议不要删除数据文件、重做日志文件和控制文件以及归档日志文件,处理方法是:

a.就数据文件、重做日志文件和控制文件分别改名为xxx.bak.xxx文件,例如mv datafile001.dbf datafile001.bak.dbf ;

b.就归档日志文件,只改名归档日志文件所在的目录名即可,例如mv archivedir archivedirbak。要参考的数据字典视图有V$DATAFILE、V$LoGFILE、V$conTRoLFILE和archive log list 参数。

4. 重建数据库DBcA(/u02/app/oracle/product/9.2.0.1/bin/dbca)图形化配置工具; 5. 导入整个数据库,imp system/unicom@unicom full=y ignore=y file=xxx.dmp log=yyy.log;

6. 启动数据库,严格测试

dbv file= /u02/app/oracle/oradata/unicom/system01.dbf blocksize=8192 检查还有没有坏块;

7. 使用3.2SQL脚本检查表空间情况。

Oracle数据库常见问题处理相关推荐

  1. oracle 数据库问题,ORACLE数据库常见问题汇总,oracle常见问题汇总

    ORACLE数据库常见问题汇总,oracle常见问题汇总 提交事务的时候提示(数据库被一个用户锁住的解决方法) select object_id,session_id,locked_mode from ...

  2. oracle数据库问题吗,Oracle数据库常见问题答疑一

    Oracle数据库常见问题答疑一 作者:chinaitlab 佚名 2005-10-29 00:00 评论 分享 [IT168 服务器学院]Oracle数据库以其强大的功能和稳定性而著称,但同时,在开 ...

  3. navicat链接oracle不显示用户下的相关数据库和表【Navicat 连接 Oracle数据库常见问题】

    在使用Navicat连接Oracle的过程中大家可能会碰到这样或者那样的很多的问题,本文中汇总了一在使用Navicat连接Oracle的过程中大家可能会碰到这样或者那样的很多的问题,本文中汇总了一些让 ...

  4. oracle服务器找不到怎么解决,简析Oracle数据库常见问题及解决方案

    Oracle数据库在使用的过程中常常会遇到这样或那样的问题,而这些问题常常又使我们感到很困惑,本文我们总结了Oracle数据库在使用过程中的一些问题,并给出了解决方法,下面我们就开始分析一下这些问题. ...

  5. Oracle学习总结(3)——Navicat客户端连接Oracle数据库常见问题汇总

    问题1:ORA-28547:connection to server failed,probable Oracle Net admin error 问题描述: 服务器连接失败 解决方案: 百度了一下, ...

  6. Oracle数据库常见问题及解决办法

    1.        ORA-000913 :值太多 此时updateflag 一般为2,数据无法插入到log表中. 原因1:主表与log表字段不一致. 解决办法:需要检查两个表的字段与类型,添加或修改 ...

  7. cmd删除oracle监听,oracle数据库监听删除

    oracle 10G for linux常用命令 oracle 10G for linux常用命令 首先以Oracle用户登录 1. $/oracle/oracle/app/product/101/b ...

  8. oracle张大鹏,Oracle数据库性能优化

    目录 第一篇 优化工具篇 第 1 章 DBA 优化之路 1.1 学习的建议 1.2 工具推荐 1.3 关于操作系统方面的建议 1.4 关于Oracle初始化参数的调整 1.5 关于Statspack的 ...

  9. oracle数据库7个安装包,Oracle 11gR2(11.2.0.4)安装包(7个)作用说明

    在之前使用Oracle10G的时候,官网下载的数据库安装包只有两个文件,解压合并后为完整的安装包. 后来因为检查出多个Oracle漏洞,需要现场Oracle数据库版本需要升级到11.2.0.4,下载的 ...

最新文章

  1. 抢票软件原理_手机部应届生软件大赛 | SHOW MI YOUR CODE
  2. 如何根据sessionID获取session解决方案
  3. 引用程序集没有强名称解决办法
  4. ssh能够连接而sftp不能连接的解决方法
  5. sklearn自学指南(part43)--数据加载工具
  6. how is SAP UI5 extension component being loaded in the runtime
  7. 命运2服务器维护时间2019,《命运2》今晚将停机维护 为多平台共用存档做准备...
  8. 编程语言python入门-2020年10月编程语言:Java、Python 龙争虎斗
  9. Python字符串title()
  10. MVC中的action验证登录(ActionFilterAttribute)
  11. CentOS 6.6源码编译升级GCC至4.8.2
  12. segger公司调试cortex-m内核出现hardfault的方法
  13. 2512 4.7K 5%贴片电阻识别方法
  14. VPS常用网络测试工具
  15. 科沃斯机器人招股_科沃斯机器人首次公开发行A股股票的初步询价公告
  16. HTML基础--标签VSCode常用快捷方式和插件
  17. 计算机方向的综述投稿哪个期刊,人工智能方向论文投稿期刊
  18. linux查找服务器大文件,Linux查找大文件命令
  19. html 破折号自动换行,HTML+CSS 对于英文单词强制换行但不截断单词的解决办法
  20. 注意力机制QKV理解

热门文章

  1. 数据仓库与元数据管理
  2. 基于Python的直播平台数据分析可视化系统
  3. Connect to tfhub.dev:443 [tfhub.dev/216.58.200.238] failed 问题解决
  4. GMT中文字体显示配置
  5. 加拿大FBA海运详细说明
  6. dxp全称_DXP企业标志logo设计,品牌vi设计策划
  7. SOAP Client in Delphi7
  8. PHPCMS网站关站了打不开-站长真的凉了吗?
  9. 学习ARM开发(1)
  10. OS发展史中各操作系统的形成、发展和特点