使用RMAN在恢复表空间的时候,表空间数据文件DBID和恢复数据库的数据文件DBID必须相同

可传输表空间不需要这样,也就是可以快速的把这个表空间插入另一个数据库使用

可传输表空间内的对象必须不依赖与其他表空间中的对象,且最好其他表空间内的对象也不依赖可传输表空间的对象

测试步骤:

整个测试时将227中的数据库的users表空间插到245数据库中并使用(就跟电器和插座一样,松耦合,电器可以随时拔掉插到另一个插座上,而不是必须与插座相连)

1.先備份users表空間,方便測試完畢后還原

10.206.132.245
$ rman target / catalog rman/rman@rcatalog RMAN> backup tablespace users; RMAN> list backup of tablespace users;

2.導出users表空間

10.206.132.227
$ sqlplus / as sysdba SQL> alter tablespace users read only; $ expdp " ' / as sysdba' " directory=monkey transport_tablespaces=users dumpfile=USERSTTS.dmp nologfile=y

3.將導出文件和數據文件傳輸到245

$ scp USERSTTS.dmp 10.206.132.245:/oradata02/expdp
$ scp /oradata01/dfhdb/users01.dbf 10.206.132.245:/oradata02/expdp

4.刪除245的users表空間

$ sqlplus / as sysdba
SQL> drop tablespace users including contents and datafiles;
---------------------------------------------------------------------
ERROR at line 1:
ORA-12919: Can not drop the default permanent tablespace
---------------------------------------------------------------------
報錯,因为users表空間是數據庫的默認表空間
SQL> create tablespace mytbs datafile '/oradata02/monkey/mytbs01.dbf' size 1g; SQL> alter database default tablespace mytbs; SQL> drop tablespace users including contents and datafiles;

5.將227的表空間導入

