测试环境:
OS :linux
DB:9201
本测试测试了如下情况:
a.正常关闭数据库,数据库(未)归档,回滚段表空间丢失,成功恢复
b.非正常关闭数据库,数据库非归档,有活动事务,回滚段表空间丢失,成功恢复
c.非正常关闭数据库,数据库归档,有活动事务,回滚段表空间丢失,恢复失败,目前不知原因
a.正常关闭数据库, 数据库(未)归档
如shutdown normal,shutdown immediate
1.正常关闭数据库,模拟回滚段表空间丢失
SQL> conn sys/test@jumper as sysdba
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host rm -rf /oradata/uat8/UNDOTBS01.DBF
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 2: /oradata/uat8/UNDOTBS01.DBF'
2.确认回滚段表空间丢失
SQL> select file#,online_status,error from v$recover_file;
FILE# ONLINE_ status error
---------- -------
2 ONLINE FILE NOT FOUND
SQL> select name from v$datafile where file#=2;
NAME
----------------------------------------------------
D:ORACLE/ORADATA/JUMPER/UNDOTBS01.DBF
3.打开数据库
SQL> alter database datafile '/oradata/uat8/UNDOTBS01.dbf' offline drop;
数据库已更改。
SQL> alter database open;
数据库已更改。
4.创建新的回滚段表空间
SQL> select segment_name ,tablespace_name,status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME STATUS
------------------------------ ------------------------------ ----------------
SYSTEM SYSTEM ONLINE
_SYSSMU1$ UNDOTBS1 OFFLINE
_SYSSMU2$ UNDOTBS1 OFFLINE
_SYSSMU3$ UNDOTBS1 OFFLINE
_SYSSMU4$ UNDOTBS1 OFFLINE
_SYSSMU5$ UNDOTBS1 OFFLINE
_SYSSMU6$ UNDOTBS1 OFFLINE
_SYSSMU7$ UNDOTBS1 OFFLINE
_SYSSMU8$ UNDOTBS1 OFFLINE
_SYSSMU9$ UNDOTBS1 OFFLINE
_SYSSMU10$ UNDOTBS1 OFFLINE
已选择11行。
SQL> create undo tablespace undots datafile '/oradata/uat8/undotbs02.dbf' size 100m autoextend on next 10m maxsize 200m
2 ;
表空间已创建。
SQL> alter system set undo_tablespace=undots;
系统已更改。
SQL> drop tablespace UNDOTBS1 including contents and datafiles;
表空间已丢弃。
SQL> select segment_name ,tablespace_name,status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME STATUS
------------------------------ ------------------------------ ---------------
SYSTEM SYSTEM ONLINE
_SYSSMU11$ UNDOTS ONLINE
_SYSSMU12$ UNDOTS ONLINE
_SYSSMU13$ UNDOTS ONLINE
_SYSSMU14$ UNDOTS ONLINE
_SYSSMU15$ UNDOTS ONLINE
_SYSSMU16$ UNDOTS ONLINE
_SYSSMU17$ UNDOTS ONLINE
_SYSSMU18$ UNDOTS ONLINE
_SYSSMU19$ UNDOTS ONLINE
_SYSSMU20$ UNDOTS ONLINE
已选择11行。
5.重新启动
SQL> startup force;
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648
OS :linux
DB:9201
本测试测试了如下情况:
a.正常关闭数据库,数据库(未)归档,回滚段表空间丢失,成功恢复
b.非正常关闭数据库,数据库非归档,有活动事务,回滚段表空间丢失,成功恢复
c.非正常关闭数据库,数据库归档,有活动事务,回滚段表空间丢失,恢复失败,目前不知原因
a.正常关闭数据库, 数据库(未)归档
如shutdown normal,shutdown immediate
1.正常关闭数据库,模拟回滚段表空间丢失
SQL> conn sys/test@jumper as sysdba
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host rm -rf /oradata/uat8/UNDOTBS01.DBF
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 2: /oradata/uat8/UNDOTBS01.DBF'
2.确认回滚段表空间丢失
SQL> select file#,online_status,error from v$recover_file;
FILE# ONLINE_ status error
---------- -------
2 ONLINE FILE NOT FOUND
SQL> select name from v$datafile where file#=2;
NAME
----------------------------------------------------
D:ORACLE/ORADATA/JUMPER/UNDOTBS01.DBF
3.打开数据库
SQL> alter database datafile '/oradata/uat8/UNDOTBS01.dbf' offline drop;
数据库已更改。
SQL> alter database open;
数据库已更改。
4.创建新的回滚段表空间
SQL> select segment_name ,tablespace_name,status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME STATUS
------------------------------ ------------------------------ ----------------
SYSTEM SYSTEM ONLINE
_SYSSMU1$ UNDOTBS1 OFFLINE
_SYSSMU2$ UNDOTBS1 OFFLINE
_SYSSMU3$ UNDOTBS1 OFFLINE
_SYSSMU4$ UNDOTBS1 OFFLINE
_SYSSMU5$ UNDOTBS1 OFFLINE
_SYSSMU6$ UNDOTBS1 OFFLINE
_SYSSMU7$ UNDOTBS1 OFFLINE
_SYSSMU8$ UNDOTBS1 OFFLINE
_SYSSMU9$ UNDOTBS1 OFFLINE
_SYSSMU10$ UNDOTBS1 OFFLINE
已选择11行。
SQL> create undo tablespace undots datafile '/oradata/uat8/undotbs02.dbf' size 100m autoextend on next 10m maxsize 200m
2 ;
表空间已创建。
SQL> alter system set undo_tablespace=undots;
系统已更改。
SQL> drop tablespace UNDOTBS1 including contents and datafiles;
表空间已丢弃。
SQL> select segment_name ,tablespace_name,status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME STATUS
------------------------------ ------------------------------ ---------------
SYSTEM SYSTEM ONLINE
_SYSSMU11$ UNDOTS ONLINE
_SYSSMU12$ UNDOTS ONLINE
_SYSSMU13$ UNDOTS ONLINE
_SYSSMU14$ UNDOTS ONLINE
_SYSSMU15$ UNDOTS ONLINE
_SYSSMU16$ UNDOTS ONLINE
_SYSSMU17$ UNDOTS ONLINE
_SYSSMU18$ UNDOTS ONLINE
_SYSSMU19$ UNDOTS ONLINE
_SYSSMU20$ UNDOTS ONLINE
已选择11行。
5.重新启动
SQL> startup force;
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648
下一页
返回列表
返回首页
©2009 VB.NET专题站点
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22578826/viewspace-663106/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22578826/viewspace-663106/