查看操作系统:

SQL>  !cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
查看数据库版本:

SQL> set linesize 400
SQL> select * from v$version; BANNER CON_ID
---------------------------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0
PL/SQL Release 12.1.0.2.0 - Production 0
CORE 12.1.0.2.0 Production 0
TNS for Linux: Version 12.1.0.2.0 - Production 0
NLSRTL Version 12.1.0.2.0 - Production 0

查看当前使用的undo表空间信息:

SQL> show parameter undo_tablespace

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
SQL> col FILE_NAME  format a100
SQL> select tablespace_name, file_id, file_name,round (bytes / (1024 * 1024), 0) total_space from dba_data_files where tablespace_name='UNDOTBS1'; TABLESPACE_NAME FILE_ID FILE_NAME TOTAL_SPACE
-------------------- ---------- ---------------------------------------------------------------------------------------------------- -----------
UNDOTBS1 4 /u01/app/oracle/oradata/orcl/undotbs01.dbf 220

1、数据库状态静止时(无DML操作期间)执行UNDO表空间切换(由UNDOTBS1切换为UNDOTBS2)

(1)创建新的undo表空间UNDOTBS2

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

Tablespace created.

(2)切换UNDOTBS2为新的undo表空间

SQL> alter system set undo_tablespace = undotbs2 scope=both;

System altered.

(3)此时数据库处于静止状态,无任何DML操作,查看UNDOTBS1已经处于OFFLINE状态

SQL> select tablespace_name , status , count(*) from dba_rollback_segs group by tablespace_name , status;

TABLESPACE_NAME      STATUS             COUNT(*)
-------------------- ---------------- ----------
UNDOTBS1 OFFLINE 10
SYSTEM ONLINE 1
UNDOTBS2 ONLINE 11

(4)检查确认UNDOTBS1中没有ONLINE的segment

SQL> select status,segment_name from dba_rollback_segs where status not in ('OFFLINE') and tablespace_name='UNDOTBS1';

no rows selected

(5)删除旧的UNDOTBS1

SQL> Drop tablespace UNDOTBS1 including contents and datafiles;

Tablespace dropped.

(6)至此,undo表空间由UNDOTBS1成功切换为UNDOTBS2.

2、数据库中有DML操作期间,切换UNDO表空间步骤(由UNDOTBS2切换为UNDOTBS1)

SQL> create undo tablespace UNDOTBS1 datafile '/u01/app/oracle/oradata/orcl/undotbs01.dbf' size 220M;

Tablespace created.

SQL> select tablespace_name, file_id, file_name,round (bytes / (1024 * 1024), 0) total_space from dba_data_files;

TABLESPACE_NAME         FILE_ID FILE_NAME                                                                                            TOTAL_SPACE
-------------------- ---------- ---------------------------------------------------------------------------------------------------- -----------
SYSTEM 1 /u01/app/oracle/oradata/orcl/system01.dbf 790
SYSAUX 3 /u01/app/oracle/oradata/orcl/sysaux01.dbf 730
USERS 6 /u01/app/oracle/oradata/orcl/users01.dbf 5
UNDOTBS2 11 /u01/app/oracle/oradata/orcl/undotbs02.dbf 10
UNDOTBS1 12 /u01/app/oracle/oradata/orcl/undotbs01.dbf 220

(1)设置UNDOTBS1为默认undo表空间

SQL> alter system set undo_tablespace = undotbs1 scope=both;

System altered.

(2)此时检查UNDOTBS1处于ONLINE状态

SQL> select tablespace_name , status , count(*) from dba_rollback_segs group by tablespace_name , status;

TABLESPACE_NAME      STATUS             COUNT(*)
-------------------- ---------------- ----------
UNDOTBS1 ONLINE 11
SYSTEM ONLINE 1
UNDOTBS2 OFFLINE 11

(3)删除

SQL> select status,segment_name from dba_rollback_segs where status not in ('OFFLINE') and tablespace_name='UNDOTBS2';

no rows selected

SQL> Drop tablespace UNDOTBS2 including contents and datafiles;

Tablespace dropped.

SQL> show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
temp_undo_enabled boolean FALSE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL>