$ mv users01.dbf /oradata01/monkey/
$ impdp \'/ as sysdba\' directory=MONKEY transport_datafiles=/oradata01/monkey/users01.dbf dumpfile=USERSTTS.dmp nologfile=y
------------------------------------------------------------------------------------------------------------------------------------------
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01": "/******** AS SYSDBA" directory=MONKEY transport_datafiles=/oradata01/monkey/users01.dbf dumpfile=USERSTTS.dmp nologfile=y
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123: Data Pump transportable tablespace job aborted
ORA-29342: user MONKEY does not exist in the database Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" stopped due to fatal error at Thu Jul 30 08:53:54 2020 elapsed 0 00:00:01
------------------------------------------------------------------------------------------------------------------------------------------
報錯,沒有monkey用戶,所以monkey用戶下的數據庫對象無法建立,從這裡也可以看出,用戶的元數據應該不在表空間中存儲
SQL> CREATE USER MONKEY IDENTIFIED BY MONKEY;
再次導入
$ impdp \'/ as sysdba\' directory=MONKEY transport_datafiles=/oradata01/monkey/users01.dbf dumpfile=USERSTTS.dmp nologfile=y

6.查看導入后的users表空間的狀態

SQL> SELECT STATUS FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='USERS';
STATUS
---------
READ ONLY

7.修改表空間為READWRITE

SQL> alter tablespace users read write;

8.查詢后可以發現原來227中存在,245不存的表也有了

SQL> CREATE TABLE MONKEY.TESTTRANSPORT(ID NUMBER,NAME VARCHAR2(10)) TABLESPACE USERS;

測試在 users表空間中新建表也可以

oracle可传输表空间测试的更多相关文章

  1. 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明

    ############1   迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...

  2. Oracle使用SQL传输表空间

    源环境:RHEL 6.4 + Oracle 11.2.0.4 目的环境:RHEL 6.4 + Oracle 11.2.0.4 DG双机 要求:使用SQL传输表空间DBS_D_JINGYU从源环境到目的 ...

  3. oracle操作之传输表空间

    一.传输表空间概述 什么是传输表空间,传输表空间技术始于oracle9i,不论是数据字典管理的表空间还是本地管理的表空间,都可以使用传输表空间技术:传输表空间不需要在源数据库和目标数据库之间具有同样的 ...

  4. oracle expdp/impdp/可传输表空间

    oracle expdp/impdp/可传输表空间/及一些参数 Oracle data pump 导出操作能够将表.索引.约束.权限.PLSQL包.同义词等对象从数据库导出,并将它们保存在一种非文本格 ...

  5. Oracle传输表空间介绍

    传输表空间通过拷贝数据文件的方式,实现可跨平台的数据迁移,效率远超expdp/impdp, exp/imp等工具.还可以应用跨平台&数据库版本迁移表数据.归档历史数据和实现表空间级时间点数据恢 ...

  6. 数据泵 TTS(传输表空间技术)

    1.源库准备环境 --创建被传输的表空间create tablespace tts logging datafile '/home/oracle/app/oradata/orcl/tts01.dbf' ...

  7. [20170623]利用传输表空间恢复数据库2.txt

    [20170623]利用传输表空间恢复数据库2.txt --//继续上午的测试,测试truncate,是否可行,理论讲应该没有问题.我主要的目的测试是否要切换日志.--//参考链接 : http:// ...

  8. [20170623]利用传输表空间恢复部分数据.txt

    [20170623]利用传输表空间恢复部分数据.txt --//昨天我测试使用传输表空间+dblink,上午补充测试发现表空间设置只读才能执行impdp导入原数据,这个也很好理解.--//这样的操作模 ...

  9. [20170622]传输表空间与dblink.txt

    [20170622]传输表空间与dblink.txt --//测试看看使用dblink+传输表空间的情况.写的情况相对复杂一点,具体看测试: 1.环境:--//2个数据库版本一致.实际上在1台主机上. ...

随机推荐

  1. 【JVM】类加载时机与过程

    虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制.下面来总结梳理类加载的五个阶段. 类加载发生在 ...

  2. C#自定义TemplateImage使用模板底图,运行时根据用户或产品信息生成海报图(1)

    由于经常需要基于固定的一个模板底图,生成微信小程序分享用的海报图,如果每次都调用绘图函数,手动编写每个placeholder的填充,重复而且容易出错,因此,封装一个TemplateImage,用于填充 ...

  3. maven 父子项目 pom

    父项目 <!--项目 id--> <artifactId>expressway-cloud-travel</artifactId> <!-- 子模块--> ...

  4. java的注释方法

    1.单行注释 //注释的内容 2.多行注释 /....../ 3./**......*/,这种方式和第二种方式相似.这种格式是为了便于javadoc程序自动生成文档.

  5. JDBC数据库删除

    1 //删除操作: 2 3 if(conn != null){ 4 String temps="2"; 5 conn.setAutoCommit(false); 6 Prepare ...

  6. 【Go】我与sync.Once的爱恨纠缠

    原文链接: https://blog.thinkeridea.com/202101/go/exsync/once.html 官方描述 Once is an object that will perfo ...

  7. 宿主机网络中其它机器与Docker容器网络互通配置

    前言 目前项目采用微服务架构进行开发,Nacos和其它服务部署到Docker中,Docker中容器采用的网络默认是桥接模式(Bridge),默认的子网码是172.17.0.1/16:宿主机是192.1 ...

  8. J.U.C关于Execute实现

    JAVASE5的Execute将为你管理Thread对象,是启动任务的优选方案 /***newCachedThreadPool在程序的执行过程中通常会创建于所需任务相同数量的线程即可以达到Intege ...

  9. Redis原理知识点集锦

    1.Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 高级数据结构 HyperLogLog:基数统计 GEO:地理位置 PUB/SU ...

  10. 关于echarts中的noDataLoadingOption——loading动画的问题

    在最近的一个项目中用到echarts这个插件,其中关于noDataLoadingOption配置项的问题让我困惑了好长时间.经过蛋疼的查找下,终于搞明白是版本的原因. 且看官网的介绍:ECharts, ...