zoukankan      html  css  js  c++  java
  • oracle操作之传输表空间

    一、传输表空间概述
    什么是传输表空间,传输表空间技术始于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、如果是跨平台的表空间传输,需要检查两个平台支持的字节存储顺序,检查方法见如上文所述,如果可以确定源数据库和目标数据库属于同一平台,可以省略此步骤;
    SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
      FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
      WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
    2、选择自包含的(self-contained)表空间,这里的限制相对于使用数据泵来说比较变态,实验中将会有一些粗略的介绍。
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('TBS_SINGLE',true);
    PL/SQL 过程已成功完成。
    SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
    未选定行
    说明表空间是自包含的。
     
    3、将源数据库上的选定表空间修改为read-only状态,使用expde工具生成传输表空间(集)。      //在这一步,如果两个平台间的字节存储次序不同,还需完成字节存储次序的转换
    4、传输表空间及与表空间对应数据文件 (使用操作系统命令、ftp命令等方式)到目标数据库。    //字节存储次序的转换也可以在这一步完成
    5、将源数据库的表空间恢复为read-write状态(可选)
    6、在目标数据库,使用impdp工具导入表空间(集)
  • 相关阅读:
    双主双写、只备份某些表且要在建表ID自增
    我的系统资源呢?php-fpm你知道吗?
    apache常用的两种工作模式 prefork和worker
    Binlog的三种模式
    Tomcat
    JVM初识、调优
    httpclient 3.1跳过https请求SSL的验证
    POM报错Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from
    eclipse快捷键,移动和复制一段代码
    org.codehaus.jettison.json.JSONObject使用方法
  • 原文地址:https://www.cnblogs.com/willsun8023/p/5071146.html
Copyright © 2011-2022 走看看