ORA-01152: 文件 1 没有从过旧的备份中还原

Posted sharpest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-01152: 文件 1 没有从过旧的备份中还原相关的知识,希望对你有一定的参考价值。

转自:http://blog.itpub.net/8520577/viewspace-1255794/

做了一个全备


RMAN> show all;


使用目标数据库控制文件替代恢复目录
db_unique_name 为 ORADATA 的数据库的 RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘%F‘; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM ‘AES128‘; # default
CONFIGURE COMPRESSION ALGORITHM ‘BASIC‘ AS OF RELEASE ‘DEFAULT‘ OPTIMIZE FOR LOA
D TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘D:ORACLEPRODUCT11.2.0DBHOME_1DATABA
SESNCFORADATA.ORA‘; # default

RMAN> backup database;


启动 backup 于 22-8月 -14
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=194 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00008 名称=E:H2DATAH2_BUSI.DBF
输入数据文件: 文件号=00001 名称=D:ORACLEORADATAORADATASYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:ORACLEORADATAORADATASYSAUX01.DBF
输入数据文件: 文件号=00009 名称=E:H2DATAH2_BUSI_INDX.DBF
输入数据文件: 文件号=00015 名称=D:ORACLEORADATAORADATAUNDOTBS02.DBF
输入数据文件: 文件号=00006 名称=E:H2DATAH2DB.DBF
输入数据文件: 文件号=00005 名称=D:ORACLEORADATAORADATAEXAMPLE01.DBF
输入数据文件: 文件号=00007 名称=E:H2DATAH2DB_INDEX.DBF
输入数据文件: 文件号=00010 名称=E:H2DATAH2_TEST.DBF
输入数据文件: 文件号=00011 名称=E:H2DATAH2_TEST_INDX.DBF
输入数据文件: 文件号=00012 名称=E:H2DATAH2_LOG.DBF
输入数据文件: 文件号=00013 名称=E:H2DATAH2_LOG_INDX.DBF
输入数据文件: 文件号=00004 名称=D:ORACLEORADATAORADATAUSERS01.DBF
输入数据文件: 文件号=00014 名称=E:DATAORADATATEST.DBF
通道 ORA_DISK_1: 正在启动段 1 于 22-8月 -14
通道 ORA_DISK_1: 已完成段 1 于 22-8月 -14
段句柄=E:ORADATAFAST_RECOVERY_AREAORADATABACKUPSET2014_08_22O1_MF_NNNDF_TA
G20140822T095727_9ZF8W8W8_.BKP 标记=TAG20140822T095727 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:06:45
完成 backup 于 22-8月 -14


启动 Control File and SPFILE Autobackup 于 22-8月 -14
段 handle=E:ORADATAFAST_RECOVERY_AREAORADATAAUTOBACKUP2014_08_22O1_MF_S_85
6260254_9ZF98Z60_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 22-8月 -14


关闭数据库.将两个控制文件都剪切到其他目录。
此时启动数据库
技术分享图片

通过RMAN恢复控制文件
技术分享图片

恢复控制文件之后将数据库启动至mount状态

SQL> startup mount
ORACLE 例程已经启动。


Total System Global Area 1068937216 bytes
Fixed Size                  2182592 bytes
Variable Size             746586688 bytes
Database Buffers          314572800 bytes
Redo Buffers                5595136 bytes
数据库装载完毕。
SQL>

技术分享图片

打开数据库时出错:
alter database open resetlogs
*
第 1 行出现错误:
ORA-01152: 文件 1 没有从过旧的备份中还原
ORA-01110: 数据文件 1: ‘D:ORACLEORADATAORADATASYSTEM01.DBF‘

使用:
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 29945834 (在 08/22/2014 09:57:28 生成) 对于线程 1 是必需的
ORA-00289: 建议:
E:ORADATAFAST_RECOVERY_AREAORADATAARCHIVELOG2014_08_22O1_MF_1_217_%U_.ARC
ORA-00280: 更改 29945834 (用于线程 1) 在序列 #217 中


至此数据库已经打开



指定日志: {=suggested | filename | AUTO | CANCEL}
AUTO
ORA-00308: 无法打开归档日志
‘E:ORADATAFAST_RECOVERY_AREAORADATAARCHIVELOG2014_08_22O1_MF_1_217_%U_.ARC



ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。




ORA-00308: 无法打开归档日志
‘E:ORADATAFAST_RECOVERY_AREAORADATAARCHIVELOG2014_08_22O1_MF_1_217_%U_.ARC



ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。




SQL> alter database open resetlogs;


数据库已更改。







































































































































以上是关于ORA-01152: 文件 1 没有从过旧的备份中还原的主要内容,如果未能解决你的问题,请参考以下文章

记一次坑爹的ORA-01152&ORA-01110错误

[SQL]Oracle ORA-01555快照过旧的错误

对备份恢复有重要意义的控制文件记录项

使用批处理将 10 个最旧的备份移动到存档

我有单位服务器数据库是SQLServer,每天用批处理自动备份数据库文件,如何用批处理方法删除旧的备份文件呢?

从数据文件夹备份中恢复 mysql 数据库