Oracle10g新增CONVERT语法


从10g开始,RMAN新增了CONVERT的语法,使得数据库文件可以跨版本复制,从这个特性开始,操作系统以及平台不再是数据库物理文件的限制了。

   Oracle支持的可转换的平台可以在V$TRANSPORTABLE_PLATFORM视图中查询:


SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM;
            PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
            ----------- ---------------------------------------- --------------
            1 Solaris[tm] OE (32-bit) Big
            2 Solaris[tm] OE (64-bit) Big
            7 Microsoft Windows IA (32-bit) Little
            10 Linux IA (32-bit) Little
            6 AIX-Based Systems (64-bit) Big
            3 HP-UX (64-bit) Big
            5 HP Tru64 UNIX Little
            4 HP-UX IA (64-bit) Big
            11 Linux IA (64-bit) Little
            15 HP Open VMS Little
            8 Microsoft Windows IA (64-bit) Little
            9 IBM zSeries Based Linux Big
            13 Linux 64-bit for AMD Little
            16 Apple Mac OS Big
            12 Microsoft Windows 64-bit for AMD Little
            17 Solaris Operating System (x86) Little
            18 IBM Power Based Linux Big
            20 Solaris Operating System (AMD64) Little
            19 HP IA Open VMS Little
   已选择19行。

   Oracle支持将数据文件转换为这些平台上的数据文件格式。


SQL> host
            $ rman target /
   恢复管理器: Release 10.2.0.3.0 - Production on 星期四 3月 5 01:36:55 2009

   Copyright (c) 1982, 2005, Oracle. All rights reserved.

   连接到目标数据库: TESTRAC (DBID=4291216984)

   RMAN> convert tablespace 'TEST' to platform 'Linux 64-bit for AMD'

   2> format '/data/backup/%T_%n_%N.dbf';

   启动 backup 于 05-3月 -09使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=310 实例=testrac1 devtype=DISK分配的通道: ORA_DISK_2通道 ORA_DISK_2: sid=292 实例=testrac2 devtype=DISK

   MAN-00571: ===========================================================

   RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

   RMAN-00571: ===========================================================

   RMAN-03002: backup 命令 (在 03/05/2009 01:40:55 上) 失败

   RMAN-06599: 表空间 TEST 不是只读的

   CONVERT要求目标表空间是只读的:


SQL> host
            $ rman target /
   恢复管理器: Release 10.2.0.3.0 - Production on 星期四 3月 5 01:42:20 2009

   Copyright (c) 1982, 2005, Oracle. All rights reserved.

   连接到目标数据库: TESTRAC (DBID=4291216984)

   RMAN> convert tablespace 'TEST'

   2> to platform 'Linux 64-bit for AMD'

   3> format '/data1/backup/%T_%n_%N.dbf';

   启动 backup 于 05-3月 -09使用通道 ORA_DISK_1使用通道 ORA_DISK_2通道 ORA_DISK_1: 启动数据文件转换输入数据文件 fno=00008 name=+DISK/testrac/datafile/test01.dbf已转换的数据文件 = /data1/backup/20090305_TESTRACx_TEST.dbf通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:07完成 backup 于 05-3月 -09

   这个生成的文件20090305_TESTRACx_TEST.dbf文件就可以在Linux X86 for 64环境中进行迁移表空间的导入,或者指向备份恢复操作。

   当然CONVERT语法远远不止上面提到的,可以进行数据文件、表空间甚至数据库的转换,同时各种限制条件也远远不只上面提到的,比如CONVERT数据库就不能直接跨越不同的编码方式。

   在文档中提到CONVERT语法还有一个功能,由于绝大部分操作系统命令都无法直接访问ASM中的数据文件,因此可以利用CONVERT将ASM中的文件拷贝的操作系统中:

   RMAN> convert tablespace 'TEST'

   2> format '/data1/backup/test01.dbf';

   启动 backup 于 05-3月 -09使用通道 ORA_DISK_1使用通道 ORA_DISK_2通道 ORA_DISK_1: 启动数据文件转换输入数据文件 fno=00008 name=+DISK/testrac/datafile/test01.dbf已转换的数据文件 = /data1/backup/test01.dbf通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:03完成 backup 于 05-3月 -09不过这种方式其实还不如直接使用RMAN的COPY命令,因为COPY命令没有将表空间置于只读状态的限制。



相关阅读:
Asp.net Mvc Framework 六 (更多的View传值及显示方式)
用javascript实现select的美化
系统技巧 制作闪存启动盘的思路
ORM中的继承关系映射全解
字符批量替换程序asp服务器版
数据字典表Truncate掉将导致数据库不可用
PHP基础知识总结
asp加密解密函数decrypt
IE6下网页制作参考:IE6的默认样式
Ghost常用参数详解
JavaScript学习笔记(5)事件处理之事件流与事件处理函数分配
ie6,ie7,firefox的textarea滚动条、边框
PHP页面间传递参数实例代码
IE8、IE7、IE6、FF简单的CSS HACK测试
快速导航

Copyright © 2016 phpStudy |