Oracle10g的数据迁移方案
带有oracle数据库的数据迁移方案(参考模板)

数据迁移技术方案一、项目背景某信息中心系统本次机房搬迁以及数据迁移工程是本次项目需完成的重点工作,包括整个信息中心的核心数据及业务交换中心,系统现有设备包括:核心交换机、接入交换机、服务器、存储盘阵等,迁移主要分设备迁移和数据迁移。
系统搬迁具有时间短、系统结构复杂、测试时间长、设备繁多昂贵、人员多、层次复杂等特点。
本项目搬迁迁移,时间非常紧,且对设备的稳定性也是一个考验。
因此,必须协调好各单位人员的关系,齐心协力才可能在预定时间内完成搬迁迁移工程。
整个迁移工作分两步走,第一步先对数据进行迁移,数据迁移完成确认无误。
第二步对整体信息中心所有设备进行迁移,确保所有设备正常运行。
本方案是以尽量不影响信息中心工作或将影响降低到最低为前提的情况下制定的,即先完成新机房网络接入后,确保网络畅通稳定的前提下,完成信息中心系统业务的部署,确保整个系统在新机房业务实现,整个业务系统顺利割接,然后再在特定时间点开始原机房的设备搬迁工作,在1-2工作日内完成整个服务器、网络设备的搬迁、安装及测试。
并且在开机以后,继续跟踪系统的运行情况,随时处理系统运行的异常情况。
我公司在资源方面有较大优势,如在搬迁迁多工作中出现设备故障,除在备品备件中提供的备件外,还可协调各方资源以最快速度解决客户设备故障问题。
二、系统环境1、第一机房环境1.1.设备分布第一机房设备共涉及到10个机柜,具体设备名称及数量为:38台pvg server(1810/2800)汇聚服务器、4台pvg server3800核心服务器、26台存储、1台存储控制服务器、5台交换机。
1.2.硬件设备情况1.2.1汇聚服务器汇聚服务器品牌为网力产品,38台中32台设备作为汇聚服务器,每台设备使用2个网卡:1个网卡接入单位、另1个网卡接入存储服务器;另外6台为出口服务,只使用1个网卡。
设备网口全部接到RG-6806/6810两台交换机上,以便与单位和存储设备通讯。
总电口使用量为:32*2+6=70个。
oracle数据迁移方法

oracle数据迁移方法Oracle数据迁移是将现有的Oracle数据库中的数据、表结构以及相关的约束条件等迁移到另一个Oracle数据库中的过程。
在实际的数据迁移中,存在以下几种常见的方法和工具:1.手动数据迁移:手动数据迁移是一种基本的迁移方法,它需要手工编写SQL语句完成数据迁移的操作。
这种方法适用于迁移的数据量较小的情况,迁移过程相对简单。
迁移操作可以分为以下几个步骤:-创建目标数据库-创建目标数据库的表结构,包括表、索引、约束等-导出源数据库中的数据-将导出的数据文件导入到目标数据库中手动数据迁移方法的优点是灵活性高,适用于各种复杂情况下的迁移操作。
但是由于需要手工编写SQL语句,容易出现错误,对于数据量较大的迁移任务来说,效率较低。
2. Oracle迁移工具:Oracle官方提供了多个数据迁移工具,如Oracle Data Pump和Oracle GoldenGate等。
- Oracle Data Pump是一个用于高效迁移数据和元数据的工具。
它支持全库导出和导入,可以将源数据库中的数据、表结构、存储过程等导出为二进制文件,然后通过网络或者直接复制文件的方式导入到目标数据库中。
Oracle Data Pump在迁移时可以进行数据过滤、表空间映射等操作,可以对数据进行压缩和加密等处理。
- Oracle GoldenGate是一个实时数据复制和数据同步工具,它可以在源数据库和目标数据库之间实时同步数据,保证两个数据库的数据一致性。
GoldenGate可以进行额外的数据转换和过滤操作,支持多种复杂的迁移场景,如异构数据库迁移、分布式迁移等。
3.第三方迁移工具:除了Oracle官方提供的工具,还有一些第三方的数据迁移工具,如TOAD、SQL Developer等。
这些工具提供了可视化的操作界面,可以简化迁移操作的过程,提高效率。
-TOAD是一款功能强大的数据库管理工具,具有数据导入导出、数据比较、数据同步等功能。
Oracle10g的数据迁移方案(好文章要转)

Oracle10g的数据迁移方案(好文章要转)2008-07-07 11:31网上看到一个不错的文章,转帖给大家,包括传输表空间解决跨平台及endian-ness问题的处理方法找到将数据从仓库迁移到集市的最快方法。
Lora 是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。
这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。
会上提出的一种想法是创建几个小型数据集市--每个集市根据一个特定的职能范围存储数据--这样每个数据集市就可以由专门的团队来使用。
为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。
该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。
这就是Lora为什么出席会议的原因。
她会为移动数据提出哪些可供选择的方法呢?作为一名经验丰富、知识渊博的数据库管理员,Lora向与会者提供了三种可能的方法,分别是:使用可移动表空间使用数据泵(导入和导出)拖出表空间本文介绍Lora对这三种可选方法的解释,包括它们的实施细节和优缺点。
可移动表空间Lora 从可移动表空方法开始介绍。
把整个表空间移动到目标系统的最快速方法是用FTP(文件传输协议)或rcp(远程复制)来简单地转移表空间的基本文件。
但是,仅仅复制Oracle数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。
使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。
在考虑该方法之前必须进行一些审查。
首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained)。
也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。
Lora解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。
Oracle10g数据库迁移方案

