ORA-01173: data dictionary indicates missing data file from system tablespace

2024-01-22 12:48

本文主要是介绍ORA-01173: data dictionary indicates missing data file from system tablespace,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:

重建控制文件后,启动数据库时报错:

Errors in file /home/oracle/app/diag/rdbms/sptdb/sptdb/trace/sptdb_ora_10222.trc:
ORA-01173: data dictionary indicates missing data file from system tablespace
Errors in file /home/oracle/app/diag/rdbms/sptdb/sptdb/trace/sptdb_ora_10222.trc:
ORA-01173: data dictionary indicates missing data file from system tablespace
Error 1173 happened during db open, shutting down database
USER (ospid: 10222): terminating the instance due to error 1173

原因:

错误直译就是:数据字典表示系统表空间中缺少数据文件。
重建控制文件时,报错 undo01.dbf 文件找不到,经询问实施人员,确认了,在移动数据文件时,该数据文件损坏,于是手动删除该数据文件。

解决方式

1.获取字典表中记录的 undo 回滚段信息
strings system01.dbf  |grep "_SYSSMU" > tiaoguoduan.log

抓取了 1400多个回滚段。

2.调整过滤是上述抓取的回滚段信息

利用 notepad 调整了格式,只保留 "_SYSSMU17_4173556989 " 这 种 格 式 , " 这种格式, " 后的多余字符删除,再用 excel 去重后只剩下 40 多个回滚段。

3.创建 pfile 文件并添加隐含参数跳过 undo 回滚段
--创建 pfile 文件
create pfile='/home/oracle/pfile0907.ora' from spfile;--向 pfile 文件中追加如下参数,_CORRUPTED_ROLLBACK_SEGMENTS 为上述查到的回滚段信息。
undo_management='manual'
_CORRUPTED_ROLLBACK_SEGMENTS=(_SYSSMU17_4173556989$,_SYSSMU16_2584280207$,_SYSSMU15_1699474804$,_SYSSMU14_3768027656$,_SYSSMU13_510137110$,_SYSSMU12_3989821048$,_SYSSMU11_2721915459$,_SYSSMU10_837054157$,_SYSSMU9_2948696585$,_SYSSMU8_3135593751$,_SYSSMU7_3476862604$,_SYSSMU6_3690170040$,_SYSSMU5_66821505$,_SYSSMU4_2044410849$,_SYSSMU3_3901155021$,_SYSSMU2_4002485301$,_SYSSMU1_4202636065$,_SYSSMU24_2245458197$,_SYSSMU23_162810300$,_SYSSMU22_1570951004$,_SYSSMU21_3315563218$,_SYSSMU20_1223117992$,_SYSSMU19_722096024$,_SYSSMU18_2219460130$,_SYSSMU46_4140899882$,_SYSSMU44_2144347157$,_SYSSMU43_1488209924$,_SYSSMU42_3769635648$,_SYSSMU41_1972138906$,_SYSSMU40_280517513$,_SYSSMU39_3656336207$,_SYSSMU38_2656060341$,_SYSSMU37_3828108911$,_SYSSMU36_1380934893$,_SYSSMU35_1933170991$,_SYSSMU34_3395220115$,_SYSSMU33_1848968438$,_SYSSMU32_10438569$,_SYSSMU31_3478930262$,_SYSSMU30_1389390591$,_SYSSMU28_1870552265$,_SYSSMU27_4223731671$,_SYSSMU26_2516774973$,_SYSSMU29_4291552864$,_SYSSMU45_1021970280$,_SYSSMU47_2139578935$,_SYSSMU48_1004097328$,_SYSSMU25_633270219$)
4.用新改的 pfile 文件重启数据库
startup pfile='/home/oracle/pfile0907.ora'
5.重建 undo 表空间
create undo tablespace "UNDOTBS2"  datafile '/main/oracle/capture_adaptor/undotbs2_01' size 10m autoextend on; 
6.复制并修改 pfile 文件,再用新改的 pfile 文件启动数据库
cp /home/oracle/pfile0907.ora /home/oracle/pfile.ora--去掉上述增加的两个参数,追加如下参数,undo_tablespace 为步骤5新建的 undo 表空间名
undo_management='auto'
undo_tablespace='UNDOTBS2'--启动数据库
startup pfile='/home/oracle/pfile.ora'
7.重建spfile,重启库
create spfile from pfile='/home/oracle/pfile.ora';shu immediate
startup
8.业务验证数据

这篇关于ORA-01173: data dictionary indicates missing data file from system tablespace的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/633026

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

提示:Decompiled.class file,bytecode version如何解决

《提示:Decompiled.classfile,bytecodeversion如何解决》在处理Decompiled.classfile和bytecodeversion问题时,通过修改Maven配... 目录问题原因总结问题1、提示:Decompiled .class file,China编程 bytecode

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

Partical System

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System) 添加"粒子系统组件"(点击Component -> Effects  ->Particle System) 粒子系统检视面板  点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部) 初始化模块: •

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

ora-01017 ora-02063 database link,oracle11.2g通过dblink连接oracle11.2g

错误图示: 问题解决 All database links, whether public or private, need username/password of the remote/target database. Public db links are accessible by all accounts on the local database, while private