从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. mysql 修改表字段默认值

    alter table 表名 alter column 字段名 drop default; (若本身存在默认值,则先删除) alter table 表名 alter column 字段名 set de ...

  2. yaf框架安装

    第一步:明白yaf框架是以扩展的形式要先配置到php里面,对于windows系统的使用者,首先要去官网:http://code.google.com/p/yafphp/downloads/list如果 ...

  3. 使用SecureCRT 8.5快速打开sftp传输文件

    一般使用Windows系统上安装的SecureCRT 8.5软件远程连接Linux服务器,通常给Linux系统传输文件或者使用FTP,或者使用SFTP等其他第三方软件,有时Linux系统上还需要做其他 ...

  4. 计算机系统结构总结_Memory Hierarchy and Memory Performance

    Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR 这是youtube上一个非常好的memory syst ...

  5. Vue的渐进式理解(笔记)

    在我看来,渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式. 比如说,Angu ...

  6. python Rabbitmq编程(一)

    python Rabbitmq编程(一) 实现最简单的队列通信 send端 #!/usr/bin/env python import pika credentials = pika.PlainCred ...

  7. 43. Multiply Strings (JAVA)

    Given two non-negative integers num1 and num2represented as strings, return the product of num1 and  ...

  8. AFNetworking2.0源码解析<一>

    本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构建了NSURLConnecti ...

  9. 分页控件SSTab

    一.分页控件SSTab概述1.作用:采用分页形式查询或编辑数据表中数据.2.添加到控件箱菜单命令:工程 | 部件,选择:Microsoft Tabbed Dialog Control 6.0 (SP6 ...

  10. Flask 框架app = Flask(__name__) 解析

    #!/usr/local/bin/python # coding=utf-8 from flask import Flask app = Flask(__name__) @app.route('/') ...