Oracle闪回-非当前的还原表空间的恢复

来源:互联网 发布:学校机房监控软件 编辑:程序博客网 时间:2024/06/05 15:07
非当前的还原表空间的恢复



======================================================新建一个还原表空间===========================================================================
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;

阅读全文
1 0
原创粉丝点击