alter database rename file 'G:\ORACLE\ORADATA\orcl\ELITEOB'
to 'E:\orcl\ELITEOB';
alter database rename file 'G:\ORACLE\ORADATA\orcl\REDO01.LOG'
*.control_files='E:\orcl\control01.ctl','E:\orcl\control02.ctl','E:\orcl\control03.ctl'
5. 从pfile重启数据库
shutdown immediate
startup pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora'
to 'E:\orcl\HOTELFILE';
alter database rename file 'G:\ORACLE\ORADATA\orcl\MEMBERFILE'
to 'E:\orcl\MEMBERFILE';
alter database rename file 'E:\ELITEDATA\ELITE'
to 'E:\orcl\USERS01.DBF';
alter database rename file 'G:\ORACLE\ORADATA\orcl\EXAMPLE01.DBF'
to 'E:\orcl\EXAMPLE01.DBF';
10g迁移12c的注意事项

10g迁移12c的注意事项
迁移10g数据到12c数据库是一项复杂的任务,需要一定的经验和技巧。
为了确保迁移顺利进行,有几个注意事项需要注意。
备份数据是迁移过程中至关重要的一步。
在迁移之前,务必先进行全量备份,以防数据丢失或损坏。
可以使用Oracle提供的备份工具或其他第三方工具进行备份。
确保源数据库和目标数据库的版本兼容性。
在迁移过程中,需要确保源数据库的版本不低于10g,目标数据库的版本为12c。
如果版本不兼容,需要先升级源数据库至10g或更高版本,再进行迁移。
迁移过程中需要注意数据的一致性。
可以使用Oracle提供的数据校验工具检查数据的完整性和一致性。
如果发现数据不一致,需要及时修复或重新迁移。
迁移过程中还需要考虑网络带宽和性能的限制。
如果网络带宽不足,可以考虑增加带宽或使用数据压缩技术来减少网络传输的数据量。
同时,可以调整数据库参数和优化SQL语句来提高性能。
迁移过程中的日志记录和监控也是非常重要的。
可以使用Oracle提供的日志记录工具或第三方监控工具来监控迁移过程中的性能和错误日志,以便及时发现和解决问题。
迁移10g数据到12c数据库需要仔细计划和准备。
遵循上述注意事
项,可以确保迁移过程顺利进行,数据完整性得到保障。
希望以上内容对您有所帮助。
带有oracle数据库的数据迁移方案

带有oracle数据库的数据迁移方案数据迁移是将现有的数据从一个数据库系统迁移到另一个数据库系统的过程。
对于带有Oracle数据库的数据迁移,有以下几种方案可以考虑:1.数据备份和还原:这是一种简单且常用的迁移方案,适合小规模数据迁移。
首先,对Oracle数据库进行数据备份,可以使用Oracle的expdp命令或其他备份工具。
然后,在目标数据库中创建一个新的数据库实例,将备份文件导入到新的数据库中,可以使用Oracle的impdp命令或其他还原工具。
优点:简单易用,适用于小规模数据备份和迁移。
缺点:需要删除目标数据库并重新创建,无法实现实时数据迁移。
2.数据库复制:这是一种常用的迁移方案,适用于大规模数据迁移和实时数据同步。
可以使用Oracle的数据复制工具(如Oracle GoldenGate)将源数据库的数据同步到目标数据库。
优点:可以实现实时数据同步,无需停机维护。
缺点:配置和管理复制过程较复杂,需要考虑网络带宽和延迟。
3.ETL工具:ETL(Extract-Transform-Load)工具是一种用于数据迁移和转换的技术,可以将源数据库的数据抽取、转换和加载到目标数据库中。
常见的商业ETL工具有Informatica、IBM DataStage等。
优点:支持数据转换和清洗,可以按需选择需要迁移的数据。
缺点:商业ETL工具费用较高,需要学习和配置工具的使用。
4.自定义脚本:对于较为复杂的数据迁移需求,可以使用自定义脚本来实现。
可以使用Oracle的PL/SQL编程语言编写脚本来抽取、转换和加载数据。
优点:可以满足各种复杂的数据迁移需求。
缺点:需要熟悉Oracle的PL/SQL编程语言,编写和测试脚本较为复杂。
无论选择哪种迁移方案,以下是一些常见的注意事项和最佳实践:-事先进行充分的规划和测试,确保迁移过程可以顺利完成。
-在迁移前,对源数据库进行彻底的清理和优化,删除不必要的数据、索引和对象。
ORACLE数据库迁移方案

