非当前的还原表空间的恢复 ======================================================新建一个还原表空间=========================================================================== 1、查询所有的还原表空间: SQL> select tablespace_name,status,contents from dba_tablespaces 2 where contents='UNDO'; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- UNDOTBS1 ONLINE UNDO 2、输出还原操作相关的参数: SQL> show parameter undo; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO undo_retention integer 7200 undo_tablespace string UNDOTBS1 3、新建一个还原表空间: create undo tablespace lianxi_undo datafile 'C:\orcl1122\undo\lianxi_undo.dbf' size 50M extent management local 4、查看: SQL> select tablespace_name,status,contents from dba_tablespaces 2 where contents='UNDO'; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- UNDOTBS1 ONLINE UNDO LIANXI_UNDO ONLINE UNDO SQL> show parameter undo;还是原来的空间 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO undo_retention integer 7200 undo_tablespace string UNDOTBS1 SQL> select file_id,file_name,tablespace_name ,bytes/1024/1024M 2 from dba_data_files where tablespace_name like '%UNDO%'; FILE_ID FILE_NAME TABLESPACE_NAME M ---------- -------------------------------------------------------------------------------- ------------------------------ ---------- 3 C:\ORACEL\BASE\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 100 12 C:\ORCL1122\UNDO\LIANXI_UNDO.DBF LIANXI_UNDO 50 ==================================================删除新建的还原表空间,制造事件===================================================================== 1、关闭数据库、 手动删除新建的表空间 SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 2、启动数据库: SQL> startup ORACLE 例程已经启动。 Total System Global Area 535662592 bytes Fixed Size 1375792 bytes Variable Size 289407440 bytes Database Buffers 239075328 bytes Redo Buffers 5804032 bytes 数据库装载完毕。 ORA-01157: 无法标识/锁定数据文件 12 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 12: 'C:\ORCL1122\UNDO\LIANXI_UNDO.DBF' 3、将此文件脱机 删除: SQL> alter database datafile 12 offline drop; 数据库已更改。 4、启动数据库: SQL> alter database open; 数据库已更改。 5、查询还原表空间: 已经删除了,但数据库认为还在呢。 SQL> select tablespace_name,status,contents from dba_tablespaces where contents ='UNDO'; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- UNDOTBS1 ONLINE UNDO LIANXI_UNDO ONLINE UNDO 6、再次执行删除表空间 SQL> drop tablespace lianxi_undo; 表空间已删除。 7、执行新建的语句,再次新建一份即可。 create undo tablespace lianxi_undo datafile 'C:\orcl1122\undo\lianxi_undo.dbf' size 50M extent management local;
oracle表空间闪回,Oracle闪回-非当前的还原表空间的恢复
最新推荐文章于 2024-06-07 18:00:00 发布