ITPub博客

首页 > 数据库 > Oracle > 改变当前UNDO表空间及大小

改变当前UNDO表空间及大小

原创 Oracle 作者:georgehmwang 时间:2014-11-01 11:39:49 0 删除 编辑
安装Oracle 11g Grid Control时遇到一个问题,repository所在的数据库UNDO表空间要求至少为200M,而当前的UNDO表空间为165M。

研究了一下,试着修改UNDO表空间及大小,以下的步骤是在数据库版本11.2.0.4 Solaris平台上试验的,当前没有活跃的事务。

1.
查看当前UNDO表空间“UNDOTBS1”的大小和实例是否正在使用spfile

SQL> select bytes/1024/1024 "Size(M)",name from v$datafile where name like '%undo%';

Size(M)       NAME

----------    --------------------------------------------------------------------------------

165           /u01/app/oracle/oradata/OSTEGC/undotbs01.dbf

SQL> show parameter pfile;

NAME               TYPE        VALUE

------------------ ----------- ------------------------------

spfile             string      /u01/app/oracle/oradb/dbs/spfileOSTEGC.ora

2. 根据数据库的要求,创建一个新的表空间。

SQL> create undo tablespace UNDOTBS2 datafile '/u01/app/oracle/oradata/OSTEGC/undotbs02.dbf' size 400M;

Tablespace created.

3. 创建pfile

SQL> create pfile from spfile;

File created.

创建的pfile在$ORACLE_HOME/dbs目录下,文件名为init$ORACLE_SID.ora,修改以下参数。
undo_tablespace=UNDOTBS2
4.
shutdown immediate关闭数据库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

5. 用创建的pfile文件启动数据库

SQL> startup pfile='/u01/app/oracle/oradb/dbs/initOSTEGC.ora'

ORACLE instance started.

6. 确认新的表空间已经启用

SQL> show parameter undo_tablespace

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

undo_tablespace                      string      UNDOTBS2

7. 删除旧的UNDO表空间

SQL> drop tablespace UNDOTBS1 including contents and datafiles;

Tablespace dropped.

8. 可重新创建SPFILE,然后使用SPFILE重新启动实例

SQL> create spfile='/u01/app/oracle/oradb/dbs/spfileOSTEGC.ora' from pfile='/u01/app/oracle/oradb/dbs/initOSTEGC.ora';

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29960937/viewspace-1316741/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: GI的oifcfg命令
请登录后发表评论 登录
全部评论

注册时间:2014-10-16

  • 博文量
    16
  • 访问量
    74666