ORACLE数据库迁移方案Oracle数据库是一个关系型数据库管理系统,具有强大的功能和稳定性。
数据库迁移是将一个数据库从一个环境迁移到另一个环境的过程,需要精心计划和执行。
下面是一个Oracle数据库迁移的方案,包括迁移的准备工作、迁移工具的选择、数据的备份和恢复、测试和验证以及最终的迁移步骤。
1.迁移的准备工作:a.了解源数据库的技术规格、版本和架构,确定目标数据库的技术规格和版本要求。
b.确定迁移的目标和目标环境的可用性和稳定性。
c.评估迁移过程中可能出现的风险和问题,并准备应对措施。
d.编制详细的迁移计划和时间表。
2.迁移工具的选择:a.选择适合的迁移工具,根据实际情况选择在线迁移工具或离线迁移工具。
b. 如果迁移数据量大,可以选择使用Oracle Data Pump工具进行数据迁移。
c. 如果需要进行数据转换,可以选择使用Oracle SQL Developer工具进行数据迁移。
3.数据备份和恢复:a.在迁移之前,对源数据库进行备份,以防迁移过程中出现数据丢失或损坏的情况。
b.在迁移过程中,定期进行数据恢复测试,确保备份的完整性和可用性。
c.在迁移完成后,对目标数据库进行数据恢复测试,验证数据是否完整和正确。
4.测试和验证:a.在目标环境中创建一个与源数据库相似的测试环境,进行迁移过程的测试和验证。
b.在测试环境中进行功能和性能测试,确保迁移后的数据库能够正常运行和满足需求。
c.在迁移过程中,根据测试结果做出必要的调整和改进。
5.最终迁移步骤:a.在迁移之前,关闭源数据库,确保所有的数据都已经写入磁盘。
b.将源数据库的数据文件、日志文件和控制文件复制到目标环境中,并创建与源数据库相同的目录结构和权限。
c.在目标环境中,根据源数据库的配置文件创建新的数据库实例。
d.在目标环境中启动数据库实例,并将数据文件和日志文件导入到目标数据库。
e.在目标数据库中配置和测试用户连接,确保数据库能够正常运行。
ORALCE10G数据文件迁移

ORACLE 10g将数据文件,日志文件和控制文件迁移到不同的路径数据文件,控制文件和日志文件原路径在:"e:\oracle\product\10.2.0\oradata",现在要将它们迁移至“f:\oradata”中。
具体操作截图如下:数据文件迁移:c:\>sysplus sys/oracle as sysdba;SQL>shutdown immediate数据库已经关闭。
已经卸载数据库。
SQL>startup mountORACLE 例程已经启动。
Total System Global Area 135338868 bytesFixed Size 453492 bytesVariable Size 109051904 bytesDatabase Buffers 25165824 bytesRedo Buffers 667648 bytes数据库装载完毕。
SQL> select name from v$datafile;NAMEE:\ORACLE\PRODUCT\10.2.0\ORADATE\SYSTEM01.DBFE:\ORACLE\PRODUCT\10.2.0\ORADATE\UNDOTBS01.DBFE:\ORACLE\PRODUCT\10.2.0\ORADATE\SYSAUX01.DBFE:\ORACLE\PRODUCT\10.2.0\ORADATE\USERS01.DBFSQL> shutdown immediate数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> $move d:\oracle\10g\orcl\system01.dbf d:\oracle\database\orcl\system01.dbfSQL> $move d:\oracle\10g\orcl\undotbs01.dbf d:\oracle\database\orcl\undotbs01.dbfSQL> $move d:\oracle\10g\orcl\sysaux01.dbf d:\oracle\database\orcl\sysaux01.dbfSQL> $move d:\oracle\10g\orcl\users01.dbf d:\oracle\database\orcl\users01.dbfSQL> startup mountORACLE 例程已经启动。
详细讲解Oracle数据库的数据迁移方法

详细讲解Oracle数据库的数据迁移方法Oracle数据库的数据迁移可以使用多种方法,包括传统的物理备份和恢复,逻辑备份和恢复,以及逻辑复制。
下面将详细介绍这些方法。
1. 物理备份和恢复(Physical Backup and Recovery):物理备份和恢复是最常用的数据迁移方法之一、它基于数据库的物理结构,通过将数据文件、控制文件和日志文件等直接复制到目标数据库来完成数据迁移。
具体步骤如下:(1)在源数据库上执行全量备份,包括数据文件、控制文件和日志文件。
(2)将备份文件传输到目标数据库主机。
(3)在目标数据库上恢复备份文件。
物理备份和恢复的优点是速度快,适用于大规模数据迁移,但缺点是需要额外的存储空间以及停机时间。
2. 逻辑备份和恢复(Logical Backup and Recovery):逻辑备份和恢复是另一种常用的数据迁移方法,它基于逻辑结构,通过导出和导入数据来完成数据迁移。
具体步骤如下:(1) 在源数据库上执行逻辑备份,例如使用expdp命令将数据导出为数据泵文件。
(2)将数据泵文件传输到目标数据库主机。
(3) 在目标数据库上执行逻辑恢复,例如使用impdp命令将数据导入。
逻辑备份和恢复的优点是可以选择性地备份和恢复数据,不需要额外的存储空间,但缺点是速度较慢,适用于小规模数据迁移。
3. 逻辑复制(Logical Replication):逻辑复制是一种将源数据库的数据变更应用到目标数据库的方法,它可以实时地将数据更新传输到目标数据库。
具体步骤如下:(1) 在源数据库上启用逻辑复制功能,例如使用Oracle GoldenGate或Oracle Streams。
(2)配置源数据库和目标数据库之间的连接。
(3)在目标数据库上创建复制进程,用于接收源数据库发送的数据变更。
(4)启动复制进程,开始数据复制。
逻辑复制的优点是实时性好,可以减少停机时间,但缺点是配置和管理复杂,需要考虑数据一致性和传输性能等问题。
oracle数据库迁移方案

