使用data dump 恢复表空间

1)对 表空间进行逻辑导出

SQL> conn system/yang as sysdba
已连接。

impdp  system/yang  directory=dump dumpfile=tablespace.dmp tablespaces=users

2)模拟表空间损坏

SQL> drop tablespace test including contents and datafiles;
表空间已删除。
SQL> select name from v$datafile;
NAME                                                                           
--------------------------------------------------------------------------------
F:\APP\YANG\ORADATA\ORACL\SYSTEM01.DBF                                         
F:\APP\YANG\ORADATA\ORACL\SYSAUX01.DBF                                         
F:\APP\YANG\ORADATA\ORACL\UNDOTBS01.DBF                                        
F:\APP\YANG\ORADATA\ORACL\USERS01.DBF                                          
F:\APP\YANG\ORADATA\ORACL\EXAMPLE01.DBF                                         
3)使用刚才导出的文件进行导入

Import: Release 11.1.0.6.0 - Production on 星期日, 23 5月, 2010 22:04:52
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_TABLESPACE_01"
启动 "SYSTEM"."SYS_IMPORT_TABLESPACE_01":  system/******** directory=dump dumpfile=tablespace.dmp tablespaces=users
处理对象类型 TABLE_EXPORT/TABLE/TABLE
ORA-39151: 表 "SCOTT"."DEPT" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
ORA-39151: 表 "SCOTT"."EMP" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
ORA-39151: 表 "SCOTT"."BONUS" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
ORA-39151: 表 "SCOTT"."SALGRADE" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
ORA-39151: 表 "SCOTT"."T3" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
ORA-39151: 表 "OE"."PURCHASEORDER" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
ORA-39151: 表 "OE"."CATEGORIES_TAB" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."T2"                                21.47 KB       4 行
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SYSTEM"."SYS_IMPORT_TABLESPACE_01" 已经完成, 但是有 7 个错误 (于 22:05:01 完成)

当然这里可以使用ignore=y 忽略对已经存在的对象进行验证

4)验证是否成功

SQL> select name from v$datafile;
NAME                                                                           
--------------------------------------------------------------------------------
F:\APP\YANG\ORADATA\ORACL\SYSTEM01.DBF                                         
F:\APP\YANG\ORADATA\ORACL\SYSAUX01.DBF                                         
F:\APP\YANG\ORADATA\ORACL\UNDOTBS01.DBF                                        
F:\APP\YANG\ORADATA\ORACL\USERS01.DBF                                          
F:\APP\YANG\ORADATA\ORACL\EXAMPLE01.DBF                                        
F:\APP\YANG\ORADATA\ORACL\TEST.DBF                                                                                 
已选择6行。

---成功

时间: 2024-07-31 09:58:56

使用data dump 恢复表空间的相关文章

Oracle RMAN完全恢复案例(四)恢复表空间(open状态)

案例4: --恢复表空间(open状态) 1)测试环境 07:47:00 SQL> insert into emp1 select * from emp where rownum <3; 2 rows created. 07:47:14 SQL> commit; Commit complete. 07:47:17 SQL> select * from emp1; EMPNO ENAME      JOB              MGR HIREDATE         SAL  

oracle手工完全恢复(三) 恢复表空间

案例2: recover tablespace(恢复表空间(删除了tablespace的所有的datafile)) 在关库状态下删除数据文件时,这样恢复:转储datafile,使丢失的datafile脱机, recover tablespace (1)模拟环境 SQL> conn scott/tiger Connected. SQL> col tname for a30 SQL> select * from tab; TNAME                          TABT

[20170627]使用TSPITR恢复表空间.txt

[20170627]使用TSPITR恢复表空间.txt --//RMAN提供了一种实现所谓TSPITR(Tablespace Point-In-Time Recovery)的技术,通过简单的一个语句,就可以在主库不停库(很吸引人) --//的情况下,利用备份集和连续的归档日志,实现表空间级别的定点恢复. --//实际上rman就是把人工一步一步执行的命令打包,执行恢复工作,减轻dba负担.我一直认为这个不是很实用,前几天做了利用传输表空 --//间的测试,感觉那个更实用一些. --//blog.

使用data dump 恢复数据库

1)先对数据库进行逻辑导出整个库 Export: Release 11.1.0.6.0 - Production on 星期日, 23 5月, 2010 21:41:45Copyright (c) 2003, 2007, Oracle.  All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - ProductionWith the Partitioning, OLAP, Data M

用Oracle 10g Data Pump重组表空间

Oracle 10g版本对数据输入与输出的操作功能进行重新设计,在输入或输出工作中增加断开和连接的功能.对这些功能做微小改动,就可利于DBA表空间的操作. 作为整体单元输出表空间 过去的输出和输入功能有3种模式:依赖于对象输出,如索引的单个表格:输出某个用户所有的对象:输出整个数据库.但是表空间是一个难于处理的问题.不同用户的对象存储在给定的表空间中,但是某些对象可能存储在其它表空间. 因此,唯一的解决方法则是使用查询数据字典查找列表及其从属主,然后使用"table-mode export&qu

oracle数据库错误ORA-01157: cannot identify/lock data file导致表空间无法online

朋友和我聊到一个案例,一个表空间本来有一个数据文件(已经有大量数据进入),然后他加入7个数据文件,这个时候他发现他加多了文件,想删除这些数据文件,可是又不怎么懂数据库,直接offline 表空间,然后rm掉相关数据文件,最后表空间无法online.我对其场景进行了模拟恢复测试,使用bbed和dul对其进行恢复 模拟场景表空间有一个数据文件,里面有数据,然后加入一个新数据文件,进入offline tbs,然后rm数据文件 offline表空间后,该表空间存在的数据文件也会offline  代码如下

Oracle RMAN高级恢复概述(三) 如何恢复表空间时间点

使用表空间时间点恢复(TSPITR)可以将一个或多个非SYSTEM表空间恢复到与数据库其他部分不同的某个时间点上.这点和Flashback 有点类似. 比如用户误删了3张表,我们就可以用TSPITR恢复. 先看TSPITR 的工作流程,如下图所示: (1) 在辅助实例上用target的备份集restore 数据文件 (2) 在辅助库上用target的归档文件recover 数据文件 (3) 在辅助库上导出相关数据 (4) 修改主库的控制文件 (5) 用辅助库上导出文件导入辅助库上. 几个相关相关

Oracle 表空间时点恢复(TSPITR)

表空间时点恢复,是Oracle在基于冷备,热备恢复以外的一种以表空间为粒度的,不完全恢复的形式来将表空间恢复到过去某个特定的时间点的一种恢复方式.它整合了RMAN以及DataPump这2个备份恢复工具来实现时点恢复.那它具体的过程和逻辑是怎样的?下文是其具体的描述. 一.什么是表空间时点恢复 Oracle表空间时点恢复有2个需要理解的概念. 恢复粒度   表空间级别,也就是说恢复的粒度是以表空间为单位 时点恢复   时点恢复意味着是一个不完全恢复.也就是说可以把某个或几个表空间恢复到过去的特定时

【TSPITR】RMAN表空间基于时间点的自动恢复

[RMAN]TSPITR--RMAN表空间基于时间点的自动恢复 1.1  BLOG文档结构图       1.2  前言部分   1.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① TSPITR表空间基于时间点的自动恢复 ② logminer的简单应用   本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 1.2.2  实验环境介绍   目标库:11.2.0.3