0

0

表空间正在热备份时关闭实例重启报错的重现和解决

php中文网

php中文网

发布时间:2016-06-07 16:10:06

|

1234人浏览过

|

来源于php中文网

原创

最近一个客户的库在OPEN时报错需要恢复,发现原因为当时一个表空间正在热备份--ALTER TABLESPACE TEST1 BEGIN BACKUP; 然后实例异常关闭(可能为ABORT或KILL SMON等进程,这里据说为存储直接关闭导致),然后重启时遇到此错误。在ORACLE 10.2.0.1及11.2.0.4版本

最近一个客户的库在OPEN时报错需要恢复,发现原因为当时一个表空间正在热备份-->ALTER TABLESPACE TEST1 BEGIN BACKUP; 然后实例异常关闭(可能为ABORT或KILL SMON等进程,这里据说为存储直接关闭导致),然后重启时遇到此错误。 在ORACLE 10.2.0.1及11.2.0.4版本中重现了此错误,在这两个版本中同样的情况但是报错信息不太一样,具体情况如下:

10.2.0.1.0 版本表空间正在热备份时关闭实例重启报错的重现和解决:

SQL> select * from v$version where rownum=1; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod 查看此时数据文件的状态: SQL> select tablespace_name,STATUS from dba_tablespaces; set linesize 200 set pagesize 200 col file_name for a50 select file_name,tablespace_name,status from dba_data_files;
TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE UNDOTBS ONLINE SYSAUX ONLINE TEMPTS1 ONLINE TEMP1 ONLINE TEMP2 ONLINE EXAMPLE ONLINE INDX ONLINE TOOLS ONLINE USERS ONLINE OLTP ONLINE REGISTRATION ONLINE TEST1 ONLINE TEST2 ONLINE TEST3 ONLINE 15 rows selected. SQL> SQL> SQL> SQL> FILE_NAME TABLESPACE_NAME STATUS -------------------------------------------------- ------------------------------ --------- /u01/app/PROD/disk1/system01.dbf SYSTEM AVAILABLE /u01/app/PROD/disk1/undotbs01.dbf UNDOTBS AVAILABLE /u01/app/PROD/disk1/sysaux01.dbf SYSAUX AVAILABLE /u01/app/PROD/disk1/example.dbf EXAMPLE AVAILABLE /u01/app/PROD/disk1/indx.dbf INDX AVAILABLE /u01/app/PROD/disk1/tools.dbf TOOLS AVAILABLE /u01/app/PROD/disk1/users.dbf USERS AVAILABLE /u01/app/PROD/disk1/oltp.dbf OLTP AVAILABLE /u01/app/PROD/disk1/REGISTRATION.dbf REGISTRATION AVAILABLE /u01/app/PROD/disk1/test1.dbf TEST1 AVAILABLE /u01/app/PROD/disk1/test2.dbf TEST2 AVAILABLE /u01/app/PROD/disk1/test3.dbf TEST3 AVAILABLE 12 rows selected. ########################################################3

-->发出热备份表空间的命令:

SQL> ALTER TABLESPACE TEST1 BEGIN BACKUP; Tablespace altered. -->查询此时数据文件状态: SQL> select tablespace_name,STATUS from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE UNDOTBS ONLINE SYSAUX ONLINE TEMPTS1 ONLINE TEMP1 ONLINE TEMP2 ONLINE EXAMPLE ONLINE INDX ONLINE TOOLS ONLINE USERS ONLINE OLTP ONLINE REGISTRATION ONLINE TEST1 ONLINE TEST2 ONLINE TEST3 ONLINE 15 rows selected. SQL> set linesize 200 SQL> set pagesize 200 SQL> col file_name for a50 SQL> select file_name,file_id,tablespace_name,status from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME STATUS -------------------------------------------------- ---------- ------------------------------ --------- /u01/app/PROD/disk1/system01.dbf 1 SYSTEM AVAILABLE /u01/app/PROD/disk1/undotbs01.dbf 2 UNDOTBS AVAILABLE /u01/app/PROD/disk1/sysaux01.dbf 3 SYSAUX AVAILABLE /u01/app/PROD/disk1/example.dbf 4 EXAMPLE AVAILABLE /u01/app/PROD/disk1/indx.dbf 5 INDX AVAILABLE /u01/app/PROD/disk1/tools.dbf 6 TOOLS AVAILABLE /u01/app/PROD/disk1/users.dbf 7 USERS AVAILABLE /u01/app/PROD/disk1/oltp.dbf 8 OLTP AVAILABLE /u01/app/PROD/disk1/REGISTRATION.dbf 9 REGISTRATION AVAILABLE /u01/app/PROD/disk1/test1.dbf 10 TEST1 AVAILABLE /u01/app/PROD/disk1/test2.dbf 11 TEST2 AVAILABLE /u01/app/PROD/disk1/test3.dbf 12 TEST3 AVAILABLE 12 rows selected. SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 NOT ACTIVE 0 7 NOT ACTIVE 0 8 NOT ACTIVE 0 9 NOT ACTIVE 0 10 ACTIVE 195848 2014/11/11 22:12:07 11 NOT ACTIVE 0 12 NOT ACTIVE 0 12 rows selected. -->可以看到此时有一个数据文件处于ACTIVE状态,结合dba_data_files中信息,此文件属于下在热备份的TEST1表空间。 此时,新开一个会话,KILL掉SMON进程,或者使用SHUTDOWN ABORT命令关闭数据库。shutdown immediate关闭会提示如下: SQL> shutdown immediate; ORA-01149: cannot shutdown - file 10 has online backup set ORA-01110: data file 10: '/u01/app/PROD/disk1/test1.dbf' --此时ALERT日志提示 Tue Nov 11 22:50:55 2014 Shutting down instance: further logons disabled ###################################################

