您好,登录后才能下订单哦!
本篇内容主要讲解“Oracle 19c怎么缩减UNDO表空间和容量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle 19c怎么缩减UNDO表空间和容量”吧!
1、创建一个新的 UNDO 表空间,并将其指定为当前 UNDO 表空间;
SQL> CREATE UNDO TABLESPACE UNDO_TBS DATAFILE '+DATA' SIZE 1G;
SQL> ALTER SYSTEM SET undo_tablespace=UNDO_TBS;
在事务两比较大的系统中,指定新UNDO表空间后可能会导致整个数据库无法做任何更改操作,任何的 DDL或者DML操作都会报错,这时如果允许的话可以重启数据库来解决。数据库重启之后,刚刚更改的系统默认UNDO表空间参数会失效,还是使用的旧的,应该在 NOMOUNT 状态下重新指定新的 UNDO表空间,然后再打开数据库继续做下面的操作;
2、删除 原 UNDO 表空间(一般是 UNDOTBS1);
SQL> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
3、创建一个新的跟原来 UNDO 表空间同名的 UNDO 表空间(UNDOTBS1),并将其指定为当前 UNDO 表空间,删除第一步创建的 UNDO 表空间;
SQL> CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE '+DATA' SIZE 200M AUTOEXTEND ON;
SQL> ALTER SYSTEM SET undo_tablespace=UNDOTBS1;
SQL> DROP TABLESPACE UNDO_TBS INCLUDING CONTENTS AND DATAFILES;
注意:整个过程中是不需要重启数据库的,如果重启了数据库,参数 undo_tablespace 又会变成默认值(UNDOTBS1),所以我们最后的 UNDO 表空间还是叫 UNDOTBS1 这个名字。
Oracle 19c 中 UNDO 表空间是独立的,CDB 和 每个PDB 都有自己的 UNDO 表空间,因此实际操作跟 11g 是一样的。这里可以看到有3个 UNDOTBS1 表空间,分别属于不同的 CON_ID。
到此,相信大家对“Oracle 19c怎么缩减UNDO表空间和容量”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。