oracle数据库迁移方案Oracle数据库迁移方案概述在企业中,由于各种原因,可能需要将Oracle数据库迁移到其他环境中,比如在服务器硬件升级、数据中心迁移或者云环境迁移等情况下。
数据库迁移是一个复杂的过程,需要仔细计划和准备,以确保数据的完整性和可用性。
本文将介绍Oracle数据库迁移的一般步骤和常见的迁移方法。
迁移步骤下面是Oracle数据库迁移的一般步骤:1. **规划和准备阶段**:- 定义迁移目标:确定将Oracle数据库迁移到哪个环境。
例如,迁移到新的物理服务器、虚拟化平台或云环境等。
- 收集信息:收集相关的数据库信息,包括数据库版本、大小、运行时间窗口、性能指标和依赖关系等。
- 制定迁移计划:根据收集到的信息,制定详细的迁移计划,包括时间表、资源需求、风险评估等。
2. **备份和恢复阶段**:- 备份数据库:在进行任何迁移操作之前,务必进行数据库的完整备份。
这是防止数据丢失的关键步骤。
- 恢复测试:针对备份的数据库进行恢复测试,以确保备份文件的可用性和正确性。
3. **迁移和验证阶段**:- 安装目标环境:根据迁移计划,在目标环境中安装和配置Oracle数据库软件。
- 迁移数据:将备份的数据库导入到目标环境中。
可以使用Oracle Data Pump工具或物理备份恢复来完成数据导入。
- 数据验证:在迁移完成后,进行数据验证,比较源数据库和目标数据库中的数据是否一致。
- 重新配置:在目标环境中重新配置和优化数据库,以适应新的硬件或环境。
4. **测试和优化阶段**:- 性能测试:在目标环境中进行性能测试,以确保迁移后的数据库可以满足业务需求。
- 优化和调整:根据性能测试的结果,对数据库进行优化和调整,以提高数据库的性能和可靠性。
5. **切换和验证阶段**:- 切换数据库:将应用程序切换到新的目标数据库。
这包括配置应用程序连接信息、测试应用程序的可用性等。
- 验证和测试:在切换完成后,进行验证和测试,确保应用程序能够正常访问和使用新的数据库。
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的数据迁移方案

Oracle10g的数据迁移方案2009-03-27 08:18Lora是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。
这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。
会上提出的一种想法是创建几个小型数据集市--每个集市根据一个特定的职能范围存储数据--这样每个数据集市就可以由专门的团队来使用。
为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。
该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。
这就是Lora为什么出席会议的原因。
她会为移动数据提出哪些可供选择的方法呢?作为一名经验丰富、知识渊博的数据库管理员,Lora向与会者提供了三种可能的方法,分别是:使用可移动表空间使用数据泵(导入和导出)拖出表空间本文介绍Lora对这三种可选方法的解释,包括它们的实施细节和优缺点。
可移动表空间Lora从可移动表空方法开始介绍。
把整个表空间移动到目标系统的最快速方法是用FTP(文件传输协议)或rcp(远程复制)来简单地转移表空间的基本文件。
但是,仅仅复制Oracle数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。
使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。
在考虑该方法之前必须进行一些审查。
首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained)。
也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。
Lora解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。
例如,如果表空间TS1和TS2要作为一个集合进行转移,TS1中的一个表在TS2中有一个索引,则这个表空间集合就是自含式的。
但是,如果TS1中的一个表另一个索引在表空间TS3中,则该表空间集合(TS1, TS2)就不是自含式的。
Oracle数据库迁移方法

Oracle 数据库迁徙1.背景:据项目实行人员反应,部署系统的过程中,有一个最大的问题,那就是平台数据库的迁徙。
常常会碰到表空间导出导入失败,或是导入过程中数据表丢掉或是数据表固然能导入,但表字段丢掉等现象。
针对这类状况,我仔细剖析了一下:主要原由出在当前的exp/imp这类数据导入导出工具存在比较大的缺点,这类缺点将在后边提到。
对比当前这类方式,我这里供给一种比较方便稳固的数据库迁徙方案。
以下提到的方案,我也多次试试考证了,而且还很实在。
2.数据库迁徙方案:适用环境: Oracle10g或是以上版本。
原理:利用 Oracle10g 供给的数据泵,迅速加载以及卸载数据。
长处:导入导出数据库迅速比较快,且完好,性能稳固。
弊端:这类方式只好在装有Oracle 服务器端的软件的机器上应用。
完好方案:这里模拟二个场景:场景 1:实现不一样库下不一样用户之间表空间的迁徙。
假定经过 Oracle 数据泵, A 用户 UserA 将表空间 TA 提取到,尔后 B 用户 UserB 将装载到表空间 TB。
第一步:第一在源库 (A) 上建一个目录,这个目录取于转储导入导出过程中的数据文件及日记文件。
create directory dumpdir as 'E:\dump';注: dumpdir 为目录名,它是数据库中的目录对象名,“c: dump”:为对应的磁盘物理路径。
第二步:给用户授与目录的读写权限。
( 由于要写日记,这一步是一定的 ) grant read, write on directory dumpdir to UserA;1第三步:导出用户UserA 下的全部对象:expdp UserA/Password@orcl schemas=UserA dumpfile= DIRECTORY= dumpdir 注:1、 orcl为配置的用于从客户端连结Oracle的连结名。
2、 dumpfile中不可以再包括路径以上三步为数据导出过程,下边几步为数据导入过程。
Oracle10g 数据导入导出-HYM

