点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > Oracle>详细内容

Oracle10g新增CONVERT语法

添加时间:2011-8-23
    相关阅读: 数据库 SQL Oracle Windows AI 系统 平台

从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命令没有将表空间置于只读状态的限制。

本文作者:未知
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册