(4)至此,undo表空间由UNDOTBS2又成功切换为UNDOTBS1

Oracle中undo表空间的切换的更多相关文章

  1. 记一次ORACLE的UNDO表空间爆满分析过程

    这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...

  2. [Oracle]理解undo表空间

    一.回退段介绍 在Oracle数据库中,当某个事物对数据进行修改时,Oracle首先将数据的原始值保存到一个回退段中.一个事物只能将它的回退信息保存到一个回退段中,而多个并行事物可以使用同一个回退段. ...

  3. 如何让Oracle释放undo表空间

    如何让Oracle释放undo表空间   最佳答案   在日常的数据库维护和数据库编程中经常会遇到犹豫对大数据量做DML操作后是得ORACLE的undo表空间扩展到十几个G或者几十个G 但是这些表空间 ...

  4. oracle的undo表空间

    undo表空间是Oracle特有的概念.undo表空间中会自动分配undo段,这些undo段用来保存事务中的DML语句的undo信息,也就是来保存数据在被修改之前的值.在rollback,实例恢复(回 ...

  5. oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    数据文件和日志文件是数据库中最重要的文件.它们是数据存储的地方.每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多.数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表 ...

  6. Oracle中的表空间

    表空间是什么? Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构是指构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念及它们之间的关系. 表空间是数据库数据 ...

  7. oracle中的表空间以及和表空间有关的操作

    oracle中表空间 表空间是oracle对物理数据库上相关数据文件的逻辑映射.一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构.每个数据库至少有一个表空间(sys ...

  8. Oracle中暂时表空间的清理

    作者:iamlaosong Oracle暂时表空间主要用来做查询和存放一些缓冲区数据. 暂时表空间消耗的主要原因是须要对查询的中间结果进行排序.暂时表空间的主要作用: 索引create或rebuild ...

  9. oracle重建undo表空间

    create undo tablespace UNDOTBS2 datafile 'D:\oracle\product\10.2.0\oradata\ttonline\UNDOTBS02.DBF' s ...

随机推荐

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-1.整合Mybatis访问数据库和阿里巴巴数据源

    笔记 1.整合Mybatis访问数据库和阿里巴巴数据源     简介:整合mysql 加入mybatis依赖,和加入alibaba druid数据源 1.加入依赖(可以用 http://start.s ...

  2. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse

    笔记 1.快速搭建SpringBoot项目,采用Eclipse     简介:使用SpringBoot start在线生成项目基本框架并导入到eclipse中 1.站点地址:http://start. ...

  3. Python3 编程第一步_关键字end

    关键字end可以被用于防止输出新的一行,或者在输出的末尾添加不同的字符: a, b = 0, 1 while b < 1000: print(b, end=',') a, b = b, a+b ...

  4. HBase管理与监控——内存调优

    HMaster 没有处理过重的负载,并且实际的数据服务不经过 HMaster,它的主要任务有2个:一.管理Hbase Table的 DDL操作, 二.region的分配工作,任务不是很艰巨. 但是如果 ...

  5. MMORPG服务器架构

    MMORPG服务器架构 一.摘要 1.网络游戏MMORPG整体服务器框架,包括早期,中期,当前的一些主流架构2.网络游戏网络层,包括网络协议,IO模型,网络框架,消息编码等.3.网络游戏的场景管理,A ...

  6. js有序数组中插入一个元素,并有序的输出

    题目:比较传入函数的参数,将参数组成数组,从小到大排序,返回新的数组. 如: insert();console.log(arr); //[] insert(-1,-2); console.log(ar ...

  7. eclipse上新建Maven项目报错及解决

    Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of ...

  8. 奥比中光Astra Pro的使用(1)

    在ubuntu上的使用 首先下载SDK以及OpenNI安装包,下载地址: 解压两个安装包 切换目录到AstraSDK-Linux下的install目录,并输入命令:sudo sh ./install. ...

  9. 深入理解C语言-接口封装设计思想

    断层思维 在设计时候,不需要知道实现,只需要知道如何使用 接口设计的设计思路 Sckclient客户端api模型 第一套API (*.h) #ifndef _SCK_CLINT_H_ #define ...

  10. pycharm中文专业版安装使用

    激活码 MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lI ...