当前位置:  数据库>oracle

Oracle传输表空间

    来源: 互联网  发布时间:2017-06-02

    本文导语: 这两天一直在看文档当中的传输表空间部分。说起来十分惭愧,经过不断的尝试,总算完成了一次不太完美的传输表空间的实验。 一、传输表空间概述首先来认识一下什么是传输表空间,传输表空间技术始于Oracle9i,不论是数据...

这两天一直在看文档当中的传输表空间部分。说起来十分惭愧,经过不断的尝试,总算完成了一次不太完美的传输表空间的实验。

一、传输表空间概述
首先来认识一下什么是传输表空间,传输表空间技术始于Oracle9i,不论是数据字典管理的表空间还是本地管理的表空间,都可以使用传输表空间技术;传输表空间不需要在源数据库和目标数据库之间具有同样的DB_BLOCK_SIZE块大小;使用传输表空间迁移数据比使用数据导入导出工具迁移数据的速度要快,这是因为传输表空间只是复制包含实际数据的数据文件到目标数据库的指定位置,而使用数据导入导出工具则是传输表空间对象的元数据到目标数据库。

二、传输表空间的方法
1、使用SQL*PLUS,RMAN,Data Pump工具实现手动的传输表空间。
2、使用EM工具中的传输表空间向导实现传输表空间。

三、跨平台传输表空间
从oracle 10g开始,oracle实现了跨平台的表空间传输,跨平台的意味着数据库可以从一种类型的平台迁移到另一中类型的平台上,大多数(但不是全部)的平台都支持传输表空间。首先必须通过查看v$transportable_platform视图查看oracle支持的平台,并确定每种平台的字节存储次序,注意:这一点非常重要。以下查询为oracle支持的各种平台及字节存储次序(版本为10.2.0.4),在跨平台表空间传输时,需要通过查询该视图进行平台和字节存储次序的比对。
SQL> select * from v$transportable_platform order by platform_name;
PLATFORM_ID PLATFORM_NAME                        ENDIAN_FORMAT
----------- ------------------------------------ --------------
          6 AIX-Based Systems (64-bit)          Big
        16 Apple Mac OS                        Big
        19 HP IA Open VMS                      Little
        15 HP Open VMS                          Little
          5 HP Tru64 UNIX                        Little
          3 HP-UX (64-bit)                      Big
          4 HP-UX IA (64-bit)                    Big
        18 IBM Power Based Linux                Big
          9 IBM zSeries Based Linux              Big
        10 Linux IA (32-bit)                    Little
        11 Linux IA (64-bit)                    Little
        13 Linux x86 64-bit                    Little
          7 Microsoft Windows IA (32-bit)        Little
          8 Microsoft Windows IA (64-bit)        Little
        12 Microsoft Windows x86 64-bit        Little
        17 Solaris Operating System (x86)      Little
        20 Solaris Operating System (x86-64)    Little
          1 Solaris[tm] OE (32-bit)              Big
          2 Solaris[tm] OE (64-bit)              Big
19 rows selected.

四、两个数据库之间进行传输表空间的过程
1、如果是跨平台的表空间传输,需要检查两个平台支持的字节存储顺序,检查方法见如上文所述,如果可以确定源数据库和目标数据库属于同一平台,可以省略此步骤;
2、选择自包含的(self-contained)表空间,这里的限制相对于使用数据泵来说比较变态,实验中将会有一些粗略的介绍。
3、将源数据库上的选定表空间修改为read-only状态,使用expde工具生成传输表空间(集)。      //在这一步,如果两个平台间的字节存储次序不同,还需完成字节存储次序的转换
4、传输表空间及与表空间对应数据文件 (使用操作系统命令、ftp命令等方式)到目标数据库。    //字节存储次序的转换也可以在这一步完成
5、将源数据库的表空间恢复为read-write状态(可选)
6、在目标数据库,使用impdp工具导入表空间(集)

五、本次实验记录
本来设计的实验过程为:通过转换字节存储次序,实现跨平台的表空间传输。但是通过查询v$transportable_platform视图发现所拥有的平台(windows 64bit和Linux x86-64)的字节存储次序相同,并且在测试过程中出现了字符集不兼容的错误。由于条件不具备,无奈之下只好选择了两个Linux平台数据库(10.2.0.4和11.2.0.1)之间的表空间传输。

实验限制一:Windows 64bit和Linux x86-64的字节存储次序相同
SQL> select * from v$transportable_platform where platform_name like 'Microsoft%64%' or platform_name like 'Linux%64%';
PLATFORM_ID PLATFORM_NAME                        ENDIAN_FORMAT
----------- ------------------------------------ --------------
        11 Linux IA (64-bit)                    Little
          8 Microsoft Windows IA (64-bit)        Little
        13 Linux x86 64-bit                    Little
        12 Microsoft Windows x86 64-bit        Little

实验限制二:表空间导入时,由于字符集不兼容出现的保存信息
C:UsersManganese>impdp system/oracle dumpfile=expdat.dmp directory=dump_dir transport_datafiles=D:appManganeseoradataorcltest01.dbf logfile=tts_import.log
Import: Release 11.2.0.1.0 - Production on 星期一 3月 17 22:08:29 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01"
启动 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** dumpfile=expdat.dmp directory=dump_dir transport_datafiles=D:appManganeseoradataorcltest01.dbf logfile=tts_import.log
处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123: 数据泵可传输的表空间作业中止
ORA-29345: 无法使用不兼容的字符集将表空间插入到数据库中
作业 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" 因致命错误于 22:08:30 停止


    
 
 

您可能感兴趣的文章:

  • Linux下Oracle传输表空间高手支招
  • [Oracle] Data Guard 之 Redo传输详解
  • oracle查看表空间已分配和未分配空间的语句分享
  • shell脚本操作oracle删除表空间、创建表空间、删除用户
  • oracle 创建表空间步骤代码
  • oracle增加表空间大小两种实现方法
  • RedHat8上解压Oracle9磁盘丢失磁盘空间,请大虾帮忙!
  • ORACLE数据库空间整理心得
  • oracle9i 在 redhat7.3 上安装临时目录空间不够.
  • Oracle 10g创建表空间和用户并指定权限
  • Oracle释放undo表空间
  • HTML教程 iis7站长之家
  • 在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,