由于环境维护或者性能测试需要,经常需要对表空间进行重建操作。重建表空间操作主要分3中情况介绍,分别是业务表空间、临时表空间和回滚段表空间的重建。

重建业务表空间

由于业务规划要求,重建后的业务表空间名需要与原有的一致。操作上和重建临时表空间和重建回滚段表空间有不同。

1、备份当前需要使用的数据库,可以使用Oracle自带的expdp或者exp命令。

2、删除业务数据库。

3、停掉ORACLE监听,重启ORACLE实例,确保断开已有的连接和新连接的建立。

4、删除业务表空间

5、新建业务表空间

6、使用impdp/imp命令导入备份的数据库,还原业务数据库。

重建undo表空间

1、查看当前使用undo表空间和对应数据文件路径

SQL> show parameter undo
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='UNDOTBS1';

2、创建新的undo表空间

SQL> create undo tablespace undotbs2  datafile '/home/oracle/oradata/undotbs2.dbf' size 1024M;

3、修改使用新建的回滚表空间

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

4、查看所有在UNDOTBS1的undo segment都已offline。

SQL> select SEGMENT_NAME ,STATUS ,TABLESPACE_NAME from dba_rollback_segs where TABLESPACE_NAME='UNDOTBS1' and STATUS='OFFLINE'; 

5、步骤4中的状态全部offline后,将旧的回滚表空间udotbs1状态修改为offline。

SQL> alter tablespace undotbs1 offline;

6、删除旧的undo表空间

SQL> drop tablespace undotbs1 including contents and datafiles;

7、操作完成。

重建temp表空间

1、查看当前使用的temp表空间相关信息

SQL> select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
SQL> select name,bytes/1024/1024 file_size,status,enabled from v$tempfile;

2、查看用户使用的默认临时表空间

SQL> select username,temporary_tablespace from dba_users;

3、创建新的temp表空间

CREATE TEMPOARY TABLESPACE  TEMP1 TEMPFILE  '/home/oracle/oradata/TEMP1.dbf' SIZE 1024M;

4、修改默认表空间为新创建的临时表空间temp2

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP1;

5、offline旧的临时表空间temp

ALTER DATABASE TEMPFILE '/home/oracle/oradata/TEMP.dbf' OFFLINE;

6、删除旧的临时表空间temp

DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;

7、操作完成

Oracle重建表空间操作实例的更多相关文章

  1. ORACLE表空间操作实例

    本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...

  2. oracle 删除用户命令和部分表空间操作

    删除用户 drop user user_name cascade; 建立表空间 CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01. ...

  3. oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

    今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace,        b.segfile# ...

  4. Oracle的表空间、用户和表的区别和联系

    Oracle的表空间.用户和表的区别和联系 Oracle数据库是通过表空间来存储实际存在的那些表.索引.视图的, 表空间分类: 临时表空间:   用于存储数据库中单持久性模型对象,如表.索引.视图等, ...

  5. Oracle的表空间、用户和模式

    Oracle 的 表空间(Tablespace).用户(User).模式(Schema)   前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 ...

  6. Oracle Temp表空间切换

    来源于:  http://www.2cto.com/database/201507/418564.html 一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时 ...

  7. oracle维护表空间和数据文件

    1:重要参考 wiki 2: oracle doc 表空间参考 3:来自dba-oracle的参考 26,27,28,29 一:oracle 表空间概念 表空间是联系数据库的物理磁盘(数据文件)和逻辑 ...

  8. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  9. 转oracle 学习 - 表空间

    Oracle 数据库的表空间和 Oracle 数据库数据文件 关于 Oracle 数据库的表空间. 很多 Oracle 初学者弄不明白表空间的概念和意义,他们只知道给数据库建表的时候需要到表空间这个东 ...

随机推荐

  1. android websocket

    https://github.com/TakahikoKawasaki/nv-websocket-client

  2. .net core 认证

    http://www.cnblogs.com/RainingNight/p/cookie-authentication-in-asp-net-core.html

  3. PostgreSQL 一主多从(多副本,强同步)简明手册 - 配置、压测、监控、切换、防脑裂、修复、0丢失 - 珍藏级

    参考来源: https://github.com/digoal/blog/blob/master/201803/20180326_01.md#postgresql-一主多从多副本强同步简明手册---配 ...

  4. 在Docker中安装配置Oracle12c并实现数据持久化

    在Docker中安装配置Oracle12c并实现数据持久化 选定镜像,并pull到系统中,一定要先配置加速,不然超级慢 eric@userver:~$ docker pull sath89/oracl ...

  5. delphi2010 域名转换IP

    uses winsock; function GetHostIp_wwwdelphitopcom(HostName: string): string; type   tAddr = array[0.. ...

  6. Chapter2:Qt5模板库,工具类及控件

    2.1 字符串类 QString类保存16位Unicode值,提供了丰富的操作,查询和转换等函数.  (1):QString提供了一个二元的"+"操作符用于组合两个字符串  (2) ...

  7. http与https之间的区别

    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂 ...

  8. PHP:导出数据到word(包含图片)

    1.方法 public function word() { $xlsModel = M('api_aliucheng'); $Data = $xlsModel->Field('id,u_name ...

  9. 推荐7个GitHub上不错的Python机器学习项目

    1.Pylearn2 [Star:2633] Pylearn是一个让机器学习研究简单化的基于Theano的库程序. 2. Scikit-learn [Star:32449] Scikit-learn是 ...

  10. python 函数传递可变参数的用法

    可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个. 我们以数学题为例子,给定一组数字a,b,c……,请计算a2 ...