从ORACLE表空间offline谈起,表空间备份恢复
将表空间置为offline,可能的原因包括维护、备份恢复等目的;
表空间处于offline状态,那么Oracle不会允许任何对该表空间中对象的SQL执行,表空间置为offline时仍处于活动状态的语句在交易级别并不会受影响。

实验一:RMAN备份恢复表空间
SQL> create tablespace test datafile '/data/app/oracle/oradata/ORCL/datafile/test01.dbf' size 1G ;
Tablespace created.
SQL> alter tablespace TEST add datafile '/data/app/oracle/oradata/ORCL/datafile/test02.dbf' size 1G;
Tablespace altered.
[oracle@prod ~]$ rman target /
Recovery Manager: Release 12.1.0.2.0 - Production on Thu Jun 14 11:26:31 2018
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1607304684)

RMAN> backup tablespace "TEST" tag "test";
RMAN> alter tablespace test offline;
模拟数据文件损坏
[oracle@prod ~]$ mv /data/app/oracle/oradata/ORCL/datafile/test01.dbf /data/app/oracle/oradata/ORCL/datafile/test01.dbf.bk
[oracle@prod ~]$ mv /data/app/oracle/oradata/ORCL/datafile/test02.dbf /data/app/oracle/oradata/ORCL/datafile/test02.dbf.bk
利用RMAN进行介质恢复
[oracle@prod ~]$ rman target /

Recovery Manager: Release 12.1.0.2.0 - Production on Thu Jun 14 11:28:30 2018
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1607304684)
RMAN> restore tablespace "TEST";
RMAN> recover tablespace "TEST";

Starting recover at 14-JUN-18
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 14-JUN-18

RMAN> alter tablespace test online;

Statement processed

RMAN>

实验二:expdp/impdp备份恢复表空间
SQL> create tablespace test datafile '/data/app/oracle/oradata/ORCL/datafile/test01.dbf' size 1G ;
Tablespace created.
SQL> alter tablespace TEST add datafile '/data/app/oracle/oradata/ORCL/datafile/test02.dbf' size 1G;
Tablespace altered.
RMAN> backup tablespace "TEST" tag "test";
RMAN> alter tablespace test offline;

SQL>drop tablespace test;

RMAN> restore tablespace test;

Starting restore at 14-JUN-18
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 06/14/2018 11:58:48
RMAN-20202: Tablespace not found in the recovery catalog
RMAN-06019: could not translate tablespace name "TEST"
因为rman是用来在介质故障之后进行恢复的,手动进行的drop表空间不是介质故障,而且执行drop操作的时候表空间信息已经被从数据字典里删掉
所以,只能找个地方,把整个库恢复到drop表空间之前,再用导出,导入的方法把这个表空间导入原来的库中
SQL> create user elon identified by "elon" default tablespace test account unlock;
User created.
SQL> grant dba to elon;
SQL> create table test as select * from user_objects where rownum < 10;
SQL> insert into test select * from test;
SQL> commit;
逻辑备份表空间TEST
[oracle@prod ~]$ expdp system/xxxxxx DIRECTORY=DUMP DUMPFILE=test.dmp TABLESPACES="test"
SQL> drop tablespace test including contents and datafiles;

进行恢复:
SQL> create tablespace test datafile '/data/app/oracle/oradata/HBCG/datafile/test01.dbf' size 1G ;

[oracle@prod ~]$ impdp system/oracle DIRECTORY=DUMP DUMPFILE=test.dmp
SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='TEST';

TABLESPACE_NAME STATUS
------------------------------ ---------
TEST ONLINE

实验三:清理OFFLINE表空间

SQL> alter tablespace FDA online;

SQL> select owner,table_name from dba_tables where tablespace_name='FDA';
no rows selected
SQL> select * from dba_segments where segment_name='FDA';
no rows selected

[oracle@SQL ~]$expdp system/xxxxxx DIRECTORY=DATA_DUMP DUMPFILE=fda.dmp LOGFILE=fda.log  TABLESPACES="FDA"

SQL> alter tablespace FDA offline;

SQL>drop tablespace FDA including contents and datafiles;

ORACLE表空间offline谈起,表空间备份恢复的更多相关文章

  1. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  2. Oracle备份恢复简单过程以及中间的坑.

    Oracle 冷备: 貌似需要dbca创建一致的oracle instance 服务器配置版本尽量相同,安装路径相同. 关闭Oracle服务 将oracle app 目录下的oradata以及有快速闪 ...

  3. 一个表空间offline后alert日志报ORA-01135 和ORA-01110的问题

    本文是原创文章.转载请注明出处:http://blog.csdn.net/msdnchina/article/details/44336789 近期遇到一个案例,是将一个表空间offline之后,al ...

  4. 分享知识-快乐自己: Oracle数据库实例、用户、表、表空间之间关系

    数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件). 其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库 ...

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

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

  6. Oracle 释放过度使用的Undo表空间

    故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃: 问题分析:产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况: ...

  7. ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤

    产生问题的原因主要以下两点:1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况:2. 有较大事务没有收缩或者没有提交所导制:说明:本问题在ORACLE系统管理中属于比较正 ...

  8. 【Oracle】删除(释放)数据文件/表空间流程

    oracle删除(释放)数据文件/表空间流程 生产环境:数据库里空间不足,niptest 表空间251G,只使用了17G 再alter database datafile '...../niptest ...

  9. oracle 创建用户和imp指定表空间

    创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,conn ...

随机推荐

  1. ARM之cache

    一. 什么是cache 1.1. cache简介 a. Cache 即高速缓冲存储器,是位于 CPU 与内存之间的高速存储器,它的容量比内存小但交换速度快. b. ARM处理器的主频为上百M甚至几G, ...

  2. MySQL总结(3)

    ORDER BY 与 GROUP BY ORDER BY GROUP BY 排序产生的输出 分组行.但输出可能不是分组的顺序 不一定需要 如果与聚集函数一起使用列(或表达式)则必须使用 任意列都可以使 ...

  3. python如何安装第三方模块

    系统 Windows 10 方法一,通过在命令行中通过pip命令安装 1. 打开cmd 2. 输入命令:pip install 目标模块的名字,例如, pip install numpy 3. 按回车 ...

  4. go & Windows Service

    相关库 https://godoc.org/golang.org/x/sys/windows/svc https://github.com/kardianos/service https://gith ...

  5. Animator通过按键切换动画不及时,动画延时切换问题

    再unity3D版本为Unity 5.2.1f1 (64-bit),再设置动画切换时有一个Has Exit Time属性,由于勾上了这个的原因

  6. jQuery之排他思想

    使用的方法:click()    css()   siblings() <button>快速</button> <button>快速</button> ...

  7. C++实现简单的日志记录

    C++实现简单的日志记录 //dlogger.h #ifndef DLOGGER_H #define DLOGGER_H #include <iostream> #include < ...

  8. linux基本命令之磁盘管理命令(ls,cd,pwd,mkdir,rmdir,clear, touch)

    linux磁盘管理命令 1.ls(list)命令:列出目录内容. 格式:ls [参数][文件或目录] ls -a或-all表示列出所有文件和目录,以点开始的是影藏文件,例如,.bash_history ...

  9. spark复习笔记(1)

    使用spark实现work count ---------------------------------------------------- (1)用sc.textFile(" &quo ...

  10. windows下挂载NFS共享目录

    1.在打开或关闭Windows功能中,选择安装NFS客户端 2.在命令行中,输入“mount \\172.24.184.31\data x:\”,输入mount查看详细挂载参数(注意此时uid.gid ...