目录
向表空间undo tbs 1中添加一个新的数据文件,指定该文件大小为2GB
把当前系统的默认UNDO表空间切换到自定义撤销表空间undo_tbs_1
把当前例程的UNDO表空间从“undo_tbs_1”切换到“undotbs1”,然后再删除“undo tbs 1”表空间
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
对撤销表空间的基本操作包括创建、修改、切换、删除和查询等下面分别进行介绍。
创建UNDO表空间
创建UNDO表空间需要使用CREATE UNDO TABLESPACE 语句,来看下面的例子。
创建一个撤销表空间,并指定数据文件大小为100MB
代码及运行结果如下
在创建表空间时,需要注意以下两个方面:
UNDO表空间对应的数据文件大小通常由DML操作可能产生的最大数据量来确定,通常该数据文件的大小至少应为1GB;
由于UNDO表空间只用于存放撤销数据,所以不要在UNDO表空间内建立任何数据对象(如表、索引等)。
修改UNDO表空间
与修改普通的永久性表空间比较类似,修改UNDO表空间也使用ALTER TABLESPACE语句。
当事务用尽了UNDO表空间后,可以使用ALTER TABLESPACE...ADD DATAFILE语句添加新的数据文件;
当UNDO表空间所在的磁盘填满时,可以使用ALTERTABLESPACE...RENAME DATAFILE语句将数据文件移动到其他磁盘上;
当数据库处于ARCHIVELOG模式时,可以使用ALTERTABLESPACE...BEGIN BACKUP/END BACKUP语句备份UNDO表空间。
下面来看一个例子
向表空间undo tbs 1中添加一个新的数据文件,指定该文件大小为2GB
切换UNDO表空间
启动例程并打开数据库后,同一时刻指定例程只能使用一个UNDO表空间,切换UNDO表空间是指停止例程当前使用的UNDO表空间,
启动其他UNDO表空间,下面来看一个例子。
把当前系统的默认UNDO表空间切换到自定义撤销表空间undo_tbs_1
删除UNDO表空间
如果确定不再使用某个自定义的UNDO表空间,数据库管理员就可以将其删除掉。删除UNDO表空间与删除普通的永久表空间一样,都使HDROP TABLESPACE语句。
但需要注意的是:当前例程正在使用的UNDO表空间是不能被删除的,
如果确定要删除当前例程正在使用的UNDO表空间,管理员应首先切换UNDO表空间,然后再删除切换掉的UNDO表空间,来看一个例子。
把当前例程的UNDO表空间从“undo_tbs_1”切换到“undotbs1”,然后再删除“undo tbs 1”表空间