KILL实例进程,重新启动报错如下:

SQL> startup ORACLE instance started.
Total System Global Area 524288000 bytes Fixed Size 1220360 bytes Variable Size 159383800 bytes Database Buffers 360710144 bytes Redo Buffers 2973696 bytes Database mounted. ORA-01113: file 10 needs media recovery ORA-01110: data file 10: '/u01/app/PROD/disk1/test1.dbf'
ALERT日志中的相关信息: Tue Nov 11 22:15:44 2014 ALTER DATABASE OPEN ORA-1113 signalled during: ALTER DATABASE OPEN...
此时查看相关视图,10号数据文件--TEST1表空间的仍处于活动状态--: SQL> select * from v$backup where STATUS='ACTIVE';
FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------------- 10 ACTIVE 195848 2014/11/11 22:12:07 -->这里的时间是开始发出热备份命令BEGIN BACKUP的时间及当时SCN。

此时,可以使用两种命令来解决:

1.ALTER DATABASE RECOVER datafile 10; 2.ALTER TABLESPACE TEST1 END BACKUP; ##################################################### -->如下是解决及OPEN数据库及验证数据文件状态; SQL> ALTER DATABASE RECOVER datafile 10; Database altered. SQL> select * from v$backup where STATUS='ACTIVE'; no rows selected SQL> alter database open; Database altered. ALERT日志信息: Tue Nov 11 22:15:44 2014 ALTER DATABASE OPEN ORA-1113 signalled during: ALTER DATABASE OPEN... Tue Nov 11 22:17:35 2014 ALTER DATABASE RECOVER datafile 10 Tue Nov 11 22:17:35 2014 Media Recovery Start Tue Nov 11 22:17:35 2014 Recovery of Online Redo Log: Thread 1 Group 5 Seq 6 Reading mem 0 Mem# 0 errs 0: /u01/app/PROD/disk1/redo05.log Mem# 1 errs 0: /u01/app/PROD/disk2/redo05b.log Tue Nov 11 22:17:36 2014 Media Recovery Complete (PROD) Completed: ALTER DATABASE RECOVER datafile 10 检查数据库相关状态: SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 NOT ACTIVE 0 7 NOT ACTIVE 0 8 NOT ACTIVE 0 9 NOT ACTIVE 0 10 NOT ACTIVE 195848 2014/11/11 22:12:07 11 NOT ACTIVE 0 12 NOT ACTIVE 0 12 rows selected.
SQL> select tablespace_name,STATUS from dba_tablespaces; set linesize 200 TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE UNDOTBS ONLINE SYSAUX ONLINE TEMPTS1 ONLINE TEMP1 ONLINE TEMP2 ONLINE EXAMPLE ONLINE INDX ONLINE TOOLS ONLINE USERS ONLINE OLTP ONLINE REGISTRATION ONLINE TEST1 ONLINE TEST2 ONLINE TEST3 ONLINE 15 rows selected. SQL> SQL> set pagesize 200 SQL> col file_name for a50 SQL> select file_name,file_id,tablespace_name,status from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME STATUS -------------------------------------------------- ---------- ------------------------------ --------- /u01/app/PROD/disk1/system01.dbf 1 SYSTEM AVAILABLE /u01/app/PROD/disk1/undotbs01.dbf 2 UNDOTBS AVAILABLE /u01/app/PROD/disk1/sysaux01.dbf 3 SYSAUX AVAILABLE /u01/app/PROD/disk1/example.dbf 4 EXAMPLE AVAILABLE /u01/app/PROD/disk1/indx.dbf 5 INDX AVAILABLE /u01/app/PROD/disk1/tools.dbf 6 TOOLS AVAILABLE /u01/app/PROD/disk1/users.dbf 7 USERS AVAILABLE /u01/app/PROD/disk1/oltp.dbf 8 OLTP AVAILABLE /u01/app/PROD/disk1/REGISTRATION.dbf 9 REGISTRATION AVAILABLE /u01/app/PROD/disk1/test1.dbf 10 TEST1 AVAILABLE /u01/app/PROD/disk1/test2.dbf 11 TEST2 AVAILABLE /u01/app/PROD/disk1/test3.dbf 12 TEST3 AVAILABLE



