Oracle 非当前正用UNDO文件的恢复

本文介绍了一种模拟非当前使用的还原表空间(undo tablespace)文件损坏的情况,并详细记录了从创建实验条件到恢复整个过程的技术步骤。通过具体操作如创建表空间、模拟文件损坏及恢复等,展示了如何安全有效地处理此类故障。
非当前的还原表空间的恢复
1.创建实验条件
sqlplus /nolog
conn sys/ticket as sysdba

查看数据库的所有还原表空间
select tablespace_name,status,contents from dba_tablespaces where contents='UNDO';
查看当前采用的还原表空间
show parameter undo;
创建相关的表空间
create undo tablespace tbs_undo
datafile 'D:\app\Administrator\oradata\ticket\TBS_UNDO.DBF'
size 50m
extent management local;
查询表空间的信息
select tablespace_name,status,contents from dba_tablespaces where contents='UNDO';
查看当前采用的还原表空间
show parameter undo;

set line 120;
col file_name for a55;
col tablespace_name for a15;

查看表空间对应的还原文件
select file_id,file_name,tablespace_name,bytes/1024/1024 MB
from dba_data_files
where tablespace_name like '%UNDO%';

shutdown immediate;

2.模拟非当前使用的undo文件的损坏
删除非当前采用的undo文件
3.开始试验
startup
设置受损undo文件编号为脱机并删除
alter database datafile 受损文件编号 offline drop;
开启数据库
alter database open;
检查受损undo文件是否存在
select file_id,file_name,tablespace_name,bytes/1024/1024 MB
from dba_data_files
where tablespace_name like '%UNDO%';
检查undo表空间中受损文件是否存在
select tablespace_name,status,contents from dba_tablespaces where contents='UNDO';

如果存在,删除受损undo表空间
drop tablespace tbs_undo;

检查受损undo文件是否存在
select file_id,file_name,tablespace_name,bytes/1024/1024 MB
from dba_data_files
where tablespace_name like '%UNDO%';
检查undo表空间中受损文件是否存在
select tablespace_name,status,contents from dba_tablespaces where contents='UNDO';
不存在受损undo空间,然后重新创建。
create undo tablespace tbs_undo
datafile 'D:\app\Administrator\oradata\ticket\TBS_UNDO.DBF'
size 50m
extent management local;





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值