10g数据迁移.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10g数据迁移

Lora是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 selected 3.确保该表空间是只读的: SELECT STATUS FROM DBA_TABLESPACES WHERE TABLESPACE_NAME IN (TS1,TS2); STATUS --------- READ ONLY READ ONLY 4.使用传输机制,如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,即到源数据库的

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档