Oracle10g 数据导入导出: Expdp和Impdp命令用法Oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中。
一、数据泵(Data Dump)技术Oracle Database 10g系统引入了一种新的Data Pump(数据泵)体系架构。
在以前的版本中,使用imp 命令引入数据或使用exp命令引出数据。
现在,可以使用Oracle Data Pump来代替这些引入引出数据的命令。
在Oracle Database 10g系统中,imp命令和exp命令依然可以使用,且Oracle Data Pump可以读取exp命令生成的引出数据的文件。
1、Oracle数据泵导体系结构Oracle Data Pump提供了在两个数据库之间移动数据的方法。
在Oracle Data Pump体系结构中提供了许多组件。
2、数据泵导出导入(EXPDP和IMPDP)的作用(1)实现逻辑备份和逻辑恢复.(2)在数据库用户之间移动对象.(3)在数据库之间移动对象(4)实现表空间搬移。
3、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP 和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;●EXP和IMP是客户端工具程序,它们既可以在可以段使用,也可以在服务端使用。
●EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用●IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
4、数据泵导出导入与传统导出导入的区别数据泵导出包括:导出表、导出方案、导出表空间、导出数据库4种方式.二、EXPDP导出命令(一)EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:Expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALLCONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dumpCONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump建立目录:CREATE查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmpDUMPFILE=[directory_object:]file_name [,….]Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKSEXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=dump DUMPFILE=a.dump6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为NEXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[:name_clause] [,….]Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)9. FLASHBACK_SCN指定导出特定SCN时刻的表数据FLASHBACK_SCN=scn_valueScn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=“TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)”11. FULL指定数据库模式导出,默认为NFULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N当设置为Y时,会显示导出选项的帮助信息.Expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象INCLUDE = object_type[:name_clause] [,… ]14. JOB_NAME指定要导出作用的名称,默认为SYS_XXXJOB_NAME=jobname_string15. LOGFILE指定导出日志文件文件的名称,默认名称为export.logLOGFILE=[directory_object:]file_nameDirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.17. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为N.18. PARALLEL指定执行导出操作的并行进程个数,默认值为119. PARFILE指定导出参数文件的名称PARFILE=[directory_path] file_name20. QUERY用于指定过滤导出数据的where条件QUERY=[schema.] [table_name:] query_clauseSchema用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY 选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用.Expdp scott/tiger directory=dump dumpfiel=a.dmpTables=emp query=’WHERE deptno=20’21. SCHEMAS该方案用于指定执行方案模式导出,默认为当前用户方案.22. STATUS指定显示导出作用进程的详细状态,默认值为023. TABLES指定表模式导出TABLES=[schema_name.]table_name[:partition_name][,…]Schema_name用于指定方案名,table_name用于指定导出的表名,partition_name用于指定要导出的分区名.24. TABLESPACES指定要导出表空间列表25. TRANSPORT_FULL_CHECK该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为N.当设置为Y时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息.当设置为N时,导出作用只检查单端依赖,如果搬移索引所在表空间,但未搬移表所在表空间,将显示出错信息,如果搬移表所在表空间,未搬移索引所在表空间,则不会显示错误信息.26. TRANSPORT_TABLESPACES指定执行表空间模式导出27. VERSION指定被导出对象的数据库版本,默认值为COMPATIBLE.VERSION={COMPATIBLE | LATEST | version_string}为COMPATIBLE时,会根据初始化参数COMPATIBLE生成对象元数据;为LATEST时,会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字符串.(二)使用EXPDP命令导出数据使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。
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. 数据迁移过程根据选择的迁移工具的不同,具体的迁移过程会有所差异。
Oracle迁移方案

