Oracle10g 跨平台传输表空间
Oracle 传输表空间(Transportable Tablespaces) 跨操作系统迁移表空
这篇演示endianness格式相同的跨操作系统的迁移,测试环境如下:Source 端:操作系统:Oracle Linux 6.1 32位endianness格式: little数据库版本:11.2.0.3Target 端:操作系统:OracleLinux 6.1 64位endianness 格式: little数据库版本:11.2.0.31. 查看endianness格式查看endianness 格式,可以使用如下命令:SQL> col platform_name for a40SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM ORDER BY PLATFORM_NAME;PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT--------------------------------------------------- --------------6 AIX-Based Systems (64-bit) Big16 Apple Mac OS Big21 Apple Mac OS (x86-64) Little19 HP IA Open VMS Little15 HP Open VMS Little5 HP Tru64 UNIX Little3 HP-UX (64-bit) Big4 HP-UX IA (64-bit) Big18 IBM Power Based Linux Big9 IBM zSeries Based Linux Big10 Linux IA (32-bit) LittlePLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT--------------------------------------------------- --------------11 Linux IA (64-bit) Little13 Linux x86 64-bit Little7 Microsoft Windows IA (32-bit) Little8 Microsoft Windows IA (64-bit) Little12 Microsoft Windows x86 64-bit Little17 Solaris Operating System (x86) Little20 Solaris Operating System (x86-64) Little1 Solaris[tm] OE (32-bit) Big2 Solaris[tm] OE (64-bit) Big20 rows selected.从上面的查询结果来看,基本都是little 类型的endianness,或者:SQL> SELECT d.PLATFORM_NAME,ENDIAN_FORMAT2 FROM V$TRANSPORTABLE_PLATFORMtp, V$DATABASE d3 WHERE tp.PLATFORM_NAME =d.PLATFORM_NAME;PLATFORM_NAME ENDIAN_FORMAT------------------------------------------------------Linux IA (32-bit) LittleSQL> SELECT d.PLATFORM_NAME,ENDIAN_FORMAT2 FROM V$TRANSPORTABLE_PLATFORMtp, V$DATABASE d3 WHERE tp.PLATFORM_NAME =d.PLATFORM_NAME;PLATFORM_NAME ENDIAN_FORMAT------------------------------------------------------Linux x86 64-bit Little2. Source上创建测试表空间这里创建表空间,并在该表空间上创建几个自包含的对象,即对象的内容都在这个表空间里,和其他表空间没有关联。
快速实现Oracle传输表空间功能
Oracle传输表空间功能,用来将一个实例中的表空间和数据文件移到另一个实例中。
执行起来方便,快捷。
但是要使用该功能有一些限制:需要两个平台一致。
必须有相同的字符集和多语言字符集。
要求两个实例的db block size 大小相等,如不相等则需要兼容9.0以上等。
具体步骤如下:1.SQL> alter tablespace example read only;2.Tablespace altered3.SQL> --example表空间试验4.SQL> connect sys/system as sysdba5.Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.06.Connected as SYS7.SQL> execute dbms_tts.transport_set_check('EXAMPLE',TRUE);8.PL/SQL procedure successfully completed9.SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;10.VIOLATIONS11.SQL> --如果上面的查询可以查到记录,则说明不适合表空间传输条件, 需要根据实际12.SQL> --情况将对象移到别的表空间;13.SQL>连接到: Oracle Database 10g Enterprise Edition Release 10。
1。
0。
2。
0 - Production With the Partitioning, OLAP and Data Mining options已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集注: 将不导出表数据 (行)即将导出可Oracle传输表空间元数据。
oracle数据库接口数据传输原理
oracle数据库接口数据传输原理Oracle数据库接口数据传输的原理主要包括以下几个方面:1. 会话建立:客户端通过自己的网络配置文件连接到数据库所在服务器的监听程序,由监听程序验证通过后催生的服务器进程连接到客户端,服务器进程对客户端进行的用户名和口令的验证通过后,会话就建立起来了,用户就可以进行正常的事务处理了。
2. 事务执行:服务器进程收到用户的SQL文本后,首先验证用户操作的数据库对象是否存在,SQL语句是否符合PL/SQL规范。
通过后,服务器进程通过软解析或硬解析获得该SQL文本对应的执行计划。
获得执行计划后通过逻辑读或物理读找到所需的数据块的相关信息。
之后同时进行三项重要的工作:生成重做数据,生成还原数据,维护检查点队列。
以上工作完成后,Oracle通过操作系统的配合在CPU通用寄存器中进行运算,用返回的值对相应数据块进行修改。
3. 数据传输:Oracle提供了Exp/imp工具和数据泵工具(Expdp/impdp)来实现数据的导出和导入。
这些工具可以传输表空间的元数据,而包含实际数据的数据文件可以使用操作系统工具拷贝到目标数据库,不用卸载和装载数据,这是实现数据移动速度最快的工具。
4. 表空间传输:从Oracle 10g开始,Oracle提供了跨平台传输表空间的特性。
如果源平台与目标平台的字节顺序(endian format)不同,那么在传输表空间时,需要在源平台或目标平台转换要传输的表空间为目标平台的字节顺序格式。
此外,Oracle数据库计算目标数据库必须运行的最低兼容性级别,称为可传输表空间集的兼容性级别。
从Oracle 10g开始表空间可以传输到相同或更高级别的兼容性级别的目标数据库。
如需了解更多关于oracle数据库接口数据传输原理的信息,建议咨询专业人士获取帮助。
Oracle 移动表空间
Oracle 移动表空间使用EXPDP和IMPDP还可以实现移动表空间,即将表空间从一个数据库移动到另一个数据库中。
在Oracle 10g前,移动表空间只能在相同的操作系统平台之间进行。
在Oracle 11g中,不仅允许在相同平台之间移动表空间,而且允许在不同平台之间移动表空间。
通过查询动态性能视图V$TRANSPORTABLE_PLATFORM,可以显示在哪些OS平台之间可以移动表空间。
例如:SQL> select platform_name from v$transportable_platform;PLA TFORM_NAME----------------------------------------------------------Solaris[tm] OE (32-bit)Solaris[tm] OE (64-bit)Microsoft Windows IA (32-bit)Linux IA (32-bit)AIX-Based Systems (64-bit)HP-UX (64-bit)HP Tru64 UNIXHP-UX IA (64-bit)Linux IA (64-bit)HP Open VMSMicrosoft Windows IA (64-bit)IBM zSeries Based LinuxLinux 64-bit for AMDApple Mac OSMicrosoft Windows 64-bit for AMDSolaris Operating System (x86)IBM Power Based LinuxHP IA Open VMSSolaris Operating System (AMD64)已选择19行。
在Oracle 10g前,移动表空间是使用传统导出导入工具EXP和IMP实现的。
从Oracle 11g 开始,不仅可以使用传统导出导入工具EXP和IMP移动表空间,还可以使用数据泵导出导入工具EXPDP和IMPDP移动表空间,并且使用数据泵导出导入工具EXPDP和IMPDP的速度更快。
Oracle_表空间(数据文件)迁移
--表空间(数据文件)的迁移--【在线的操作方法-移动表空间的数据文件的路径(更改表空间数据文件的路径)】1.首先确定数据文件的状态要为OFFLINESQL> select tablespace_name,status,contents from dba_tablespaces;2.将该表空间修改为OFFLINE 【以users表空间为例】SQL> alter tablespace USERS offline;SQL> select tablespace_name,status,contents from dba_tablespaces; --查看表空间状态确定修改成功3.移动数据文件到新的路径[oracle@xxx ~]$ host copy /oracle/oradata/itpuxdb/itpux01.dbf/oracle/oradata/itpuxdb/itpux02.dbf;4.重新命名该表空间的新路径和名称(告诉数据库)SQL> alter tablespace users rename datafile'/oracle/oradata/itpuxdb/itpux01.dbf'to '/oracle/oradata/itpuxdb/itpux001.dbf';5.修改表空间的状态为ONLINE状态SQL> alter tablespace users online;---------------------------------------------------------------------------------------【离线的操作方法-移动数据文件-到其它目录】1.关闭数据库启动到模式下SQL> shutdown immediate;SQL> startup mount;2. 移动数据文件[oracle@xxx ~]$ host copy /oracle/oradata/itpuxdb/itpux01.dbf/oracle/oradata/itpuxdb/itpux02.dbf3. 重新命名(这里写更改数据库因为数据库没有起来就没有表空间)SQL> alter database rename file'/oracle/oradata/itpuxdb/itpux01.dbf'to'/oracle/oradata/itpuxdb/itpux001.dbf'4. 打开数据库SQL> alter database open5. 检查状态SQL> select * from dba_data_files where tablespace_name='ITPUX01';----------------------------------------------------------------------------------1.copy数据文件到其它目录【因为根目录撑爆,在数据库挂掉的情况下】2.启动startup mount;3.在mount模式下执行这两条命令alter database rename file'/oracle/app/oracle/oradata/ywxt1/undotbs01.dbf'to'/oradata/undotbs01.dbf';alter database rename file'/oracle/app/oracle/oradata/ywxt1/temp01.dbf'to'/oradata/temp01.dbf';4.启动数据库startup---------------------------------------------------------------------------------------把表和索引迁移其它的表空间1.查询该对象存放在哪个表空间select segment_name,tablespace_name,extents,blocks from dba_segments whereowner='SCUSER'2.查询该对象是索引,还是表select object_id,object_name,object_type,status,created from dba_objects whereowner='SCUSER'3.查询索引或者表存放在哪个表空间select index_name,table_name,tablespace_name,status from dba_indexes whereowner='SCUSER'4.移动表到另一个表空间alter table scuser.table01 move tablespace scdata025.查询该表是否移动到该表空间select segment_name,tablespace_name,extents,blocks from dba_segments whereowner='SCUSER'6.检查表是否有效(状态为 VALID 是有效)select object_id,object_name,object_type,status,created from dba_objects whereowner='SCUSER'7.重建索引并且将索引移动到另一个表空间alter index scuser.idx_table01_id rebuild tablespace scdata028.查询索引对应的表空间select index_name,table_name,tablespace_name,status from dba_indexes whereowner='SCUSER'9.如果表空间里面表有大字段?alter table USER.RESUME move lob(INTRO) store as(tablespace USER);。
Oracle10g的数据迁移方案(好文章要转)
Oracle10g的数据迁移方案(好文章要转)2008-07-07 11:31网上看到一个不错的文章,转帖给大家,包括传输表空间解决跨平台及endian-ness问题的处理方法找到将数据从仓库迁移到集市的最快方法。
Lora 是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。
这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。
会上提出的一种想法是创建几个小型数据集市--每个集市根据一个特定的职能范围存储数据--这样每个数据集市就可以由专门的团队来使用。
为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。
该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。
这就是Lora为什么出席会议的原因。
她会为移动数据提出哪些可供选择的方法呢?作为一名经验丰富、知识渊博的数据库管理员,Lora向与会者提供了三种可能的方法,分别是:使用可移动表空间使用数据泵(导入和导出)拖出表空间本文介绍Lora对这三种可选方法的解释,包括它们的实施细节和优缺点。
可移动表空间Lora 从可移动表空方法开始介绍。
把整个表空间移动到目标系统的最快速方法是用FTP(文件传输协议)或rcp(远程复制)来简单地转移表空间的基本文件。
但是,仅仅复制Oracle数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。
使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。
在考虑该方法之前必须进行一些审查。
首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained)。
也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。
Lora解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。
oracle 可传输表空间原理
oracle 可传输表空间原理Oracle可传输表空间是一种数据迁移技术,用于在不同的数据库实例之间迁移大容量的数据。
本文将详细介绍Oracle可传输表空间的原理和工作流程。
一、概述在Oracle数据库中,表空间是存储逻辑组织的数据对象(表、索引等)的物理存储文件的集合。
表空间由一个或多个数据文件(或数据文件组)组成,用于存储和管理数据。
Oracle可传输表空间技术允许将一个或多个表空间从一个数据库实例传输到另一个数据库实例,以完成数据迁移、备份恢复等操作。
二、传输表空间的工作原理1.表空间状态检查在进行表空间传输之前,需要先检查表空间的状态。
可以使用Oracle提供的DBA_TABLESPACES视图查询需要传输的表空间的状态信息,包括表空间名称、状态、数据文件信息等。
2.空闲空间管理在传输表空间之前,需要先进行空闲空间的管理。
这包括将表空间中的空闲块合并、移动、重新组织等操作,以提高数据的紧凑性和传输效率。
可以使用Oracle提供的段空间管理工具(如segment advisor)来进行空间管理。
3.传输表空间传输表空间的过程可以分为以下几个步骤:(1)打包:将表空间中的数据文件打包为一个压缩文件。
可以使用Oracle提供的数据泵工具(如expdp)来执行这个操作。
(2)传输:将打包好的压缩文件传输到目标数据库实例。
传输可以通过网络、外部存储设备、物理传输等方式进行。
(3)解包:将传输过来的压缩文件解包为数据文件。
可以使用Oracle提供的数据泵工具(如impdp)来执行这个操作。
(4)还原:将解包后的数据文件还原到目标数据库实例中。
还原操作会根据数据文件的结构和信息,在目标数据库中创建相应的表空间和数据文件。
4.完成表空间传输完成表空间传输之后,需要进行一些后续操作,包括更新数据库中的元数据信息、重新生成数据库的统计信息等。
这些操作可以通过执行相应的SQL语句或使用Oracle提供的工具来完成。
Oracle10g 跨平台传输表空间
Oracle10g 跨平台传输表空间1. 准备工作:查询源数据库平台信息SQL> col platform_name for a40SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME; PLATFORM_NAME ENDIAN_FORMAT---------------------------------------- --------------Solaris[tm] OE (64-bit) Big查询目标数据库平台信息SQL> col platform_name for a40SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d3 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) Big2 Solaris[tm] OE (64-bit) Big7 Microsoft Windows IA (32-bit) Little10 Linux IA (32-bit) Little6 AIX-Based Systems (64-bit) Big3 HP-UX (64-bit) Big5 HP Tru64 UNIX Little4 HP-UX IA (64-bit) Big11 Linux IA (64-bit) Little15 HP Open VMS Little8 Microsoft Windows IA (64-bit) Little9 IBM zSeries Based Linux Big13 Linux 64-bit for AMD Little16 Apple Mac OS Big12 Microsoft Windows 64-bit for AMD Little2. 创建一个独立的自包含表空间创建一个独立的自包含表空间用于测试:$ 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 ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> select name from v$datafile;NAME--------------------------------------------------------------------/opt/oracle/oradata/eygle/system01.dbf/opt/oracle/oradata/eygle/undotbs01.dbf/opt/oracle/oradata/eygle/sysaux01.dbf/opt/oracle/oradata/eygle/users01.dbf/data1/oradata/systemfile/eygle01.dbf/opt/oracle/oradata/eygle/EYGLE/datafile/o1_mf_test_03xv34ny_.dbf /opt/oracle/oradata/eygle/EYGLE/datafile/o1_mf_itpub_03xv5g66_.dbf 7 rows selected.SQL> create tablespace trans2 datafile '/data1/oradata/systemfile/trans01.dbf'3 size 10M;Tablespace created.SQL> create user trans identified by trans2 default tablespace trans;User created.SQL> grant connect,resource to trans;Grant succeeded.SQL> connect trans/transConnected.SQL> create table test as select * from user_objects;Table created.SQL> select count(*) from test;COUNT(*)----------1SQL> select * from test;OBJECT_NAME--------------------------------------------------------------------SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_IDOBJECT_TYPE------------------------------ ---------- -------------- ------------------- CREATED LAST_DDL_TIM TIMESTAMP STATUS T G S------------ ------------ ------------------- ------- - - -TEST15604 15604 TABLE27-APR-04 27-APR-04 2004-04-27:14:05:42 VALID N N NSQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production With the Partitioning, OLAP and Dat3. 导出要传输的表空间$ pwd/opt/oracle$ cd dpdata$ ls$ expdp eygle/eygle dumpfile=trans.dmp directory=dpdatatransport_tablespace=transLRM-00101: unknown parameter name 'transport_tablespace'$ expdp eygle/eygle dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=transExport: Release 10.1.0.2.0 - 64bit Production on Tuesday, 27 April, 2004 14:07Copyright (c) 2003, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsStarting "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01": eygle/******** dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans ORA-39123: Data Pump transportable tablespace job abortedORA-29335: tablespace 'TRANS' is not read onlyJob "EYGLE"."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 ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> alter tablespace trans read only;Tablespace altered.SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining options$ expdp eygle/eygle dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=transExport: Release 10.1.0.2.0 - 64bit Production on Tuesday, 27 April, 2004 14:08Copyright (c) 2003, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsStarting "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01": eygle/******** dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLEProcessing object typeTRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLKMaster table "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded******************************************************** Dump file set for EYGLE.SYS_EXPORT_TRANSPORTABLE_01 is:/opt/oracle/dpdata/trans.dmpJob "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 14:094. 使用rman 转换文件格式$ rman target /Recovery Manager: Release 10.1.0.2.0 - 64bit ProductionCopyright (c) 1995, 2004, Oracle. All rights reserved.connected to target database: EYGLE (DBID=1337390772)RMAN> convert tablespace trans2> to platform 'Microsoft Windows IA (32-bit)'3> Format '/tmp/%U';Starting backup at 27-APR-04using target database controlfile instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=148 devtype=DISKchannel ORA_DISK_1: starting datafile conversioninput datafile fno=00008 name=/data1/oradata/systemfile/trans01.dbf converteddatafile=/tmp/data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg channel ORA_DISK_1: datafile conversion complete, elapsed time:00:00:01Finished backup at 27-APR-04RMAN> exitRecovery Manager complete.5. 确认导出文件已生成.$ ls /tmp/data*/tmp/data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg$ ls -l /tmp/data*-rw-r----- 1 oracle dba 10493952 Apr 27 14:12/tmp/data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg$ chmod 777 /tmp/data*$ chmod 777 /opt/oracle/dpdata/*6. 通过ftp 传输文件至目标主机220 FTP server (SunOS 5.8) ready.User (172.16.33.32 none)): gqgai331 Password required for gqgai.Password:230 User gqgai logged in.ftp> bin200 Type set to I.ftp> cd /tmp250 CWD command successful.ftp> mget data*200 Type set to I.mget data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg? Y 200 PORT command successful.150 Binary data connection fordata_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg(172.16.32.65,2885) (10493952 bytes).226 Binary Transfer complete.ftp: 10493952 bytes received in 15.90Seconds 659.87Kbytes/sec. ftp> cd /opt/oracle/dpdata250 CWD command successful.ftp> ls200 PORT command successful.150 ASCII data connection for /bin/ls (172.16.32.65,2889) (0 bytes). export.logtrans.dmp226 ASCII Transfer complete.ftp: 23 bytes received in 0.01Seconds 2.30Kbytes/sec.ftp> bin200 Type set to I.ftp> mget trans.dmp200 Type set to I.mget trans.dmp? y200 PORT command successful.150 Binary data connection for trans.dmp (172.16.32.65,2893) (73728 bytes).226 Binary Transfer complete.ftp: 73728 bytes received in 0.03Seconds 2457.60Kbytes/sec.ftp> bye221 Goodbye.7. 使用rman 在目标数据库转换文件E:Oracleoradatavilendpdata>rman target /恢复管理器: 版本10.1.0.2.0 - ProductionCopyright (c) 1995, 2004, Oracle. All rights reserved.连接到目标数据库: VILEN (DBID=1587222708)RMAN> CONVERT DATAFILE'E:Oracleoradatavilendpdatadata_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg'2> DB_FILE_NAME_CONVERT3>'E:Oracleoradatavilendpdatadata_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg','E:OracleoradatavilenVILENDATAFILE rans01.dbf';启动backup 于27-4 月-04使用通道ORA_DISK_1通道ORA_DISK_1: 启动数据文件转换输出文件名=E:ORACLEORADATAVILENDPDATADATA_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01FK92HG已转换的数据文件=E:ORACLEORADATAVILENVILENDATAFILETRANS01.DBF通道ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:04完成backup 于27-4 月-048. 在目标数据库plugin 数据文件注意目标数据库中的目标用户必须存在,否则会报错。
oracle数据库跨平台迁移实施过程
oracle数据库跨平台迁移实施过程Oracle数据库跨平台迁移是将Oracle数据库从一种操作系统迁移到另一种操作系统的过程。
该过程涉及将数据、数据库对象、配置和相关应用程序从原始平台迁移至目标平台,确保迁移后的数据库可以正常运行。
下面是Oracle数据库跨平台迁移的实施过程:1.确定迁移目标和设计迁移策略:首先需要确定迁移的目标操作系统和硬件平台,并根据目标平台的特性来设计迁移策略。
在此阶段,需要考虑目标系统的操作系统版本、硬件配置、网络环境等因素。
2.数据库准备工作:在迁移过程之前,需要进行数据库的准备工作。
包括备份数据库,以防止迁移过程中出现数据丢失,关闭数据库并准备迁移所需的文件。
3. 数据迁移:将数据从原始平台迁移到目标平台。
这可以通过多种方式来实现,包括使用Oracle Data Pump、数据库链接、物理复制等。
根据数据量的大小、迁移时间的限制和网络带宽的限制选择合适的数据迁移方法。
4. 迁移数据库对象:迁移数据库对象,包括表、约束、索引、视图、存储过程等。
通常可以使用Oracle迁移工具或手动将这些对象从原始平台迁移到目标平台。
在迁移过程中要注意兼容性问题,确保目标平台上可以正常使用这些数据库对象。
5. 配置和调整:针对目标平台的特点,进行适当的配置和调整。
例如,配置操作系统、网络、存储以及Oracle数据库本身的参数。
此外,还需要调整数据库的权限和用户,确保数据库在目标平台上能够正常工作。
6.测试和验证:在迁移过程完成后,需要进行测试和验证,确保数据库在目标平台上能够正常运行。
这包括对数据库进行性能测试、功能测试和容量测试等。
7.部署和上线:在完成测试和验证后,可以进行部署和上线工作。
在此过程中,可以将数据库设置为生产状态,并确保数据库能够正常对外提供服务。
8.监控和调优:在数据库迁移完成后,需要定期监控和调优数据库的性能。
包括监控数据库的I/O、CPU和内存使用情况,优化SQL查询和索引,以提高数据库的性能和可靠性。
Oracle10g的数据迁移方案
Oracle10g 的数据迁移方案2009-03-27 08:18Lora是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。
这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。
会上提出的一种想法是创建几个小型数据集市-- 每个集市根据一个特定的职能范围存储数据-- 这样每个数据集市就可以由专门的团队来使用。
为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。
该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。
这就是Lora 为什么出席会议的原因。
她会为移动数据提出哪些可供选择的方法呢?作为一名经验丰富、知识渊博的数据库管理员,Lora 向与会者提供了三种可能的方法,分别是:使用可移动表空间使用数据泵(导入和导出) 拖出表空间本文介绍Lora 对这三种可选方法的解释,包括它们的实施细节和优缺点。
可移动表空间Lora 从可移动表空方法开始介绍。
把整个表空间移动到目标系统的最快速方法是用FTP (文件传输协议)或rep (远程复制)来简单地转移表空间的基本文件。
但是,仅仅复制Oracle 数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。
使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。
在考虑该方法之前必须进行一些审查。
首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained )。
也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。
Lora 解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。
例如,如果表空间TS1和TS2要作为一个集合进行转移,TS1中的一个表在TS2中有一个索引,则这个表空间集合就是自含式的。
Oracle 10跨平台迁移指南
问题和解决办法
字符集问题
– 源数据库和目标数据库的字符集应该一样,也 可以是目标数据库字符集包含源数据库 解决办法: – 建立目标数据库时选择源数据库的字符集 – 在源数据库导出导入数据时,客户端的环境变 量的字符集一定要与导入导出数据库一致
时代朝阳Oracle DBA职业培训课程才能展示(Talent Show) 时代朝阳Oracle DBA职业培训课程才能展示(Talent Show) 北京时代朝阳数据库技术中心 www.zhaoyang-
数据移植
使用TOAD导出数据
– 使用TOAD自动生成SQL LOADER控制文件 – 一张表一个文件 – 人工检查,修改,校验控制文件的内容
使用SQL LOADER导入数据
– 注意目标数据库系统的状态 – 注意导入客户端字符集
时代朝阳Oracle DBA职业培训课程才能展示(Talent Show) 时代朝阳Oracle DBA职业培训课程才能展示(Talent Show) 北京时代朝阳数据库技术中心 www.zhaoyang-
目标服务器 源服务器
操作系统 数据库 实例名 字符集 Aix5.3 oracle10g Sdzy
America_america.zhs16gbk
客户端
windows
Windows2003server oracle10g orcl
Chinese_china.zhs16gbk
中文
数据库中包括表,存储过程,视图,序列,触发器
大纲移植
用TOAD捕获源数据结构
– 捕获用户、表、视图、索引、存储过程、触发 器等所有对象定义) – 生成相关DDL语句 – 检查修改测试生成DDL语句 – 校验结果
时代朝阳Oracle DBA职业培训课程才能展示(Talent Show) 时代朝阳Oracle DBA职业培训课程才能展示(Talent Show) 北京时代朝阳数据库技术中心 www.zhaoyang-
Oracle 10G 的数据迁移方案
第二种方法是使用数据泵,它对表空间是否为只读没有要求。当只需要移动指定的表而不是整个表空间时,这种方法很有用。
最后一种方法是拖出表空间,该方法把可移动表空间方法的所有步骤组合成一步操作。用这种方法复制数据非常简单,但要想调整每个具体步骤以便进行性能优化时,它为数据库管理员提供的灵活性太少。
这条命令使用数据泵导入工具将通过数据库链接srcdb(在以前的章节中已讨论过)检索到的数据加载到表中。但是,由于网络带宽通常是受到限制的,因此这种方法可能比使用导出/传输/导入周期方法要慢一些。
如果只需将特定的表或表集合进行转移,那么Lora可以在expdp命令中使用TABLES=子句来只下载特定的表或表集合。
拖出表空间
作为第三种选择,Lora建议使用Oracle数据库10g中的新工具,它简化了可移动表空间的移动方法,因此只涉及执行一个打包过程。在这种方法中,用户利用所提供的DBMS_STREAMS_TABLESPACE_ADM包从源系统中"拖?quot;表空间。这个包使用数据泵转移表空间并将数据文件转换成目标系统的格式。它还自动执行任何所需的字节顺序变换。
会议结束
针对Acme的数据仓库/数据集市体系结构,Lora提出了几种移动数据的可选方法。
第一种可选方法是使用可移动表空间,它能移动完整的表空间集合(不仅包括表,还包括索引、物化视图和其他对象)。通常它还是这三种方法中最快的一种。但是,它的一个主要缺点是对指定的表空间必须在复制文件时设置为只读。
conversion_extension => 'linux'
);
END;
该操作在后台完成了许多步骤:设置源表空间为只读;用数据泵导出工具进行一次表空间的元数据转储;用DBMS_FILE_TRANSFER包移动数据文件和转储的文件;把源表空间恢复到其最初的读写状态;使用数据泵导入工具将表空间插入到本地数据库中。由于源数据库运行在Linux上,而目标数据库运行在Solaris上,因此这一操作首先复制原始数据文件(Linux的文件格式),然后将它转换到目标平台上(Solaris)的文件格式。复制过程保持最初被转移的文件,而创建一个新文件用于转换。新文件与最初的文件同名,但具有CONVERSION_EXTENSION参数指定的linux扩展名。在目标数据库中创建的表空间为只读表空间。
Oracle10g表空间物理位置转移
ERROR 位于第 1 行:
ORA-01113: 文件 11 需要介质恢复
ORA-01110: 数据文件 11: 'D:\DB Data\Oracle\orcl\USERS01.DBF '
2.第五步(复制文件操作),必须是在第四步之后,否则第六步可能会报错,错误信息同上差不多
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
SQL> alter tablespace USERS rename datafile 'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF' to 'D:\DB Data\Oracle\orcl\USERS01.DBF';
SQL> alter tablespace eucrmspace rename datafile
'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF' to ' D:\DB Data\Oracle\orcl\USERS01.DBF';
……
下面是完整的操作命令:
C:\Documents and Settings\XXX>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 15 16:29:14 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
数据库装载完毕。
数据库已经打开。
oracle数据库迁移方案
Oracle数据库迁移方案1. 引言数据库迁移是指将一个数据库从一个平台或环境迁移到另一个平台或环境的过程。
在企业中,由于业务需求和技术需求的变化,数据库迁移已经成为一个常见的任务。
本文将介绍一种基于Oracle数据库的迁移方案。
2. 选择迁移工具Oracle官方提供了多种迁移工具,如Oracle Data Pump、RMAN(Recovery Manager)等。
根据迁移的具体要求和环境,选择合适的工具非常重要。
2.1 Oracle Data PumpOracle Data Pump是Oracle 10g及以上版本的一个数据导入导出工具。
它提供了快速、高效的数据迁移方式,并支持数据压缩、并行处理等功能。
如果迁移的数据量较大,可以考虑使用Oracle Data Pump。
2.2 RMANRMAN是Oracle的备份恢复管理工具,同时也可以用于数据库迁移。
RMAN提供了全面的备份和恢复解决方案,并支持将备份的数据库恢复到其他平台。
如果需要保证数据的一致性和完整性,可以选择使用RMAN进行迁移。
2.3 其他工具除了Oracle官方提供的工具,市场上还有一些第三方工具可供选择,如Quest SharePlex、Zevora Data Mover等。
这些工具提供了更多灵活的迁移方式和功能,可以根据具体情况选择使用。
3. 迁移前的准备工作在进行数据库迁移之前,需要进行一些准备工作,以确保迁移过程的顺利进行。
3.1 数据库分析首先需要对待迁移的源数据库进行全面的分析。
通过收集数据库的结构信息、性能指标、存储空间占用等数据,为后续的迁移工作提供依据。
3.2 网络规划如果迁移的目标环境与源环境位于不同的网络中,需要对网络进行规划和配置,以确保迁移过程中的数据传输和通信畅通无阻。
3.3 目标环境准备在迁移到目标环境之前,需要对目标环境进行搭建和配置。
包括安装数据库软件、创建数据库实例、配置参数等。
4. 数据迁移过程根据选择的迁移工具的不同,具体的迁移过程会有所差异。
03_Oracle数据迁移之跨平台全库迁移
Oracle数据迁移之跨平台全库迁移Oracle是一款非常优秀的DBMS软件。
它可以运行在多种操作系统平台上,如:Windows、Linux、AIX和Solaris等等。
很多时候,由于各种各样的原因,我们需要在一同的OS平台之间进行Oracle数据库的迁移。
Oracle数据库的迁移有很多种方法,但是,在这里我想用一个实验来向大家演示一下如何利用RMAN进行Oracle数据库的跨平台全库迁移。
实验环境源库:Windows+Oracle10g版本10.2.0.1.0目的:红帽Linux+Oracle10g版本10.2.0.1.0查看一下源库当前的一些信息:从反馈的信息来看,我们知道数据库当前处于READ WRITE状态,所有我们得先将数据库转为READ ONLY。
接下来要做就是打开RMAN进行迁移好了,CONVERT成功完成。
现在,我们要编辑J:\TRANDB\TRANDB.SQL这个文件的内容以生成一条创建控制文件的命令:编辑之前的文件内容如下所示--The following commands will create a new control file and use it--to open the database.--Data used by Recovery Manager will be lost.--The contents of online logs will be lost and all backups will--be e this only if online logs are damaged.--After mounting the created controlfile,the following SQL--statement will place the database in the appropriate--protection mode:--ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNT PFILE='D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00M65HE9_1_0.ORA' CREATE CONTROLFILE REUSE SET DATABASE"TRANDB"RESETLOGS NOARCHIVELOGMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY292LOGFILEGROUP1 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCH_D-TRANDB_ID-3488368891_S-31 _T-1_A-744298555_00M65HE9'SIZE50M,GROUP2 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCH_D-TRANDB_ID-3488368891_S-29 _T-1_A-744298555_00M65HE9'SIZE50M,GROUP3 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCH_D-TRANDB_ID-3488368891_S-30 _T-1_A-744298555_00M65HE9'SIZE50MDATAFILE'J:\TRANDB\SYSTEM01.DBF','J:\TRANDB\UNDOTBS01.DBF','J:\TRANDB\SYSAUX01.DBF','J:\TRANDB\USERS01.DBF','J:\TRANDB\LINUXTBS01.DBF'CHARACTER SET ZHS16GBK;--Database can now be opened zeroing the online logs.ALTER DATABASE OPEN RESETLOGS;--Commands to add tempfiles to temporary tablespaces.--Online tempfiles have complete space information.--Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\DATA_D-TRANDB_I-3488368891_TS-TE MP_FNO-1_00M65HE9'SIZE28311552AUTOEXTEND ON NEXT655360MAXSIZE32767M;--End of tempfile additions.--set echo offprompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ prompt*Your database has been created successfully!prompt*There are many things to think about for the new database.Hereprompt*is a checklist to help you stay on track:prompt*1.You may want to redefine the location of the directory objects.prompt*2.You may want to change the internal database identifier(DBID)prompt*or the global database name for this e theprompt*NEWDBID Utility(nid).prompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SHUTDOWN IMMEDIATESTARTUP UPGRADE PFILE='D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00M65HE9_1_0.ORA' @@?/rdbms/admin/utlirp.sqlSHUTDOWN IMMEDIATESTARTUPPFILE='D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00M65HE9_1_0.ORA' --The following step will recompile all PL/SQL modules.--It may take serveral hours to complete.@@?/rdbms/admin/utlrp.sqlset feedback6;修改完成后的内容如下所示:--The following commands will create a new control file and use it--to open the database.--Data used by Recovery Manager will be lost.--The contents of online logs will be lost and all backups will--be e this only if online logs are damaged.--After mounting the created controlfile,the following SQL--statement will place the database in the appropriate--protection mode:--ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNT PFILE='/u02/oradata/trandb/inittrandb.ora'CREATE CONTROLFILE REUSE SET DATABASE"TRANDB"RESETLOGS NOARCHIVELOGMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY292LOGFILEGROUP1'/u02/oradata/trandb/redo01.log'SIZE50M,GROUP2'/u02/oradata/trandb/redo02.log'SIZE50M,GROUP3'/u02/oradata/trandb/redo03.log'SIZE50MDATAFILE'/u02/oradata/trandb/SYSTEM01.DBF','/u02/oradata/trandb/UNDOTBS01.DBF','/u02/oradata/trandb/SYSAUX01.DBF','/u02/oradata/trandb/USERS01.DBF','/u02/oradata/trandb/LINUXTBS01.DBF'CHARACTER SET ZHS16GBK;--Database can now be opened zeroing the online logs.ALTER DATABASE OPEN RESETLOGS;--Commands to add tempfiles to temporary tablespaces.--Online tempfiles have complete space information.--Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE'/u02/oradata/trandb/temp01.dbf' SIZE28311552AUTOEXTEND ON NEXT655360MAXSIZE32767M;--End of tempfile additions.--set echo offprompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ prompt*Your database has been created successfully!prompt*There are many things to think about for the new database.Hereprompt*is a checklist to help you stay on track:prompt*1.You may want to redefine the location of the directory objects.prompt*2.You may want to change the internal database identifier(DBID)prompt*or the global database name for this e theprompt*NEWDBID Utility(nid).prompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SHUTDOWN IMMEDIATESTARTUP UPGRADE PFILE='/u02/oradata/trandb/inittrandb.ora'@@?/rdbms/admin/utlirp.sqlSHUTDOWN IMMEDIATESTARTUP PFILE='/u02/oradata/trandb/inittrandb.ora'--The following step will recompile all PL/SQL modules.--It may take serveral hours to complete.@@?/rdbms/admin/utlrp.sqlset feedback6;此外,我们还要编辑一下CONVERT过程中自动生成的一个参数文件(默认是在$ORACLE_HOME/database目录下,文件名一般类似于INIT_00M65HE9_1_0.ORA),并改名为inittrandb.ora且将其复制到j:\trandb目录下来。
rman convert 使用
利用RMAN Convert database特性进行跨平台迁移数据2007-07-04 10:56在Oracle10g中,不仅可以利用跨平台传输表空间的新特性在异构平台数据库之间迁移数据,在特定条件下,还可以利用Convert database特性进行整个数据库跨平台的迁移。
如果要在10G中进行全库跨平台的迁移,那么只能在低位和低位或者高位和高位平台之间进行迁移,无法进行高位与低位平台的迁移。
大家可以参考V$TRANSPORTABLE_PLATFORM 中的信息以决定是否能够迁移。
SQL> select * from V$TRANSPORTABLE_PLATFORM order by 3;PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT----------- ---------------------------------------- --------------4 HP-UX IA (64-bit) Big1 Solaris[tm] OE (32-bit) Big16 Apple Mac OS Big3 HP-UX (64-bit) Big9 IBM zSeries Based Linux Big6 AIX-Based Systems (64-bit) Big2 Solaris[tm] OE (64-bit) Big18 IBM Power Based Linux Big17 Solaris Operating System (x86) Little12 Microsoft Windows 64-bit for AMD Little13 Linux 64-bit for AMD Little8 Microsoft Windows IA (64-bit) Little15 HP Open VMS Little5 HP Tru64 UNIX Little10 Linux IA (32-bit) Little7 Microsoft Windows IA (32-bit) Little11 Linux IA (64-bit) Little、Convert database具体如下特性:1、只能传输数据表空间的数据文件。
Oracle10g的数据迁移方案
Oracle10g的数据迁移方案数据迁移是将数据从一个存储系统迁移到另一个存储系统的过程。
在Oracle10g中,有许多不同的数据迁移方案可供选择,每个方案都有其优势和适用场景。
以下是一些常见的Oracle10g数据迁移方案。
1. 导出/导入(exp/imp):这是Oracle10g中最常见的数据迁移方法之一、它通过使用exp将数据从源数据库导出到一个文件中,然后使用imp将数据从该文件中导入到目标数据库中。
这种方法适用于小型数据库或需要频繁迁移的数据库,但不适用于大型数据库或需要迁移大量数据的情况。
2. 数据泵(expdp/impdp):数据泵是Oracle10g中引入的新特性,它提供了更高效和更灵活的数据迁移方法。
数据泵使用expdp将数据从源数据库以二进制格式导出到一个文件中,然后使用impdp将数据以二进制格式从该文件中导入到目标数据库中。
相对于导出/导入,数据泵具有更快的速度和更小的导出/导入文件大小。
3. SQL Loader:SQL Loader是Oracle10g中的另一种数据迁移工具,它可以将大量数据从平面文件导入到数据库中。
它通过读取一个控制文件和一个或多个数据文件来工作。
控制文件指定要导入的数据的格式和目标表,而数据文件包含实际的数据。
SQL Loader适用于需要从外部系统或文件导入数据的场景。
4.数据库链接:如果源数据库和目标数据库位于不同的服务器上,可以使用数据库链接来实现数据迁移。
数据库链接允许在一个数据库中对另一个数据库进行查询和操作。
通过在目标数据库上创建一个链接对象,然后使用该链接对象在源数据库上执行查询和操作,可以将数据从源数据库迁移到目标数据库。
5. Oracle数据同步/复制:如果需要实时数据同步或定期数据复制,可以考虑使用Oracle的数据同步或复制工具。
Oracle提供了许多数据同步和复制解决方案,如Oracle Streams和Oracle GoldenGate。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle10g 跨平台传输表空间1. 准备工作:查询源数据库平台信息SQL> col platform_name for a40SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME; PLATFORM_NAME ENDIAN_FORMAT---------------------------------------- --------------Solaris[tm] OE (64-bit) Big查询目标数据库平台信息SQL> col platform_name for a40SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d3 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) Big2 Solaris[tm] OE (64-bit) Big7 Microsoft Windows IA (32-bit) Little10 Linux IA (32-bit) Little6 AIX-Based Systems (64-bit) Big3 HP-UX (64-bit) Big5 HP Tru64 UNIX Little4 HP-UX IA (64-bit) Big11 Linux IA (64-bit) Little15 HP Open VMS Little8 Microsoft Windows IA (64-bit) Little9 IBM zSeries Based Linux Big13 Linux 64-bit for AMD Little16 Apple Mac OS Big12 Microsoft Windows 64-bit for AMD Little2. 创建一个独立的自包含表空间创建一个独立的自包含表空间用于测试:$ 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 ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> select name from v$datafile;NAME--------------------------------------------------------------------/opt/oracle/oradata/eygle/system01.dbf/opt/oracle/oradata/eygle/undotbs01.dbf/opt/oracle/oradata/eygle/sysaux01.dbf/opt/oracle/oradata/eygle/users01.dbf/data1/oradata/systemfile/eygle01.dbf/opt/oracle/oradata/eygle/EYGLE/datafile/o1_mf_test_03xv34ny_.dbf /opt/oracle/oradata/eygle/EYGLE/datafile/o1_mf_itpub_03xv5g66_.dbf 7 rows selected.SQL> create tablespace trans2 datafile '/data1/oradata/systemfile/trans01.dbf'3 size 10M;Tablespace created.SQL> create user trans identified by trans2 default tablespace trans;User created.SQL> grant connect,resource to trans;Grant succeeded.SQL> connect trans/transConnected.SQL> create table test as select * from user_objects;Table created.SQL> select count(*) from test;COUNT(*)----------1SQL> select * from test;OBJECT_NAME--------------------------------------------------------------------SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_IDOBJECT_TYPE------------------------------ ---------- -------------- ------------------- CREATED LAST_DDL_TIM TIMESTAMP STATUS T G S------------ ------------ ------------------- ------- - - -TEST15604 15604 TABLE27-APR-04 27-APR-04 2004-04-27:14:05:42 VALID N N NSQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production With the Partitioning, OLAP and Dat3. 导出要传输的表空间$ pwd/opt/oracle$ cd dpdata$ ls$ expdp eygle/eygle dumpfile=trans.dmp directory=dpdatatransport_tablespace=transLRM-00101: unknown parameter name 'transport_tablespace'$ expdp eygle/eygle dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=transExport: Release 10.1.0.2.0 - 64bit Production on Tuesday, 27 April, 2004 14:07Copyright (c) 2003, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsStarting "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01": eygle/******** dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans ORA-39123: Data Pump transportable tablespace job abortedORA-29335: tablespace 'TRANS' is not read onlyJob "EYGLE"."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 ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> alter tablespace trans read only;Tablespace altered.SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining options$ expdp eygle/eygle dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=transExport: Release 10.1.0.2.0 - 64bit Production on Tuesday, 27 April, 2004 14:08Copyright (c) 2003, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsStarting "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01": eygle/******** dumpfile=trans.dmp directory=dpdata TRANSPORT_TABLESPACES=trans Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLEProcessing object typeTRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLKMaster table "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded******************************************************** Dump file set for EYGLE.SYS_EXPORT_TRANSPORTABLE_01 is:/opt/oracle/dpdata/trans.dmpJob "EYGLE"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 14:094. 使用rman 转换文件格式$ rman target /Recovery Manager: Release 10.1.0.2.0 - 64bit ProductionCopyright (c) 1995, 2004, Oracle. All rights reserved.connected to target database: EYGLE (DBID=1337390772)RMAN> convert tablespace trans2> to platform 'Microsoft Windows IA (32-bit)'3> Format '/tmp/%U';Starting backup at 27-APR-04using target database controlfile instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=148 devtype=DISKchannel ORA_DISK_1: starting datafile conversioninput datafile fno=00008 name=/data1/oradata/systemfile/trans01.dbf converteddatafile=/tmp/data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg channel ORA_DISK_1: datafile conversion complete, elapsed time:00:00:01Finished backup at 27-APR-04RMAN> exitRecovery Manager complete.5. 确认导出文件已生成.$ ls /tmp/data*/tmp/data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg$ ls -l /tmp/data*-rw-r----- 1 oracle dba 10493952 Apr 27 14:12/tmp/data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg$ chmod 777 /tmp/data*$ chmod 777 /opt/oracle/dpdata/*6. 通过ftp 传输文件至目标主机220 FTP server (SunOS 5.8) ready.User (172.16.33.32 none)): gqgai331 Password required for gqgai.Password:230 User gqgai logged in.ftp> bin200 Type set to I.ftp> cd /tmp250 CWD command successful.ftp> mget data*200 Type set to I.mget data_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg? Y 200 PORT command successful.150 Binary data connection fordata_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg(172.16.32.65,2885) (10493952 bytes).226 Binary Transfer complete.ftp: 10493952 bytes received in 15.90Seconds 659.87Kbytes/sec. ftp> cd /opt/oracle/dpdata250 CWD command successful.ftp> ls200 PORT command successful.150 ASCII data connection for /bin/ls (172.16.32.65,2889) (0 bytes). export.logtrans.dmp226 ASCII Transfer complete.ftp: 23 bytes received in 0.01Seconds 2.30Kbytes/sec.ftp> bin200 Type set to I.ftp> mget trans.dmp200 Type set to I.mget trans.dmp? y200 PORT command successful.150 Binary data connection for trans.dmp (172.16.32.65,2893) (73728 bytes).226 Binary Transfer complete.ftp: 73728 bytes received in 0.03Seconds 2457.60Kbytes/sec.ftp> bye221 Goodbye.7. 使用rman 在目标数据库转换文件E:Oracleoradatavilendpdata>rman target /恢复管理器: 版本10.1.0.2.0 - ProductionCopyright (c) 1995, 2004, Oracle. All rights reserved.连接到目标数据库: VILEN (DBID=1587222708)RMAN> CONVERT DATAFILE'E:Oracleoradatavilendpdatadata_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg'2> DB_FILE_NAME_CONVERT3>'E:Oracleoradatavilendpdatadata_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01fk92hg','E:OracleoradatavilenVILENDATAFILE rans01.dbf';启动backup 于27-4 月-04使用通道ORA_DISK_1通道ORA_DISK_1: 启动数据文件转换输出文件名=E:ORACLEORADATAVILENDPDATADATA_D-EYGLE_I-1337390772_TS-TRANS_FNO-8_01FK92HG已转换的数据文件=E:ORACLEORADATAVILENVILENDATAFILETRANS01.DBF通道ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:04完成backup 于27-4 月-048. 在目标数据库plugin 数据文件注意目标数据库中的目标用户必须存在,否则会报错。