#############################################################################################

11.2.0.4.0 版本表空间正在热备份时关闭实例重启报错的重现和解决:

-->11G此问题的报错信息比10G更清楚,根据报错信息就有了基本的判断方向。 SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 NOT ACTIVE 1149659 2014/11/11 21:49:55 7 NOT ACTIVE 0 7 rows selected. SQL> select sysdate from dual; SYSDATE ------------------- 2014/11/11 22:05:26 SQL> ALTER TABLESPACE TEST1 BEGIN BACKUP; Tablespace altered.

SHUTDOWN ABORT实例并重启:

SQL> startup ORACLE instance started. Total System Global Area 418484224 bytes Fixed Size 1365040 bytes Variable Size 322964432 bytes Database Buffers 88080384 bytes Redo Buffers 6074368 bytes Database mounted. ORA-10873: file 6 needs to be either taken out of backup mode or media recovered ORA-01110: data file 6: '/u01/app/oracle/oradata/bys1/test01.dbf' 此时ALERT日志的报错信息: Completed: ALTER DATABASE MOUNT Tue Nov 11 22:06:36 2014 ALTER DATABASE OPEN Errors in file /u01/app/oracle/diag/rdbms/bys1/bys1/trace/bys1_ora_3910.trc: ORA-10873: file 6 needs to be either taken out of backup mode or media recovered ORA-01110: data file 6: '/u01/app/oracle/oradata/bys1/test01.dbf' ORA-10873 signalled during: ALTER DATABASE OPEN... Tue Nov 11 22:06:36 2014 Checker run found 1 new persistent data failures Tue Nov 11 22:21:36 2014
SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 ACTIVE 1171509 2014/11/11 22:05:40 7 NOT ACTIVE 0 7 rows selected.

END BACKUP或RECOVER DATAFILE即可

SQL> ALTER TABLESPACE TEST1 end BACKUP; Tablespace altered. ALERT日志: Tue Nov 11 23:00:56 2014 ALTER TABLESPACE TEST1 end BACKUP Completed: ALTER TABLESPACE TEST1 end BACKUP Tue Nov 11 23:01:23 2014 RECOVER DATAFILE时的相关日志: Tue Nov 11 21:51:02 2014 Checker run found 1 new persistent data failures Tue Nov 11 22:00:46 2014 ALTER DATABASE RECOVER datafile 6 Media Recovery Start Serial Media Recovery started Recovery of Online Redo Log: Thread 1 Group 3 Seq 48 Reading mem 0 Mem# 0: /u01/app/oracle/oradata/bys1/redo03.log Recovery of Online Redo Log: Thread 1 Group 1 Seq 49 Reading mem 0 Mem# 0: /u01/app/oracle/oradata/bys1/redo01.log Media Recovery Complete (bys1) Completed: ALTER DATABASE RECOVER datafile 6 Tue Nov 11 22:01:01 2014 alter database open

SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 NOT ACTIVE 1171509 2014/11/11 22:05:40 7 NOT ACTIVE 0 7 rows selected.

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

31

2026.01.28

包子漫画在线官方入口大全
包子漫画在线官方入口大全

本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。

9

2026.01.28

ao3中文版官网地址大全
ao3中文版官网地址大全

AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。

32

2026.01.28

php怎么写接口教程
php怎么写接口教程

本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。

1

2026.01.28

php中文乱码如何解决
php中文乱码如何解决

本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

3

2026.01.28

Java 消息队列与异步架构实战
Java 消息队列与异步架构实战

本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

8

2026.01.28

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

23

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

122

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

51

2026.01.26

热门下载

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

精品课程

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

共14课时 | 0.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

Laravel---API接口
Laravel---API接口

共7课时 | 0.6万人学习

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

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