li
  当前位置:主页 > 备份恢复 > 文章内容
li
恢复之数据字典和控制文件不一致的恢复(一)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:12  
本文章共3697字,分3页,当前第1页,快速翻页:
 

在执行恢复后,应该检查数据库的alert文件,看是否出现控制文件中的数据文件名称和数据字典中数据文件名称无法一一对应的现象。

这篇文章描述通过RESETLOGS方式打开数据库时,如果发现不一致情况及解决方法。


如果是利用备份的控制文件,除了数据文件的新增和删除以外,不会出现不一致的情况。这种不一致的情况更多的是出现在手工重建控制文件过程中。

SQL> CONN /@TEST AS SYSDBA
已连接。
SQL> ALTER TABLESPACE INDX READ ONLY;

表空间已更改。

SQL> ALTER TABLESPACE TOOLS OFFLINE;

表空间已更改。

SQL> SELECT 'ALTER TABLESPACE ' || TABLESPACE_NAME || ' BEGIN BACKUP;'
2 FROM DBA_TABLESPACES WHERE CONTENTS != 'TEMPORARY' AND STATUS = 'ONLINE';

'ALTERTABLESPACE'||TABLESPACE_NAME||'BEGINBACKUP;'
-------------------------------------------------------------
ALTER TABLESPACE SYSTEM BEGIN BACKUP;
ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;
ALTER TABLESPACE USERS BEGIN BACKUP;
ALTER TABLESPACE YANGTK BEGIN BACKUP;

SQL> ALTER TABLESPACE SYSTEM BEGIN BACKUP;

表空间已更改。

SQL> ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;

表空间已更改。

SQL> ALTER TABLESPACE USERS BEGIN BACKUP;

表空间已更改。

SQL> ALTER TABLESPACE YANGTK BEGIN BACKUP;

表空间已更改。

SQL> HOST COPY F:ORACLEORADATATEST*.DBF F:ORACLEBACKUPTEST20060307

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;

数据库已更改。

SQL> SELECT 'ALTER TABLESPACE ' || TABLESPACE_NAME || ' END BACKUP;'
2 FROM DBA_TABLESPACES WHERE CONTENTS != 'TEMPORARY' AND STATUS = 'ONLINE';

'ALTERTABLESPACE'||TABLESPACE_NAME||'ENDBACKUP;'
-----------------------------------------------------------
ALTER TABLESPACE SYSTEM END BACKUP;
ALTER TABLESPACE UNDOTBS1 END BACKUP;
ALTER TABLESPACE USERS END BACKUP;
ALTER TABLESPACE YANGTK END BACKUP;

SQL> ALTER TABLESPACE SYSTEM END BACKUP;

表空间已更改。

SQL> ALTER TABLESPACE UNDOTBS1 END BACKUP;

表空间已更改。

IXDBA.NET技术社区

SQL> ALTER TABLESPACE USERS END BACKUP;

表空间已更改。

SQL> ALTER TABLESPACE YANGTK END BACKUP;

表空间已更改。

假设在恢复过程中,发现丢失了所有控制文件和备份的控制文件。那么需要手工重建控制文件,而这时候手工重建控制文件可能会遗漏部分数据文件。

创建控制文件的脚本应该如下:

CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG

MAXLOGFILES 50

MAXLOGMEMBERS 5

MAXDATAFILES 100

MAXINSTANCES 1

MAXLOGHISTORY 680

LOGFILE

GROUP 1 'F:ORACLEORADATATESTREDO01.LOG' SIZE 100M,

GROUP 2 'F:ORACLEORADATATESTREDO02.LOG' SIZE 100M,

GROUP 3 'F:ORACLEORADATATESTREDO03.LOG' SIZE 100M

DATAFILE

'F:ORACLEORADATATESTSYSTEM01.DBF',

'F:ORACLEORADATATESTUNDOTBS01.DBF',

'F:ORACLEORADATATESTUSERS01.DBF',

'F:ORACLEORADATATESTYANGTK01.DBF'

CHARACTER SET ZHS16GBK

;

但是由于没有将脚本保存到trace文件中,而完全通过手工创建。因此,在创建的时候丢失了USERS01.DBF。

SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST DEL F:ORACLEORADATATEST*.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060307* F:ORACLEORADATATEST

SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。

Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes



阅读更多内容1 · 2 · 3 · 下一页>>


  上一篇: 恢复之非归档模式恢复到其他位置   下一篇: 恢复之非归档模式下的恢复
li
 §相关评论  
 热点文章

·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 编辑推荐
·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 相关篇章
·恢复之非归档模式恢复到其他位置
·恢复之数据字典和控制文件不一致...
·恢复之利用RESETLOGS之前的备份进...
·恢复之利用RESETLOGS之前的备份进...
·恢复之不可恢复操作后的恢复(二...
·恢复之利用RESETLOGS之前的备份进...
·恢复之利用RESETLOGS之前的备份进...
·恢复之使用非当前控制文件恢复只...
·恢复之恢复操作的中断
·恢复之不可恢复操作后的恢复(一...
·恢复之非归档模式下的恢复
·恢复之基于改变的不完整恢复
·恢复之基于取消的不完整恢复
·恢复之非归档模式下数据库非正常...
·恢复之数据库打开时的完全恢复
·恢复之基于时间的不完整恢复
·恢复之利用备份在所有控制文件丢...
·恢复之数据库关闭时的完全恢复
·恢复之利用备份在所有控制文件丢...
·恢复之还原归档重做日志
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接