当前位置:  数据库>oracle

Oracle 10g新特性之-跨平台表空间传输

    来源: 互联网  发布时间:2017-04-24

    本文导语: 1.准备工作: 查询源数据库平台信息 SQL> col platform_name for a40SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME; PLATFORM_NAME ENDIAN_FORMAT ---------------------------------------- -------...

1.准备工作:
 查询数据库平台信息

SQL> col platform_name for a40
SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;


PLATFORM_NAME ENDIAN_FORMAT
 ---------------------------------------- --------------
 Solaris[tm] OE (64-bit) Big

查询目标数据库平台信息

SQL> col platform_name for a40
 SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;


PLATFORM_NAME ENDIAN_FORMAT
 ---------------------------------------- --------------
 microsoft windows ia (32-bit) little

查询Oracle10g支持的平台转换

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











PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- ---------------------------------------- --------------
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




2.创建一个独立的自包含表空间

用于测试

$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on Tue Apr 27 14:04:08 2004

Copyright (c) 1982, 2004, Oracle.?All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options


SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/wwl/system01.dbf
/opt/oracle/oradata/wwl/undotbs01.dbf
/opt/oracle/oradata/wwl/sysaux01.dbf
/opt/oracle/oradata/wwl/users01.dbf
/data1/oradata/systemfile/wwl01.dbf
/opt/oracle/oradata/wwl/wwl/datafile/o1_mf_test_03xv34ny_.dbf
/opt/oracle/oradata/wwl/wwl/datafile/o1_mf_itpub_03xv5g66_.dbf







7 rows selected.

SQL> create tablespace trans
2?datafile '/data1/oradata/systemfile/trans01.dbf'
3?size 10M;

Tablespace created.

SQL> create user trans identified by trans
2?default tablespace trans;

User created.

SQL> grant connect,resource to trans;

Grant succeeded.

SQL> connect trans/trans
Connected.

SQL> create table test as select * from user_objects;

Table created.

SQL> select count(*) from test;

COUNT(*)
----------
1

SQL> select * from test;

OBJECT_NAME
--------------------------------------------------------------------------------
SUBOBJECT_NAME?OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
------------------------------ ---------- -------------- -------------------
CREATED?LAST_DDL_TIM TIMESTAMP?STATUS?T G S
------------ ------------ ------------------- ------- - - -
TEST
15604?15604 TABLE
27-APR-04?27-APR-04?2004-04-27:14:05:42 VALID?N N N








SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data



3.导出传输的表空间

$ pwd
 /opt/oracle
 $ cd dpdata
 $ ls
 $ expdp wwl/wwl dumpfile=trans.dmp directory=dpdata transport_tablespace=trans
 LRM-00101: unknown parameter name 'transport_tablespace'




$ expdp wwl/wwl dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans

Export: Release 10.1.0.2.0 - 64bit Production on Tuesday, 27 April, 2004 14:07

