创建还原表空间有两种方法。第一种是:通过在CREATE DATABASE命令中加入一个子句,在创建数据库时建立还原表空间。第二种是:在创建数据库之后,使用CREATE UNDO TABLESPACE 命令来建立还原表空间。
例如:
1.创建一个还原表空间longshen_undo
SQL> create undo tablespace longshen_undo
2 datafile '/oradata/law/law/longshen_undo.dbf' size 20m;
Tablespace created.
2.查询一下longshen_undo是否创建成功
SQL> select tablespace_name,status,contents from dba_tablespaces
2 where contents='UNDO';
TABLESPACE_NAME STATUS CONTENTS
------------------------------ --------- ---------
UNDOTBS1 ONLINE UNDO
LONGSHEN_UNDO ONLINE UNDO
查询表示:longshen_undo表空间创建成功
3.如果还原表空间中的一些配置不合适。可以通过命令动态的修改他们,可以使用alter tablespace
命令来动态的修改还原表空间。在修改还原表空间的alter tablespace命令中Oracle允许使用如下的子句:
*RENAME
*ADD DATAFILE
*DATAFILE[ONLINE|OFFLINE]
*BEGIN BACKUP
*END BACKUP
如下:
1.为还原表空间longshen_undo增加一个大小为10m的额外数据文件。
SQL> alter tablespace longshen_undo
2 add datafile '/oradata/law/law/longshen2_undo.dbf' size 10m;
Tablespace altered.
2.查询一下是否添加成功
SQL> select file_id,file_name,tablespace_name,bytes/1024/1024 Mb from dba_data_files where tablespace_name='LONGSHEN_UNDO';
FILE_ID FILE_NAME TABLESPACE_N MB
---------- ------------------------------ ------------ ----------
7 /oradata/law/law/longshen_undo LONGSHEN_UND 20
.dbf O
8 /oradata/law/law/longshen2_und LONGSHEN_UND 10
o.dbf O
SQL> select file_id,file_name,tablespace_name,autoextensible from
2 dba_data_files where tablespace_name='LONGSHEN_UNDO';
FILE_ID FILE_NAME TABLESPACE_N AUT
---------- ------------------------------ ------------ ---
7 /oradata/law/law/longshen_undo LONGSHEN_UND NO
.dbf O
8 /oradata/law/law/longshen2_und LONGSHEN_UND NO
o.dbf O
3.将longshen_undo表空间中的两个数据文件设置为自动扩展
SQL> alter database datafile '/oradata/law/law/longshen_undo.dbf' autoextend on;
Database altered.
查询一下是否修改成功:
SQL> select file_id,file_name,tablespace_name,autoextensible from
2 dba_data_files where tablespace_name='LONGSHEN_UNDO';
FILE_ID FILE_NAME TABLESPACE_N AUT
---------- ------------------------------ ------------ ---
7 /oradata/law/law/longshen_undo LONGSHEN_UND YES
.dbf O
8 /oradata/law/law/longshen2_und LONGSHEN_UND NO
o.dbf O