Oracle迁移⽅案适⽤场景建议⽅案数据量不是很⼤,版本为10G以上,并且可停机操作Expdp/Impdp数据量不是很⼤,版本为9i及以下,并且可停机操作Exp/Imp数据量⽐较⼤,操作系统和数据库版本完全⼀致,业务要求不能停机RMAN 克隆数据量⽐较⼤,操作系统平台在⽀持范围之内,数据库版本⼀致,业务可接受⼀定时间的停机传输表空间数据量⾮常⼤,并且业务要求不能停机GoldenGate Streams数据量⾮常⼤,业务要求不能停机,并且数据库版本不⼀致GoldenGate ⼀、exp/imp逻辑备份与恢复: 它是最常⽤最简单的⽅法,⼀般是基于应⽤的owner级做导出导⼊。
操作⽅法为:在新库建⽴好owner和表空间,停⽼库的应⽤,在⽼库执⾏:$ exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,导⼊dmp⽂件到新库,在新库执⾏如下命令:$ imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y. 优缺点:优点是可以跨平台使⽤;缺点是停机时间长,停机时间为从exp到⽹络传输到新库,再加上imp的时间。
⼆、Storage存储迁移: 这种情况下,数据⽂件、控制⽂件、⽇志⽂件、spfile都在存储上(⼀般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。
操作⽅法:将⽼库的pfile(因为⾥⾯有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码⽂件传到新库的对应位置。
将存储切⾄新机,或者⽤⽂件拷贝或dd的⽅式复制数据⽂件,启动数据库。
优缺点:优点是该迁移⽅式⾮常简单,主要的⼯作是主机⼯程师的⼯作,dba只需配合即可,停机时间为停库、切存储、起库的时间;缺点是要求新⽼库都是同⼀平台,是相同的数据库版本。
g与10g数据库迁移方法

g与10g数据库迁移方法由于11g上导出导入10g数据库存在空字段没有值的情况,所以要使用e某pdp和impdp命令:1.在11g上创建目录、给予权限2.在11g上导出3.在10g上新建SIEBEL用户,确保用户下无数据,表空间为空。
4.在10g上D:\\oracle\\product\\10.2.0\\db_1\\BIN文件夹下执行导入命令导入。
参考1:一次Oracle11g数据库导入Oracle10g数据库操作笔记11g备份,导入10g的时候会抛错,直接阻止导入。
但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。
chema=ybjdirectory=DATA_PUMP_DIRdumpfile=aa.dmplogfile=aa.lo gverion=10.2.0.1.0其中,红色文字部分是根据需要改写的地方。
例如我的y密码是cuc2022,数据库id是cuc,要到出的用户名是ybj,要导入到10.2.0.1.0版本的Oracle数据库中去。
aa.dmp和aa.log将会在11g的dpdump目录中生成,例如我的11g装在了E盘下面,于是aa.dmp将会在E:\\app\\Adminitrator\\admin\\cuc\\dpdump目录下被生成。
二、在10g服务器上,使用impdp命令恢复数据准备工作:1.建库2.建表空间3.建用户并授权4.将aa.dmp拷贝到10g的dpdump目录下1-3点可以去参考博主的上一篇博客“Oracle数据库移植全步骤”,介绍的很详细,这里不再多说。
关于第4点,我的10g装在了e:\\tool 目录下,于是我将aa.dmp文件拷贝到了E:\\tool\\admin\\cucf\\dpdump目录下。
chema=ybjdirectory=DATA_PUMP_DIRdumpfile=aa.dmplogfile=aa.lo gverion=10.2.0.1.0其中红色部分是根据需要改写的地方。
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。
oracle常用的数据库迁移方法

oracle常用的数据库迁移方法Oracle是一种常用的关系型数据库管理系统,为了满足不同需求,很多时候需要将数据库迁移到其他环境或系统中。
本文将介绍几种常用的Oracle数据库迁移方法。
一、数据泵导入导出数据泵是Oracle提供的一种高效的数据迁移工具,可以将表、视图、存储过程等数据库对象以及数据导出为二进制文件,再通过数据泵导入工具将数据导入到目标数据库中。
数据泵导出可以使用expdp命令,导出的文件可以包含完整的数据库对象和数据,也可以只导出指定的对象。
数据泵导入可以使用impdp命令,将导出的文件恢复到目标数据库中。
二、物理备份恢复物理备份恢复是一种将源数据库的物理文件备份并复制到目标数据库的方法。
这种方法适用于需要将整个数据库迁移到其他环境的情况。
在源数据库上执行备份命令,将数据库的物理文件备份到指定位置。
将备份文件复制到目标数据库服务器上。
在目标数据库上执行恢复命令,将备份文件恢复到目标数据库中。
三、逻辑备份恢复逻辑备份恢复是一种将源数据库中的逻辑数据导出为可读的文本文件,再通过导入工具将数据导入到目标数据库中的方法。
在源数据库上执行逻辑备份命令,将数据导出为文本文件。
将备份文件复制到目标数据库服务器上。
在目标数据库上执行导入命令,将备份文件导入到目标数据库中。
四、数据库链接数据库链接是一种在不同数据库之间进行数据传输和共享的方法。
可以在目标数据库中创建一个链接,链接到源数据库,然后通过SQL语句将数据从源数据库传输到目标数据库。
在目标数据库中创建一个数据库链接,链接到源数据库。
通过SQL语句查询源数据库中的数据,并将数据插入到目标数据库中。
五、GoldenGate数据复制GoldenGate是Oracle提供的一种高性能数据复制工具,可以将源数据库的数据实时复制到目标数据库中。
这种方法适用于需要实时同步数据的场景。
在源数据库和目标数据库上分别安装和配置GoldenGate软件。
在源数据库上配置数据抽取进程,将数据抽取到中间文件。
关于将Oracle 10g数据表迁移到SQL Server 2005数据库图解

数据迁移——关于将Oracle 10g数据表迁移到SQL Server 2005数据库图解将Oralce10g数据库(源数据库)数据抽取到SQL Server2005数据库(目标数据库)必须先配置Oracle数据源,关于数据源配置请参考此文档Oracle 10g数据源配置.doc(双击此图标打开)1、选择目标数据库,右击选择任务>导入数据,如下图所示:点击,进入如下界面2、如上图点击<下一步>进入如下界面,点击下拉框选择Oracle Provider for OLE DB选项3、选择好数据源,点击当前窗体中的属性按钮,跳出下图所示的窗体4、配置数据源连接,数据源和密码和我们已配置好的数据源信息相对应,选择复选框<允许保存密码>,点击<测试连接>按钮,如果提示测试连接成功,O(∩_∩)O哈哈,恭喜你配置连接成功,点击<确定>,点击<下一步>5、如上窗体点击下一步按钮,进入如下窗体,确定目标数据库配置信息无误后点击<下一步>6、点击上窗体的<下一步>后,跳出如下窗体,继续点击<下一步>7、点击如上窗体的<下一步>按钮,跳出如下窗体,选择需要迁移的表(选中相应表前的复选框),选好后点击<下一步>按钮。
8、如果迁移的表数量比较多,会报出如下警告,所以对于很多表进行迁移时最好分批进行迁移9、如果在迁移数据时,跳出如下警告,是因为Oracle数据库中的极个别数据类型在SQL Server不存在,所以不识别,当前本人操作出现警告原因是因为Oracle 存在number数据类型(其中两张表存在此number类型,如报出的警告所示,分别是AAENDO_POL表和AAPAY_POL表),而SQL Server不识别此类型,遇到此情况的解决办法是:点击此两张表对应的如此图中的<编辑>按钮10、点击<编辑>按钮进入如下窗体,将在Oracle数据库中存在类型是number类型的字段改为对应SQL Server中的decimal类型,修改完成后点击确定按钮11、当点击如上图中的<确定>按钮,跳出如下窗体,继续点击<下一步>12、如下图点击<完成>按钮,开始执行数据迁移任务13、当迁移完成,并且无误后,如下图所示,状态全部显示成功14、此时查看目标数据库,会看到已将Oracle数据库中我们需要迁移的表迁移到了SQL Server数据库注意:此功能无法迁移源数据表的主外键,索引。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle10g的数据迁移方案2009-03-27 08:18Lora是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。
这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。
会上提出的一种想法是创建几个小型数据集市--每个集市根据一个特定的职能范围存储数据--这样每个数据集市就可以由专门的团队来使用。
为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。
该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。
这就是Lora为什么出席会议的原因。
她会为移动数据提出哪些可供选择的方法呢?作为一名经验丰富、知识渊博的数据库管理员,Lora向与会者提供了三种可能的方法,分别是:使用可移动表空间使用数据泵(导入和导出)拖出表空间本文介绍Lora对这三种可选方法的解释,包括它们的实施细节和优缺点。
可移动表空间Lora从可移动表空方法开始介绍。
把整个表空间移动到目标系统的最快速方法是用FTP(文件传输协议)或rcp(远程复制)来简单地转移表空间的基本文件。
但是,仅仅复制Oracle数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。
使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。
在考虑该方法之前必须进行一些审查。
首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained)。
也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。
Lora解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。
例如,如果表空间TS1和TS2要作为一个集合进行转移,TS1中的一个表在TS2中有一个索引,则这个表空间集合就是自含式的。
但是,如果TS1中的一个表另一个索引在表空间TS3中,则该表空间集合 (TS1, TS2)就不是自含式的。
要移动表空间,Lora提议使用Oracle数据库10g中的数据泵导出(Data Pump Export)工具。
数据泵是Oracle的新一代数据转移工具,它替换了早期的Oracle Export (EXP)和Import (IMP)工具。
这些老的工具使用正则SQL来提取和插入数据,而数据泵则与它们不同,它使用能绕过SQL缓冲区的专用API,从而使操作过程速度变得极快。
此外,数据泵可以提取特定的对象,如特定的存储过程或特定表空间的表集合。
数据泵的导出和导入可以由作业控制,数据库管理员可以随时暂停、重启或终止这些作业。
开会前Lora运行了一项测试,看看数据泵能否解决Acme的要求。
Lora进行的测试是转移TS1和TS2表空间,步骤如下:1.检查TS1和TS2这个表空间集合是否是自含式的。
执行下面的命令:BEGINSYS.DBMS_TTS.TRANSPORT_SET_CHECK ('TS1','TS2');END;2.确定所有不可移动的集合。
如果没有选择任何行,则该表空间是自含式的:SELECT * FROM TRANSPORT_SET_VIOLATIONS;no rows selected3.确保该表空间是只读的:SELECT STATUSFROM DBA_TABLESPACESWHERE TABLESPACE_NAME IN ('TS1','TS2');STATUS---------READ ONLYREAD ONLY4.使用传输机制,如FTP或rcp,将每个表空间中的数据文件移到远程系统,放到/u01/oradata目录下。
5.在目标数据库中,创建一个到源数据库的数据库链接(在下面的命令行中命名为srcdb)。
CREATE DATABASE LINK srcdbUSING 'srcdb';6.在目标数据库中,使用数据泵导入工具将该表空间导入到该数据库中。
impdp lora/lora123TRANSPORT_DATAFILES="'/u01/oradata/ts1_1.dbf','/u01/oradata/ts2_1.dbf'"NETWORK_LINK='srcdb'TRANSPORT_TABLESPACES=\(TS1,TS2\)NOLOGFILE=Y这一步就使TS1和TS2表空间以及它们的数据可以在目标数据库中可用。
请注意,Lora并没有从源数据库导出元数据。
她只是在上面的impdp命令中指定参数NETWORK_LINK的值为srcdb,即到源数据库的数据库链接。
数据泵导入工具通过数据库链接从源数据库中获得所需的元数据,并在目标数据库中重新创建它们。
7. 最后,使源数据库中的TS1和TS2表空间成为可读写。
ALTER TABLESPACE TS1 READ WRITE;ALTER TABLESPACE TS2 READ WRITE;这一步使TS1和TS2表空间在源数据库中对用户立即可用。
请注意,在前面讲的所有步骤中,最费时的是第4步,在这一步中要跨各系统移动数据文件。
跨不同平台的挑战Lora知道,数据复制过程中的复杂因素之一就是源平台和目标平台经常不一致。
例如,在Acme的环境中,当前数据仓库位于运行Tru64 UNIX的HP服务器上,而建议的数据集市将部署在运行Linux和Windows的Intel硬件上。
在Oracle数据库10g出现之前,在Acme使用可移动表空间不是一个切实可行的方法。
你不能移动表空间,除非源数据库和目标数据库运行在同一个平台上。
有了Oracle数据库10g,这一限制得到了极大的缓解。
在移动表空间时,数据文件可以跨各操作系统任意复制。
在前面的例子中,数据文件可以从Tru64 UNIX 复制到Linux或Windows,而目标数据库仍能识别它们。
但是,管理团队必须考虑另一种限制。
默认情况下,只有两个操作系统具有相同的字节顺序(也被称为"endian-ness")时才可能进行跨操作系统复制。
在Acme 的情况下,Tru64 UNIX、基于Intel的Linux和Windows都使用little-endian 字节顺序(低位在前),因此在它们之间进行文件复制是可能的。
但是,有的团队成员提出了在有关数据仓库/数据集市的提案中使用Solaris操作系统的想法。
Solaris使用big-endian字节顺序(高位在前),这使得在数据库之间进行简单的文件复制成为不可能。
Lora解释说,Oracle提供了使用Oracle Recovery Manager (RMAN)进行字节顺序转换的解决方案。
她描述了针对RMAN解决方案的一个测试,该测试根据前面讲到的移动表空间解决方案的7个步骤,并稍作修改来适应Solaris到Intel/Linux的环境。
除了在第5步之前或之后额外增加一步以外,所有操作步骤都一样。
在源(Solaris)数据库服务器上执行的额外这一步如代码清单1中所示。
用这些代码,可以从Solaris格式的/u01/oradata/ts1_01.dbf文件创建Intel Linux格式的文件/u01/tts/ TS1_34。
注意最初的文件并没有被破坏;只是创建了一个可以被导入和传输到Linux上的目标数据库中的新文件。
然后Lora讨论了对RMAN解决方案的一些修改。
第一,为了提高性能,她可以指定PARALLELISM=<degree>子句来提高执行线程的数目。
第二,她可以指定在不同的目录下以相同的文件名创建数据文件。
这些修改如下:RMAN> CONVERT TABLESPACE TS12> TO PLATFORM 'Linux IA (32-bit)'3> DB_FILE_NAME_CONVERT4> '/u01/oradata','/u01/tts'5> PARALLELISM=46> ;这条命令用相同的文件名ts1_01.dbf但在/u01/tts目录下根据原始文件/u01/oradata/ts1_01.dbf创建一个转换后的数据文件。
这种方法将所有转换后的文件放到一个位置,这样确定转移哪个文件就更简单了。
Lora还可以在目标(Linux)数据库服务器而不是在源服务器上执行变换。
在这种情况下,将在Linux服务器上执行转换,如下所示:RMAN> CONVERT DATAFILE2> '/u01/oradata/ts1_1.dbf','/u01/oradata/ts2_1.dbf'3> TO PLATFORM='Linux IA (32-bit)'4> FROM PLATFORM='Solaris[tm] OE(64-bit)'5> DB_FILE_NAME_CONVERT="ts","tslinux"6> ;这条命令通过用tslinux代替ts(换句话说,将ts1_1.dbf转换到Linux上的文件格式,新文件名为tslinux1_1.dbf)来创建文件。
在数据库内,文件将用这个文件名。
Lora怎么知道哪个平台用哪种字节顺序呢?在数据字典视图上执行以下查询就会给出答案:SELECT * FROM V$TRANSPORTABLE_PLATFORM ORDER BY PLATFORM_ID;数据泵导出与导入工具选择可移动表空间的限制之一是在转移文件时源表空间必须是只读模式。
在现实世界中,并不总是能满足这一要求。
例如,在OLTP数据库中,可能对表要经常进行读写操作。
Lora提出的另一种方法是使用Oracle数据库10g中的数据泵实用工具来转移表空间。
她对这种方法进行的测试包括移动TS1和TS2表空间内容的以下步骤:1.创建一个目录对象来存放转储的文件。
CREATE DIRECTORY dump_dir AS '/u01/dumps';2.用数据泵导出工具导出数据。
expdp lora/lora123 TABLESPACES=\(ts1,ts2\) DUMPFILE=ts1_ts2.dmp DIRECTORY=dump_dir这一步创建一个包含TS1和TS2表空间内容的文件/u01/dumps/ ts1_ts2.dmp。
3.将文件ts1_ts2.dmp转移到远程系统中,放在目录/u01/dumps下(用文件传输的方法如FTP或rcp)。