收藏本站 
广告服务 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
利用RMAN将数据库转换到不同平台上
[ 作者:佚名    转贴自:网络转载    阅读次数:89    更新时间:2007-4-16 20:32:00   录入:刘光勇 ]         
    可传送的tablespace特性——直接在Oracle实例之间复制数据文件,而不卸载和加载数据——是在Oracle 8i中引入的,并从那时开始成为一种功能性。一开始,要转移的tablespace和目的数据库必须要具有相同大小的模块。Oracle 9i中增加的多种模块大小的支持克服了这种局限性。现在,在Oracle 10g中,平台的限制也在很大程度上被解决了。

恢复管理器(Recovery Manager,RMAN)程序中包括了一个新的CONVERT(转换)命令,你可以将其用来进行平台间的移动。小到一个数据文件,大到整个数据库,都可以在这个命令的帮助下完成传送。

在平台间移动,经常需要进行转换的原因就在于计算机以不同的方式储存多字节数字。Endianness(字节顺序)这个术语所描述的就是这个,主要的两种组合是big-endian(随着内存地址的递增,值从高到低排列)和small-endian(随着内存地址的递增,值从低到高排列)。要正确地解释tablespace中的数据,字节要根据所用的操作系统平台正确有序排列。

视图V$TRANSPORTABLE_PLATFORM列出了RMAN可以转换的平台。每一个都有一个平台名称和字节顺序格式。通过从这个视图中选择,你可以看到源实例和目的实例是否使用相同的字节顺序。

CONVERT命令复制文件,而不是就地对它们进行操作,这样就更加安全,但是需要有足够的额外硬盘空间来保存这两种形式。

CONVERT命令主要有三种形式:

CONVERT TABLESPACE只用在源系统中,将所请求的tablespace中所有的数据文件转换成目标平台的格式。

CONVERT DATAFILE只用在目的系统中,如果CONVERT TABLESPACE没有用在源系统中的话(或者需要转换文件名),因为被传送的数据文件还没有和tablespace相关联,所以它们必须作为数据文件被转换。

CONVERT DATABASE转换其它结构,如未完成片段、参数文件以及所有的参数tablespace。控制文件和重做日志文件被重建。仅对于这一选择来说,源系统和目标系统必须具有相同的字节顺序。

即使两个系统使用相同的字节顺序,你仍然可以从CONVERT命令获益。FORMAT(格式化)子句使你能够转换路径名,还有一个用处就是从ASM硬盘组复制数据文件和将数据文件拷入其中。

Z:>rman

Recovery Manager: Release 10.2.0.1.0 - Production on Wed Jan 3 21:00:46 2007

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

RMAN> connect target sys/password@orcl

connected to target database: ORCL (DBID=1106543623)

RMAN> SQL 'ALTER TABLESPACE users READ ONLY';

using target database control file instead 
of recovery catalogsql statement: ALTER TABLESPACE users READ ONLY

RMAN> CONVERT TABLESPACE users
2> TO PLATFORM 'IBM zSeries Based Linux';

Starting backup at 03-JAN-07
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=145 devtype=DISK
channel ORA_DISK_1: starting datafile conversion
input datafilefno=00004 name=C:ORACLEPRODUCT.2.0ORADATAORCLUSERS01.DBF
converted datafile=C:ORACLEPRODUCT.2.0DB_1DATABASEDATA_D-ORCL_I-11065436
23_TS-USERS_FNO-4_01I6JT63
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:03
Finished backup at 03-JAN-07

RMAN> SQL 'ALTER TABLESPACE users READ WRITE';
sql statement: ALTER TABLESPACE users READ WRITE

RMAN> exit


Recovery Manager complete.
Z:>

列表A

列表A显示的是一个在Windows平台源系统(little-endian)中RMAN会话的例子,将USERS tablespace转化为IBM z系列目的系统(big-endian)。最初tablespace被设为只读,使用RMAN SQL命令。然后,CONVERT语句把文件复制到闪电恢复区并将其转换。最后,源tablespace被返回为读/写状态。此时,被复制的文件就可以被复制到目的服务器了。

上一篇:探索SQL用户自定义数据类型  下一篇: eDNA数据库及其数据处理技术深入研究  

网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号