Copyright (c) 2003, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
 With the Partitioning, OLAP and Data Mining options
 Starting "wwl"."SYS_EXPORT_TRANSPORTABLE_01": wwl/******** dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans
ORA-39123: Data Pump transportable tablespace job aborted
 ORA-29335: tablespace 'TRANS' is not read only



Job "wwl"."SYS_EXPORT_TRANSPORTABLE_01" stopped due to fatal error at 14:08

注意:传输表空间必须置为只读状态

$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on Tue Apr 27 14:08:13 2004

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


 Connected to:
 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
 With the Partitioning, OLAP and Data Mining options


SQL> SunOS iis7站长之家 tablespace trans read only;

Tablespace altered.

SQL> exit
 Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
 With the Partitioning, OLAP and Data Mining options


 $ expdp wwl/wwl dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans

Export: Release 10.1.0.2.0 - 64bit Production on Tuesday, 27 April, 2004 14:08

Copyright (c) 2003, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
 With the Partitioning, OLAP and Data Mining options
 Starting "wwl"."SYS_EXPORT_TRANSPORTABLE_01": wwl/******** dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
 Processing object type TRANSPORTABLE_EXPORT/TABLE
 processing object type transportable_export/tte_postinst/plugts_blk
 Master table "wwl"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
 ******************************************************************************
 Dump file set for wwl.SYS_EXPORT_TRANSPORTABLE_01 is:
 /opt/oracle/dpdata/trans.dmp
 Job "wwl"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 14:09









4.使用rman转换文件格式


 $ rman target /

Recovery Manager: Release 10.1.0.2.0 - 64bit Production

Copyright (c) 1995, 2004, Oracle. All rights reserved.

connected to target database: wwl (DBID=1337390772)

RMAN> convert tablespace trans
 2> to platform 'Microsoft Windows IA (32-bit)'
 3> Format '/tmp/%U';

Starting backup at 27-APR-04
 using target database controlfile instead of recovery catalog
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: sid=148 devtype=DISK
 channel ORA_DISK_1: starting datafile conversion
 input datafile fno=00008 name=/data1/oradata/systemfile/trans01.dbf
 converted datafile=/tmp/data_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg
 channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
 Finished backup at 27-APR-04







RMAN> exit


 Recovery Manager complete.

5.确认导出文件生成

$ ls /tmp/data*
 /tmp/data_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg
 $ ls -l /tmp/data*
 -rw-r----- 1 oracle dba 10493952 Apr 27 14:12 /tmp/data_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg
 $ chmod 777 /tmp/data*
 $ chmod 777 /opt/oracle/dpdata/*




6.通过ftp传输文件至目标主机

220 billing-center.hurray.com.cn FTP server (SunOS 5.8) ready.
 user (192.168.96.10none)): gqgai
 331 Password required for gqgai.
 Password:
 230 User gqgai logged in.
 ftp> bin
 200 Type set to I.
 ftp> cd /tmp
 250 CWD command successful.
 ftp> mget data*
 200 Type set to I.
 mget data_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg? y
 200 PORT command successful.
 150 Binary data connection for data_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg (192.168.96.5,2885) (10493952 bytes).
 226 Binary Transfer complete.
 ftp: 10493952 bytes received in 15.90Seconds 659.87Kbytes/sec.
 ftp> cd /opt/oracle/dpdata
 250 CWD command successful.
 ftp> ls
 200 PORT command successful.
 150 ASCII data connection for /bin/ls (192.168.96.5,2889) (0 bytes).
 export.log
 trans.dmp
 226 ASCII Transfer complete.
 ftp: 23 bytes received in 0.01Seconds 2.30Kbytes/sec.
 ftp> bin
 200 Type set to I.
 ftp> mget trans.dmp
 200 Type set to I.
 mget trans.dmp? y
 200 PORT command successful.
 150 Binary data connection for trans.dmp (192.168.96.5,2893) (73728 bytes).
 226 Binary Transfer complete.
 ftp: 73728 bytes received in 0.03Seconds 2457.60Kbytes/sec.
 ftp> bye
 221 Goodbye.



































 7.使用rman在目标数据库转换文件

E:Oracleoradatawwldpdata>rman target /

恢复管理器: 版本10.1.0.2.0 - Production

Copyright (c) 1995, 2004, Oracle. All rights reserved.

连接到目标数据库: wwl (DBID=1587222708)


 RMAN> CONVERT DATAFILE 'E:Oracleoradatawwldpdatadata_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg'
 2> DB_FILE_NAME_CONVERT
 3> 'E:Oracleoradatawwldpdatadata_D-wwl_I-1337390772_TS-TRANS_FNO-8_01fk92hg','E:OracleoradatawwlwwlDATAFILEtrans01.dbf';


启动 backup 于 27-4月 -04
 使用通道 ORA_DISK_1
 通道 ORA_DISK_1: 启动数据文件转换
 输出文件名=E:ORACLEORADATAwwlDPDATADATA_D-wwl_I-1337390772_TS-TRANS_FNO-8_01FK92HG
 已转换的数据文件 = E:ORACLEORADATAwwlwwlDATAFILETRANS01.DBF
 通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:04
 完成 backup 于 27-4月 -04





RMAN>


8.在目标数据库plugin数据文件

注意目标数据库中的目标用户必须存在,否则会报错.

E:Oracleoradatawwldpdata>impdp wwl/wwl dumpfile=trans.dmp directory=dpdata transport_datafiles='E:Oracleorad
 atawwlwwlDATAFILETRANS01.DBF'

Import: Release 10.1.0.2.0 - Production on 星期二, 27 4月, 2004 15:02

Copyright (c) 2003, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options
 已成功加载/卸载了主表 "wwl"."SYS_IMPORT_TRANSPORTABLE_01"
 启动 "wwl"."SYS_IMPORT_TRANSPORTABLE_01": wwl/******** dumpfile=trans.dmp directory=dpdata transport_datafiles='E:
 OracleoradatawwlwwlDATAFILETRANS01.DBF'
 处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
 ORA-39123: 数据泵可传输的表空间作业中止
 ORA-29342: 数据库中不存在用户 TRANS






作业 "wwl"."SYS_IMPORT_TRANSPORTABLE_01" 因致命错误于 15:02 停止


 E:Oracleoradatawwldpdata>sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 星期二 4月 27 15:03:03 2004

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


 连接到:
 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options


SQL> create user trans identified by trans;

用户已创建。

SQL> grant connect,resource to trans;

授权成功。

SQL> exit
 从 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options 断开

E:Oracleoradatawwldpdata>impdp wwl/wwl dumpfile=trans.dmp directory=dpdata transport_datafiles='E:Oracleorad
 atawwlwwlDATAFILETRANS01.DBF'

Import: Release 10.1.0.2.0 - Production on 星期二, 27 4月, 2004 15:03

Copyright (c) 2003, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options
 已成功加载/卸载了主表 "wwl"."SYS_IMPORT_TRANSPORTABLE_01"
 启动 "wwl"."SYS_IMPORT_TRANSPORTABLE_01": wwl/******** dumpfile=trans.dmp directory=dpdata transport_datafiles='E:
 OracleoradatawwlwwlDATAFILETRANS01.DBF'
 处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
 处理对象类型 TRANSPORTABLE_EXPORT/TABLE
 处理对象类型 TRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLK
 作业 "wwl"."SYS_IMPORT_TRANSPORTABLE_01" 已于 15:03 成功完成







9.检查数据

E:Oracleoradatawwldpdata>sqlplus trans/trans

SQL*Plus: Release 10.1.0.2.0 - Production on 星期二 4月 27 15:03:50 2004

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


 连接到:
 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options


SQL> select count(*) from test;

COUNT(*)
 ----------
 1

SQL> exit
 从 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options 断开

E:Oracleoradatawwldpdata>

可以选择把表空间更改为读写

SQL> alter tablespace trans read write;

表空间已更改。


10.总结

10g的表空间跨平台迁移,较9i就是增加了一个使用Rman进行的文件格式转换的过程.
 实际上也就是转换了数据文件头的格式信息而已.


-The End-

更多Oracle相关信息见 专题页面


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle查看表空间已分配和未分配空间的语句分享
  • shell脚本操作oracle删除表空间、创建表空间、删除用户
  • oracle 创建表空间步骤代码
  • oracle增加表空间大小两种实现方法
  • RedHat8上解压Oracle9磁盘丢失磁盘空间,请大虾帮忙!
  • ORACLE数据库空间整理心得
  • oracle9i 在 redhat7.3 上安装临时目录空间不够.
  • Oracle 10g创建表空间和用户并指定权限
  • Oracle释放undo表空间
  • oracle 创建表空间详细介绍
  • 在linux下装oracle9i到了最后时候,提示/tmp空间不够了,怎么增加,谢谢!
  • 查看修改Oracle10G归档日志空间的限制
  • [小技巧]手工扩大Oracle数据库表空间的方法
  • Oracle回滚段空间回收步骤
  • Oracle数据库手工扩大表空间的方法
  • Oracle tablespace表空间调整
  • 新手求助:RedHat安装oracle 11g 检测空间不足
  • Oracle安装过程中物理内存检查及临时temp空间不足问题解决
  • Oracle 10g表空间创建的完整步骤
  • oracle表空间中空表统计方法示例介绍
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,