Oracle10g的数据迁移方案.docxVIP

  • 2
  • 0
  • 约7.06千字
  • 约 9页
  • 2018-03-24 发布于湖南
  • 举报
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)就不是自含式的。 要移动表空间,Lora提议使用Oracle数据库10g中的数据泵导出(Data Pump Export)工具。数据泵是Oracle的新一代数据转移工具,它替换了早期的Oracle Export (EXP)和Import (IMP)工具。这些老的工具使用正则SQL来提取和插入数据,而数据泵则与它们不同,它使用能绕过SQL缓冲区的专用API,从而使操作过程速度变得极快。此外,数据泵可以提取特定的对象,如特定的存储过程或特定表空间的表集合。 数据泵的导出和导入可以由作业控制,数据库管理员可以随时暂停、重启或终止这些作业。 开会前Lora运行了一项测试,看看数据泵能否解决Acme的要求。Lora进行的测试是转移TS1和TS2表空间,步骤如下: 1.检查TS1和TS2这个表空间集合是否是自含式的。执行下面的命令:BEGIN SYS.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 srcdb USING srcdb;6.在目标数据库中,使用数据泵导入工具将该表空间导入到该数据库中。 impdp lora/lora123??TRANSPORT_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 TA

文档评论(0)

1亿VIP精品文档

相关文档