ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 跨平台传输表空间

跨平台传输表空间

原创 Linux操作系统 作者:g644516804 时间:2011-11-02 14:52:17 0 删除 编辑

cross-Platform. Tranportable tablespace:convert

Oracle 10g支持手工跨平台移动数据库,即使这些数据库的尾数格式(endian format)不对。尾数格式分为两种:litter和big。如果尾数格式不同,则需要手动的利用rman convert tablespace或rman 的 convert datafile进行格式转换

只有尾数格式相同的可以利用rman convert database 跨平台迁移,

例:源db linux x84,目标 db AIX

1.      查看source db 尾数格式

SQL> select endian_format from v$transportable_platform. tp, v$database d where tp.platform_name=d.platform_name;

 

ENDIAN_FORMAT

--------------

Litter

查看目的db的尾数格式,为big.由于尾数格式不一样,则需要手动转换

2.      查看转换的类型

SQL>Select * from v$transportable_platform;

3.      转移前准备,查看该tablespace 与其他tablespace 是否有关联,在source db

SQL>execute dbms_tts.transport_set_check(‘test2’,incl_constraints=>true);

SQL>select * from transport_set_violations;

--查看test2表空间在外键属性上是否自我包含(没有数据)

SQL>execute dbms_tts.transport_set_check(‘test2’,full_check=>true);

SQL> select * from transport_set_violations;

SQL>execute dbms_tts.transport_set_check(‘test1,test2’,incl_constraints=>true);

--查看test1 test2表空间与其他表空间是否与关联

SQL> execute dbms_tts.transport_set_check(‘test1,test2’,full_check=>true);

SQL> select * from transport_set_violations;

4.      Alter tablespace test2 read only;

5.      转换表空间格式为目标AIX格式

$rman target / nocatalog

RMAN> convert tablespace test2 to platform. 'AIX-Based Systems (64-bit)' db_file_name_convert='/oradata/test2.dbf','/tmp/test.dbf';

Format=’/tmp/test_%u.bak’;--或者利用format

Db_file_name_convert 文件路劲转换(可以用于使得在目的数据库中不需要利用convert datafile)

6.      Exp metadata

Exp \’sys/oracle as sysdba\’ file=test.dmp transport_tablespace=y tablesapce_name=test

7.      Cp metadata and datafile

ftp test.dmp to /ora105/oradata

ftp test.dbf to /tmp/test.dbf

利用format: ftp /tmp/xxx.bak /ora105/oradata/xxx.bak(ftp到任何目录,在转换)

8.      Convert datafile on destination

$rman target /

RMAN> convert datafile '/tmp/test2.dbf' db_file_name_convert='/tmp/test2.dbf','/ora105/oradata/test2.dbf';

9.      On destination

SQL>imp \’sys/oracle as sysdba\’ file=test.dmp fromuser=test2 touser=test2

Transport_tablespace=y datafiles=’ /ora105/oradata/test2.dbf’;

10.  Alter tablespace test2 read write;

11.  Select tablespace_name,file_name from dba_data_files where tablespace_name=’TEST2’;

TABLESPACE_NAME     FILE_NAME

------------------------------ ------------------------------------

TEST2               /ora105/oradata/test2.dbf

 

 

--附加:conver tablespace在source转换

Rman>convert tablesapce tablesapce_name platform=’XXX’

Db_file_name_convert=’/XXX’,’/xxx’;

Format xxx

Conver datafile 在destination db转换

RMAN> convert datafile '/tmp/test2.dbf' db_file_name_convert='/tmp/test2.dbf','/ora105/oradata/test2.dbf';

Oracle 文檔:http://www.di.unipi.it/~ghelli/didattica/bdldoc/B19306_01/backup.102/b14194/rcmsynta018.htm#RCMRF192

Oracle® Database Backup and Recovery Advanced User's Guide

 

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24849178/viewspace-710106/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: SMT migration
请登录后发表评论 登录
全部评论

注册时间:2011-03-04

  • 博文量
    104
  • 访问量
    271258