0

AUM下如何重建UNDO表空间

Eygle 2019-07-24
21
摘要:AUM下如何重建UNDO表空间

曾经有朋友问到,在迁移(同平台)的时候由于UNDO表空间过大,不打算要现在的UNDO文件,想要重建一个,该如何做,是否需要通过一些隐含参数来做特殊处理?前提是他拥有一个有效的冷备份(或者Clean Shutdown的数据库)。拥有冷备份,那么这个操作是很简单的,并不需要使用隐含参数。

以下是一个简单的测试过程,重建UNDO表空间的步骤和此类似。

1.假定拥有一个Clean shutdown的数据库(以shutdown immediate方式关闭并执行备份)

C:\Documents and Settings\gqgai>sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Fri Mar 4 20:55:59 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
SQL> shutdown immediate;

2.同平台迁移时可以放弃UNDO表空间,这时候启动会抱错ORA-01157:

SQL> startup
ORACLE instance started.
。。。
Database mounted.
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: 'D:\ORADATA\EYGLE\UNDOTBS01.DBF'

3.删除UNDO文件启动数据库

SQL> alter database datafile 'D:\ORADATA\EYGLE\UNDOTBS01.DBF' offline drop;
Database altered.
SQL> alter database open;
Database altered.
SQL> select name from v$datafile;
NAME
-------------------------------------------------------
D:\ORADATA\EYGLE\SYSTEM01.DBF
D:\ORADATA\EYGLE\UNDOTBS01.DBF
D:\ORADATA\EYGLE\EYGLE.DBF

4.重建UNDO表空间,并切换为当前UNDO表空间

SQL> create undo tablespace undotbs2
  2  datafile 'd:\oradata\eygle\undotbs2.dbf' size 10M;
Tablespace created.
SQL> ALTER SYSTEM SET undo_tablespace='UNDOTBS2';
System altered.

然后数据库即可恢复正常使用。


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部