当前位置:  数据库>oracle

Oracle 传输表空间

    来源: 互联网  发布时间:2017-05-16

    本文导语: Oracle的传输表空间是指,可以将一个数据库上的一个或多个表空间的全部数据文件拷贝到另一个数据库服务器上,通过导入的方式将表空间加载当目标数据库。 使用这种方法的最大好处是速度快,所需要的时间和拷贝数据文件...

Oracle的传输表空间是指,可以将一个数据库上的一个或多个表空间的全部数据文件拷贝到另一个数据库服务器上,通过导入的方式将表空间加载当目标数据库。

使用这种方法的最大好处是速度快,所需要的时间和拷贝数据文件差不多,比执行EXP/IMP的导入导出要快得多。

传输表空间的限制条件:

源和目标数据库必须使用相同的字符集和国家字符集(分别对应nls_database_parameters视图的NLS_CHARACTERSET与NLS_NCHAR_CHARACTERSET值)

如果要传输到其它os平台,compatible必须要设置为10.0以上。

Oracle提供了过程dbms_tts.transport_set_check来检查一个表空间集合是否是自包含的。这个过程有三个参数,第一个是表空间名字的列表,用逗号分隔,第二个参数指出是否检查完整性约束,第三个参数指出检查集合内参考集合外的同时是否反过来检查集合外是否参考了集合内的对象。

执行完过程后,查询视图transport_set_violations查看检查结果 ,如果为空,说明是自包含的,可以进行传输表空间。

实验:

--源端创建测试表空间与测试用户
SQL> create tablespace t_tbs datafile 'G:oracleproduct10.2.0oradataorclt_tbs01.dbf'
 2 size 10M;
 
表空间已创建。
 
SQL> create user test identified by test;
 
用户已创建。
 
SQL> grant connect,resource to test;
 
授权成功。
 
SQL> conn test/test@orcl
已连接。
SQL> create table t_t (id int) tablespace t_tbs;
 
表已创建。
 
SQL> insert into t_t select level from dual connect by level commit;
 
提交完成。
 
--1.源端检查自包含
SQL> show user
USER 为 "SYS"
SQL> execute dbms_tts.transport_set_check('t_tbs',true);
 
PL/SQL 过程已成功完成。
 
SQL> select * from transport_set_violations;
 
未选定行
 
 
--2.源端在导出之前置表空间为只读
SQL> alter tablespace t_tbs read only;
 
表空间已更改。
 
--3.执行导出 ,需sysdba
SQL> ho exp 'sys/oracle@orcl as sysdba' transport_tablespace=y tablespaces=t_tbs file=d:t_tbs.dmp
 
Export: Release 10.2.0.1.0 - Production on 星期四 8月 30 22:16:12 2012
 
Copyright (c) 1982, 2005, Oracle. All rights reserved.
 
 
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不导出表数据 (行)
即将导出可传输的表空间元数据...
对于表空间 T_TBS...
. 正在导出簇定义
. 正在导出表定义
. . 正在导出表 T_T
. 正在导出引用完整性约束条件
. 正在导出触发器
. 结束导出可传输的表空间元数据
成功终止导出, 没有出现警告。 


    
 
 

您可能感兴趣的文章:

  • Linux下Oracle传输表空间高手支招
  • [Oracle] Data Guard 之 Redo传输详解
  • oracle查看表空间已分配和未分配空间的语句分享
  • shell脚本操作oracle删除表空间、创建表空间、删除用户
  • oracle 创建表空间步骤代码
  • oracle增加表空间大小两种实现方法
  • RedHat8上解压Oracle9磁盘丢失磁盘空间,请大虾帮忙!
  • ORACLE数据库空间整理心得
  • oracle9i 在 redhat7.3 上安装临时目录空间不够.
  • Oracle 10g创建表空间和用户并指定权限
  • Oracle释放undo表空间
  • oracle 创建表空间详细介绍
  • 在linux下装oracle9i到了最后时候,提示/tmp空间不够了,怎么增加,谢谢!
  • 查看修改Oracle10G归档日志空间的限制
  • [小技巧]手工扩大Oracle数据库表空间的方法
  • Oracle回滚段空间回收步骤
  • Oracle数据库手工扩大表空间的方法
  • Oracle tablespace表空间调整
  • 新手求助:RedHat安装oracle 11g 检测空间不足
  • Oracle安装过程中物理内存检查及临时temp空间不足问题解决
  • Oracle 10g表空间创建的完整步骤
  • oracle表空间中空表统计方法示例介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,