重建UNDO TABLESPACE的好方法



  问题:我在同一平台下迁移时因为空间问题,不打算要现在的UNDO文件了,我打算重建一个。请问有什么具体的解决方法吗?(注释:目前拥有一个冷备份)

  解答:如果你目前拥有一个冷备份的话,我可以在下文中介绍一个不用隐含参数的好方法。

  具体示例如下:

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. Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.6.0 - Production 20:55:59 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. 20:56:14 SQL> startup ORACLE instance started. Total System Global Area 59842188 bytes Fixed Size 454284 bytes Variable Size 33554432 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. ORA-01157: cannot identify/lock data file 2 - see DBWR trace file ORA-01110: data file 2: 'D:\ORADATA\EYGLE\UNDOTBS01.DBF' 20:59:28 SQL> alter database datafile 'D:\ORADATA\EYGLE\UNDOTBS01.DBF'              offline drop;

Database altered.

Elapsed: 00:00:00.00
20:59:34 SQL> alter database open;

Database altered.

Elapsed: 00:00:02.04
20:59:40 SQL> select name from v$datafile;

NAME
-------------------------------------------------------
D:\ORADATA\EYGLE\SYSTEM01.DBF
D:\ORADATA\EYGLE\UNDOTBS01.DBF
D:\ORADATA\EYGLE\PERFSTAT01.DBF
D:\ORADATA\EYGLE\EYGLE.DBF

21:00:55 SQL> create undo tablespace undotbs2
21:01:03   2  datafile 'd:\oradata\eygle\undotbs2.dbf' size 10M;

Tablespace created.

Elapsed: 00:00:02.02

21:06:29 SQL> ALTER SYSTEM SET undo_tablespace='UNDOTBS2' ;

System altered.

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3