记一次Drop只读表空间的恢复
来源:互联网 发布:网络监控 距离 编辑:程序博客网 时间:2024/06/05 09:03
这真是原创的 呵
表空间USER0716为READ ONLY的表空间
SQL> drop tablespace user0716;
表空间已删除。
SQL> recover tablespace user0716;
ORA-00959: 表空间 'USER0716' 不存在
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
ORA-01110: 数据文件 1:'F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\SYSTEM01.DBF'
因为数据库是在open状态
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area
FixedSize
VariableSize
DatabaseBuffers
RedoBuffers
数据库装载完毕。
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
--因为没有什么不一致,恢复个啥!!!自己drop掉的
打算使用rman基于时间的恢复
脚本:
run{
}
'2011-07-29 10:40:00' 这个时间还没有drop表空间
注: 最近一次rman全备是在2011-07-29 00:09:00, 是在一次不完全恢复使用resetlogsopen方式打开后备份的
C:\Documents and Settings\Administrator>rmantarget /
恢复管理器: Release 10.2.0.1.0 - Production on 星期五 7月 29 13:22:472011
Copyright (c) 1982, 2005, Oracle.
已连接到目标数据库: MYORACLE (DBID=1854006956, 未打开)
RMAN> run{
2>
3>
4>
5>
6>
7> }
使用目标数据库控制文件替代恢复目录
分配的通道: ch1
通道 ch1: sid=155 devtype=DISK
正在执行命令: SET until clause
启动 restore 于 29-7月 -11
通道 ch1: 正在开始恢复数据文件备份集
通道 ch1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\SYSTEM01.DBF
正将数据文件00002恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\UNDOTBS01.DBF
正将数据文件00003恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\SYSAUX01.DBF
正将数据文件00004恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\USERS01.DBF
正将数据文件00005恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\EXAMPLE01.DBF
通道 ch1: 正在读取备份段F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYORACLE\B
ACKUPSET\2011_07_29\O1_MF_NNNDF_TAG20110729T000748_7332BRB8_.BKP
通道 ch1: 已恢复备份段 1
段句柄 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYORACLE\BACKUPSET\2011_07
_29\O1_MF_NNNDF_TAG20110729T000748_7332BRB8_.BKP 标记 =TAG20110729T000748
通道 ch1: 恢复完成, 用时: 00:01:46
完成 restore 于 29-7月 -11
启动 recover 于 29-7月 -11
正在开始介质的恢复
介质恢复完成, 用时: 00:00:10
完成 recover 于 29-7月 -11
释放的通道: ch1
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area
FixedSize
VariableSize
DatabaseBuffers
RedoBuffers
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;
数据库已更改。
--查一下dba_data_files发现属于user0716只读表空间的数据文件是offline状态
SQL> alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01111: 数据文件 6 名称未知 - 请重命名以更正文件
ORA-01110: 数据文件 6:'F:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00006'
SQL> alter database rename file'F:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING0
0006' to'F:\oracle\product\10.2.0\oradata\myoracle\MYORACLE\DATAFILE\O1_MF_USER
0716_723C8OXS_.DBF';
数据库已更改。
SQL> alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01190: 控制文件或数据文件 6 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 6:
'F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\MYORACLE\DATAFILE\O1_MF_USER0716_723C
8OXS_.DBF'
查资料:
Cause: Attempting to use a data file when the log resetinformation in the file does not match the control file. Either thedata file or the control file is a backup that was made before themost recent ALTER DATABASE OPEN RESETLOGS.
Action: Restore file from a more recent backup.
SQL> recover datafile 6;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
??不要求恢复? 那应该是一致的呀 为什么报ora-01190的错误!?
SQL> alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01190: 控制文件或数据文件 6 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 6:
'F:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORACLE\MYORACLE\DATAFILE\O1_MF_USER0716_723C
8OXS_.DBF'
SQL> alter tablespace user0716 online;
表空间已更改。
SQL> alter database datafile 6 online;
数据库已更改。
?这样就OK了 为什么,不用设置隐含参数_allow_resetlogs_corruption解决ora-01190??
倒数第二个resetlogs open是我在重建controlfile的时候使用的,之后backup database了
这次基于时间点恢复使用的备份集就是这个备份
drop表空间时未删除数据文件,restore的时候为什么不见datafile 6的restore?
因为是只读表空间的restore吗
先写到这,问问专家去
看来ora-01190需要具体分析,不要随便设置隐含参数
- 记一次Drop只读表空间的恢复
- 只读表空间的恢复
- 恢复只读表空间
- 只读表空间的备份与恢复
- 只读表空间的备份与恢复
- 只读表空间的备份与恢复
- TSPITR恢复drop 表空间的例子
- 只读表空间中的表是可以DROP的
- 【只读表空间--恢复-1】
- rman基于TSPITR恢复drop掉的表空间
- 备份只读表空间后切换成读写表空间的恢复(实验系列)
- 恢复drop掉的表
- 用户管理热备份还原drop掉的表空间(不完全恢复的情况)
- 包含只读表空间的控制文件丢失恢复一例
- (翻译)Flashback drop恢复drop的表
- 轻松恢复误drop掉的表
- 恢复被drop table删除的表
- 恢复oracle中drop掉的表
- 恢复Set unused的字段数据
- RecyclerView之ItemDecoration由浅入深
- col$数据字典中col#,segcol#,intco…
- dubbo组成原理-service服务调用
- 跨越incarnation的恢复
- 记一次Drop只读表空间的恢复
- 关于OPS(Oracle Parallel Server)
- 【Python】Python学习笔记(二)——正则表达式
- 关于>any <any >all <all的理解
- 关于学习中的一些事情
- 关于interval to......数据类型
- 安全之LDAP Server配置
- 关于rowid详细解释
- 关于With Check Option(转载)