设为首页 收藏本站
查看: 561|回复: 0

[经验分享] 跨平台传输表空间概述

[复制链接]
累计签到:278 天
连续签到:1 天
发表于 2017-8-23 11:47:44 | 显示全部楼层 |阅读模式
使用跨平台传输表空间,平台之间可以是不同的字节存储顺序(endian format)。当源平台和目的地平台的字节存储顺序不同,源平台要传输表空间下的数据文件的字节
存储顺序必须转换成和目的地平台相同。转换操作使用 RMAN CONVERT TABLESPACE 命令(在源平台转换)或者 CONVERT DATAFILE 命令(在目的地平台转换)。
    注:CONVERT TABLESPACE命令必须用在源平台,CONVERT DATAFILE命令用在目的地平台。

1.在源平台使用 CONVERT TABLESPACE... TO PLATFORM 命令:
    CONVERT TABLESPACE... TO PLATFORM命令用于在源平台转换表空间到目的地平台格式。在源平台数据库调用CONVERT TABLESPACE命令指定一个或更多表空间名称,
例如:RMAN> CONVERT TABLEPSACE ts_1, ts_2 ... TO PLATFORM 'platform_name';
    platform_name支持的值可以从 V$TRANSPORTABLE_PLATFORM 查询到。在源平台必须转换整个表空间,不能只转换一个数据文件。
    CONVERT TABLESPACE ... TO PLATFORM包含如下可选参数:
        PARALLELISM n: 用于指定n个服务器会话并行执行转换工作,以提升性能。每个数据文件只能分配一个单独的服务器会话进行转换,因此,不能通过分配一个大并行度
        转换单一数据文件来提升性能。
        fileNameConversionSpec: 指定使用fileNameConversionSpec参数,用于对转换的数据文件生成新的文件名。
        FORMAT formatSpec: 提供一个格式模板用于对转换的数据文件生成新的,唯一的文件名。如果没有指定FORMAT,RMAN使用和平台相关的目的地和格式。

    下面在源平台转换表空间的例子:
    1)设置传输表空间为只读模式
    2)在V$TRANSPORTABLE_PLATFORM中查看目的地平台的名称
        SELECT PLATFORM_ID, PLATFORM_NAME, ENDIAN_FORMAT
        FROM V$TRANSPORTABLE_PLATFORM
        WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX';
    针对Linux在PC上的PLATFORM_NAME是'Linux IA (32bit)'
    3)使用CONVERT TABLESPACE转换命令
        使用 RMAN 转换数据文件到目的地平台的字节存储顺序,FORMAT参数控制转换后数据文件的名称和位置:
        RMAN> CONVERT TABLESPACE finance,hr
            TO PLATFORM 'Linux IA (32-bit)'
            FORMAT='/tmp/transport_linux/%U';
        转换后的数据文件被放在/tmp/transport_linux目录,数据和目的地系统的字节存储顺序相同。
    4)使用导出工具创建导出dump文件
    5)移动转换后的文件和导出的dump文件到目的地平台主机
    6)使用导入工具插入表空间到新数据库
    7)修改表空间为读写模式

2.在目的地主机使用 CONVERT DATAFILE... FROM PLATFORM 命令:
    CONVERT DATAFILE ... FROM PLATFORM用于在目的地平台转换源平台的表空间字节存储顺序。不能在目的地平台使用CONVERT TABLESPACE。
    CONVERT DATAFILE 命令可以跟上一个或多个需要转换的数据文件,例如:
        RMAN> CONVERT DATAFILE datafile_1, datafile_2 ...
            FROM PLATFORM 'platform_name';
    提供的FROM PLATFORM值必须匹配待转换数据文件的真实平台,否则RMAN返回一个错误,platform_name支持的值可以从V$TRANSPORTABLE_PLATFORM查询到。
    PARALLELISM、FORMAT、fileNameConversionSpec参数和CONVERT TABLESPACE在源平台用法是相同的。

    下面是在目的地平台转换数据文件的例子:
    1)在源库将需要转换的表空间设置为只读模式,表空间对应的数据文件包括:
        /tmp/transport_solaris/fin/fin01.dbf
        /tmp/transport_solaris/fin/fin02.dbf
        /tmp/transport_solaris/hr/hr01.dbf
        /tmp/transport_solaris/hr/hr02.dbf
    2)在源库使用导出工具创建dump文件
    3)拷贝dump文件和数据文件到目的地
    4)使用 RMAN CONVERT 命令转换数据文件到目标主机格式,将转换后的数据文件存放在/orahome/dbs目录
        RMAN> CONVERT DATAFILE
            '/tmp/transport_solaris/fin/fin01.dbf',
            '/tmp/transport_solaris/fin/fin02.dbf',
            '/tmp/transport_solaris/hr/hr01.dbf',
            '/tmp/transport_solaris/hr/hr02.dbf'
            DB_FILE_NAME_CONVERT
            '/tmp/transport_solaris/fin','/orahome/dbs/fin',
            '/tmp/transport_solaris/hr','/orahome/dbs/hr';
        注意: a)FORMAT参数控制数据文件的名称和位置。
            b)当在目的地平台转换数据文件时,必须使用FROM PLATFORM参数指定源平台。否则,RMAN将假设源和目的地平台字节存储顺序是相同的。
    5)使用导入工具插入转换后的表空间到新的数据库
    6)修改表空间为读写模式.
    对于跨平台传输表空间而言,如果源平台和目的地平台的字节存储顺序是相同,那么可以不必执行CONVERT TABLESPACE或CONVERT DATAFILE进行转换,直接简单拷贝即可。

3.CONVERT TABLESPACE 和 CONVERT DATAFILE限制:
    a)源和目的地数据库的COMPATIBLE初始化参数必须设置为10.0或者更高
    b)不是所有源和目的地平台的组合都是支持的,确定源和目的地平台是否被支持需要查询V$TRANSPORTABLE_PLATFORM。如果源和目的地都在该视图列表中,那么
CONVERT 能用于一个平台到另一个平台的转换。
    c)在10g版本,使用CONVERT命令将表空间传递到另一个平台之前必须至少一次被设置为读写模式
    d)RMAN的endian转换不能处理用户自定义数据类型
    e)10g之前的版本,CLOBs以可变长度字符集创建,并且依赖字节存储顺序存储,CONVERT 命令不能执行CLOBs的转换,RMAN捕获每个LOB字段的字节存储顺序,
传输它到目的地数据库。之后通过SQL层读写这个数据,基于两者之一的字节存储顺序正确翻译数据,如果表空间可写,那么基于相关字节存储顺序写数据
    f)在Oracle Database 10g创建的CLOBs,存储在AL16UTF16字符集中,具有平台独立性


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-403390-1-1.html 上篇帖子: Oracle 12cR2 RAC+ASM安装 下篇帖子: oracle数据库免费基础知识精讲视频分享!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表