暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AUM下如何重建UNDO表空间

原创 Eygle 2019-07-24
1053

曾经有朋友问到,在迁移(同平台)的时候由于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.

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


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论