免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2454 | 回复: 6

[分享] 解决误删datafile导致数据库无法启动的问题 [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:17:37
发表于 2015-02-26 19:14 |显示全部楼层
对于Oracle我的知识几乎为零,使用它只是为了产生一些真实的数据交易IO来测试后端的存储。今天遇到个恼人的问题:tablespace的datafile是创建在从NFS server mount到服务器的share文件夹中的,而NFS server(也就是后端存储)被意外的全部清空了,这导致DB启动时由于找不到datafile而报错,DB不能打开:

ORA-01122: database file 32 failed verification check
ORA-01110: data file 32: '/mnt/dbstore2/tpcctbs2.dbf'

Google了老半天,找了一些文章,但是没有哪篇可以直接解决问题。我的目的只是要正常启动DB,然后把无效的tablespace删除就可以了,数据本身并不需要保留或者备份。
尝试了一整天,终于把解决问题的流程试出来了,这里记录下来,希望对大家有帮助。

首先以mount方式打开DB,切换到需要进行操作的container:
shutdown normal;
startup mount;
alter session set container=PDBORCL;


将上面日志中提到的文件进行offline操作 (以下两条指令顺序不能改变,否则执行不成功,搞不懂为什么):
alter database datafile '/mnt/dbstore2/tpcctbs2.dbf' offline drop;  
alter database datafile 32 offline;


退出并重新进入sqlplus, 然后关闭DB:
shutdown normal;

到了这一步,由于我对Oracle非常不熟,在做以下操作时又遇到一些问题,所以干脆先重启了一下server,然后打开DB:
lsnrctl start
dbstart


这时查看启动日志,DB已经正常启动了。
进入sqlplus,再次切换到需要进行操作的container:
alter pluggable database pdborcl open;
alter session set container=PDBORCL;


然后查看已有的tablespace:
SELECT dd.tablespace_name tablespace_name, dd.file_name file_name FROM sys.dba_data_files dd;

最后就可以把已经无效的tablespace删除掉了:
drop tablespace tpcctab INCLUDING CONTENTS and datafiles CASCADE CONSTRAINTS;
drop tablespace tpcctemp INCLUDING CONTENTS and datafiles CASCADE CONSTRAINTS;

论坛徽章:
17
天蝎座
日期:2014-03-10 14:35:04数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00IT运维版块每日发帖之星
日期:2015-12-13 06:20:00数据库技术版块每日发帖之星
日期:2015-10-20 06:20:00数据库技术版块每日发帖之星
日期:2015-08-21 06:20:00数据库技术版块每日发帖之星
日期:2015-06-17 22:20:002015年迎新春徽章
日期:2015-03-04 09:57:092015年辞旧岁徽章
日期:2015-03-03 16:54:15技术图书徽章
日期:2015-01-12 17:05:35亥猪
日期:2014-11-09 13:05:04金牛座
日期:2014-09-25 11:28:54处女座
日期:2014-09-15 19:58:36
发表于 2015-02-27 08:38 |显示全部楼层
赞!~~~ 12C已经用上了呀。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:17:37
发表于 2015-02-27 08:45 |显示全部楼层
是的,我也是一个月前刚刚开始用的,其实除了用HammerDB操作Oracle来产生交易数据外,其他啥都不懂。

有个问题没搞懂,Oracle这么高端的东西,怎么都是可以免费下载和使用?我之前一直以为这些是要收费的呢
回复 2# jackson198574


   

论坛徽章:
17
天蝎座
日期:2014-03-10 14:35:04数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00IT运维版块每日发帖之星
日期:2015-12-13 06:20:00数据库技术版块每日发帖之星
日期:2015-10-20 06:20:00数据库技术版块每日发帖之星
日期:2015-08-21 06:20:00数据库技术版块每日发帖之星
日期:2015-06-17 22:20:002015年迎新春徽章
日期:2015-03-04 09:57:092015年辞旧岁徽章
日期:2015-03-03 16:54:15技术图书徽章
日期:2015-01-12 17:05:35亥猪
日期:2014-11-09 13:05:04金牛座
日期:2014-09-25 11:28:54处女座
日期:2014-09-15 19:58:36
发表于 2015-02-27 08:53 |显示全部楼层
回复 3# pan_trix2


    是要收费的呀。用在项目中是要按照CPU数量和配置进行收费的。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:17:37
发表于 2015-02-27 08:59 |显示全部楼层
我对Oracle的license政策不太了解。我是直接在它官网上下载的,安装的时候也没看到需要啥注册信息。那么Oracle怎么可以收到钱?

回复 4# jackson198574


   

论坛徽章:
17
天蝎座
日期:2014-03-10 14:35:04数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00IT运维版块每日发帖之星
日期:2015-12-13 06:20:00数据库技术版块每日发帖之星
日期:2015-10-20 06:20:00数据库技术版块每日发帖之星
日期:2015-08-21 06:20:00数据库技术版块每日发帖之星
日期:2015-06-17 22:20:002015年迎新春徽章
日期:2015-03-04 09:57:092015年辞旧岁徽章
日期:2015-03-03 16:54:15技术图书徽章
日期:2015-01-12 17:05:35亥猪
日期:2014-11-09 13:05:04金牛座
日期:2014-09-25 11:28:54处女座
日期:2014-09-15 19:58:36
发表于 2015-02-27 09:34 |显示全部楼层
回复 5# pan_trix2


    这个是他们销售人员和商务人员的工作,咱们做技术的把手艺练好就OK。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-03 17:33:52
发表于 2015-02-27 15:34 |显示全部楼层
回复 3# pan_trix2

oracle 对于个人用于学习方面是不收费的,当然用于商业方面的收费也是非常贵的


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP