首页 oracle数据迁移方案

oracle数据迁移方案

举报
开通vip

oracle数据迁移方案oracle数据迁移方案 数据迁移通俗的说就是将数据从一个地方转移到另一个地方。主要使用场景有:根据正式系统搭建测试环境、从内网复制到外网、数据库服务器硬件升级等。根据需要迁移的数据量大小、系统架构,可采取不同的迁移方法。 注:以下所说方法,不考虑数据的增量更新、不考虑数据的实时同步、不考虑数据的逻辑转换。如果有这些需求,建议使用第三方ETL工具或使用oracle的其他数据同步技术。 一、常用示例 1.1 如何在客户现场搭建测试环境, 常规方案,使用imp/exp工具,先在源库执行直接路径导出操作,然后在...

oracle数据迁移方案
oracle数据迁移 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 数据迁移通俗的说就是将数据从一个地方转移到另一个地方。主要使用场景有:根据正式系统搭建测试环境、从内网复制到外网、数据库服务器硬件升级等。根据需要迁移的数据量大小、系统架构,可采取不同的迁移方法。 注:以下所说方法,不考虑数据的增量更新、不考虑数据的实时同步、不考虑数据的逻辑转换。如果有这些需求,建议使用第三方ETL工具或使用oracle的其他数据同步技术。 一、常用示例 1.1 如何在客户现场搭建测试环境, 常规方案,使用imp/exp工具,先在源库执行直接路径导出操作,然后在目标库执行导入操作。IMP/EXP的执行速度主要受限于磁盘及网络。 数据量:1.5G 导出用时:5分钟 导入用时:23分钟 导出文件大小:641M 导出导入环境:单CPU,700M内存。为力求最大速度,使用直接路径导出、设置最大I/O缓冲、导入导出文件都放在服务器上执行。 1.2 还有没有更快的办法, 有,仍然使用impdp/expdp。只是不再将数据导出后导入,而是直接将数据从源库导入到目的库。 CMD> Impdp testi@目标库 directory=DMPDIR schemas=TESTI network_link=源库dblink remap_schema=TESTI:TESTA 上面语句的操作是将源库的TESTI用户的数据,导入到目标库的TESTA用户下。 这个操作是局域网内迁移数据最方便的工具,不过也可能是速度最慢的工具。 1.3 有没有还快一点的方法, 有,换用impdp/expdp。同样在源库执行导出,在目标库执行导入。操作速度能得到极大提升。IMPDP/EXPDP速度主要受限于磁盘, 与网络无关。 原数据大小:1.5G expdp导出操作用时:5分钟 impdp导入操作用时:22分钟 导出文件大小:588M 导出导入环境:单CPU,700M内存,并行度 = 1 ,,你不是说这个会更快么,为什么速度跟3.1的imp/exp差不多啊, 请看第四部分总结的解释。 1.4 你还敢再快一点么, 使用 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 空间迁移。将表空间的元数据导出,和数据文件一起,复制到新库。执行元数据导入。一般来说,整个导入导出的数据量不到 5M。速度相当快,但使用限制比较多。 导出时间:1分钟 导入时间:3分钟 导出文件:60M + 数据文件1.5G 1.5 如何将数据从linux环境转到windows环境, 查看v$transportable_platform,如果数据编码一致,可尝试直接复制数据文件。否则使用rman或impdp/expdp或imp/exp。 1.6 如果你有一个excel格式的数据表,需要远程更新到客户数据库上,怎么更新, 使用pl/sql developer,复制、粘贴、提交。 1.6 如果你需要将正式库的几张表,迁移到测试库来,怎么弄快些, 用dblink+脚本,或者使用impdp远程导入。 二、局部数据的迁移 2.1、广域网的迁移 2.1.1 pl/sql developer 广域网下小数据量的迁移,常用pl/sql developer工具来完成。 在本地打开excel文件,复制数据。然后通过“远程桌面”,到远程服务器的pl/sql界面上粘贴,就可以了。操作简单方便。 第一步:在本地复制数据 第二步:打开远程桌面 第三步:在远程机器的pl/sql里面粘贴数据 第四步:保存数据 这种方法在小数据量下很好用。大数据量时,一个表一个表的粘贴比较麻烦,且一粘贴可能就卡在那里了,得等10来分钟。 2.1.2 imp/exp 广域网内大数据量的迁移,通常使用imp/exp工具。先在源库上使用exp工具,导出数据压缩包,通过网络发送到目标数据库。在目标数据库上再imp。 第一步:本机连接到源库上,执行exp Exp一般使用直接路径导出,速度可以达到常规路径导出的3倍以上。 参数解释: Parfile:指定导出的参数配置文件 Log:导出日志输出到哪个文件 recordlength=65535:设置最大I/O缓冲为64K(该参数最大64K) Direct=y:数据经直接路径导出,不再经SGA导出 Owner=testi:仅导出用户testi的数据。 第二步:本机连接到目标库上,执行imp Parfile:指定导入的参数配置文件 Log:导入日志输出到哪个文件 Feedback=1000:每导入1000行,在屏幕上输出一个”.” Buffer=10000000:设置导入缓冲区大小 Fromuser=testi:仅导入testi用户的数据 Touser=testi:将数据导入到新用户testi下。 2.2、局域网内迁移 局域网内的数据迁移,方案比较灵活。常用的方法有:imp/exp、impdp/expdp、dblink+脚本、表空间迁移。 其中imp/exp在2.1.2已有介绍,这里主要介绍其他方法: 2.2.1 dblink+脚本 2.2.1.1 基本介绍 通过dblink将多个分布式数据库连接起来,对外提供统一的服务。可以实现在一个数据库上,访问多个分布式数据库。使用“dblink+ 脚本”的方法来转移数据,配置灵活,但脚本写起来比较麻烦。需要为每张表单独写脚本。 2.2.1.2 实施方案 关于机房搬迁实施方案高中班级自主管理实施方案公交公司安全生产实施方案成立校园管乐队的实施方案中层管理人员竞聘上岗实施方案 主要配置分两步: 1) 创建数据库连接 create database link LINKNAME connect to DBUSER identified by password using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.9)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME =ORCL) ) )'; 2) 执行抽取脚本 如:将表B的数据抽取到表A中。 Create table A as select * from B@LINKNAME; 对每张需要同步的表分别写脚本。 2.2.2 impdp/expdp 2.2.2.1 基本介绍 Impdp/expdp就是imp/exp的升级版,在oracle 10g开始引入。 其主要加强功能如下: 1) 性能优化,导入导出速度明显提升 2) 提供并行执行的能力,加快导入导出速度 3) 提供交互式界面,可随时暂停导入导出操作 4) 提供多种表加载策略,如:追加、替换、跳过等 5) 提供数据库对象间的直接交换功能。 6) 提供导出文件大小估计功能 7) 提供导入、导出进度查看功能 8) 自动在导出文件目录下生成导入、导出日志文件。 但impdp/expdp也有比较明显的限制。 1) 与imp/exp工具生成的数据包不兼容 2) 能远程调用,但导入导出文件必须放到服务器上 总体来说,impdp/expdp优势还是很明显的,所以能使用impdp/expdp时,尽量不使用imp/exp。 2.2.2.1 实施方案 Impdp/expdp的使用,主要分为三步: 1) 创建目录映射 在数据库上,创建到操作系统目录的映射: Create directory DMPDIR as‘c:\oracle\dump\’; 授予用户USER01对该目录的读写权限: Grant read ,write on directoryDMPDIR toUSER01; 2) 执行导出脚本 导出: 参数解释: Directory:数据文件导出到哪个路径下,这里是指定第一步创建的directory。 Dumpfile:导出文件名 Logfile:日志文件名 Parallel:设置导出job的并行度,如果对导出速度有较高要求,可设置CPU数 - 1 Job_name:为导出job命名 SCHEMAS:指定导出哪个用户的数据。 3) 执行数据导入脚本 首先仿照第一步,在目标库上创建操作系统目录映射。然后将第二步的导出文件拷贝到目标数据库对应目录下。然后执行以下脚本: 参数解释: Directory:导入文件所在的路径 Dumpfile:导入文件名 Logfile:指定生成日志文件的存放位置 Parallel:指定操作并行度 job_name:指定导入job名称 SCHEMAS:指定要导入的用户名 REMAP_SCHEMA =TESTI:TESTB:指定将TESTI用户的数据,导入到TESTB用户下 TABLE_EXISTS_ACTION=REPLACE:如果要导入的表已经存在,直接替换。 2.2.2.3 界面介绍 1) 导出界面 可看到整个导出文件,约需要749.5M的存储空间。当然,expdp也支持只评估空间,不导出数据。 2) 状态查看界面 如果想要查看数据导入进度,新开一个窗口,执行以下脚本: >expdp test@target ATTACH=TESTIMP > status 2.2.3 表空间迁移 2.2.3.1 基本介绍 表空间迁移,相当于将一个数据库的文件,直接用U盘拷贝到另一个数据库使用。虽然这个原理简单,但操作复杂。 这个操作限制比较多: 1) 原数据库与目标数据库数据库字符集相同、国家字符集必须相同。可查看视图v$nls_parameters确认; 2) 源库与目标数据库最好是同一oracle版本; 3) 不能搬移SYS和SYSTEM用户对象所在表空间。 2.2.3.2 实施方案 表空间的迁移,可以用imp/exp或impdp/expdp来完成,主要分3步: 1) 完成表空间集的自包含检查 SQL> exec dbms_tts.transport_set_check(‘TBS1’,true); 执行完成后,查询:select * from v$transport_set_violations; 如果没查出数据,表明可以执行表空间迁移。否则根据查询结果采取其他方法。 2) 执行表空间导出 SQL>alter tablespace users read only; CMD>expdp test@orcl directory=DMPDIR dumpfile=tbs_dmp.dmp transport_tablespace= USERS 3) 执行表空间导入 将第二步生成的tbs_dmp.dmp文件、表空间USERS对应的数据文件USER01.DBF通过U盘,拷贝到目标库,在目标库上执行导入: CMD> impdp test@orcl directory=DMPDIR dumpfile=tbs_dmp.dmp transport_tablespace=y tablespaces=USERS transport_datafiles=’c:\...\USER01.DBF’ SQL> alter tablespace users read write; 2.2.3.3 界面介绍 表空间传输,只是导出表空间的元数据,插入到新库中,因此速度很快。 三、整库迁移 整库迁移,一般用于环境的第一次搭建过程中。就是将整个数据库原封不动的挪到别的机器上。比较适合搭建独立的测试环境时使用。 整库迁移也可以使用前面介绍的imp/exp、impdp/expdp工具,但是速度奇慢,且经常报错。不如下面的方法好用。 3.1 冷备迁移 冷备迁移,就是将源数据库关闭,然后将数据文件拷贝到新机器的相同位置,直接打开新库就可以了。这个迁移过程,操作相对来说简单一些,也比较好控制,但有其局限性:不能跨操作系统硬件平台及数据库大版本。 Windows下的迁移步骤大致如下: 1) 关闭源数据库 2) 根据源库数据文件地址,在新机器上建立相应的操作系统目录 3) 将源库的数据文件、控制文件、参数文件、密码文件等拷贝到新库所在机器 4) 启动源数据库 5) 创建控制文件中 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的其他目录 6) 使用oradim创建实例 7) 启动目标数据库 8) 执行utlrp.sql脚本,编译所有无效对象。 3.2 RMAN迁移 用RMAN做整库迁移,比较方便,主要优点是可以跨操作系统硬件平台。 下面是一个将linux系统迁移到wimdows系统的具体实施步骤(当然在32位linux和32位windows之间,可以直接复制数据文件,无需 这么麻烦,此处为举例演示): 1) 以read only模式打开数据库 SQL>startup open read only; 2) 转换数据文件 CMD> RMAN target / RMAN> run{ convert database transport script '/home/oracle/temp/transcript.sql' on target platform convert script '/home/oracle/temp/convert.sql' to platform 'Microsoft Windows IA (32-bit)' db_file_name_convert('/oracle/oradata/orcl','/home/oracle/temp'); }; 3) 将参数文件、数据文件、转换脚本,拷贝到windows平台上 4) 在windows平台上建立数据库实例,然后依次执行脚本convert.sql、transcript.sql 5) 打开数据库,执行utlrp.sql,编译无效数据库对象。 四、总结 4.1 如何选择迁移方案 不同的迁移方案,所花费的时间可能在10分钟+到10小时+之间波动„„.. 方案选对了,你可以分分钟搞定,否则就得熬夜加班了。 总的来说,如果你要迁移数据,考虑工具的优先顺序如下: 把本文档从后往前看,就得到下面这顺序了„„.. 1) 如果迁移整个数据库,首选冷备迁移和RMAN迁移。否则首选表空间迁移 2) impdp/expdp 3) imp/exp 4) dblink+脚本 具体选择哪种方案,要根据实施环境而定。也许你谋划很久的方案,环境并不支持。但总有一种适合你。 4.2 impdp/expdp与imp/exp到底有什么区别, Impdp/expdp = imp/exp + direct mor + parallel Impdp/expdp比imp/exp快,最主要就是因为它具有并行执行的特性,且默认是直接路径导出。 除了性能优势外,impdp/expdp还提供了几个比较诱人的功能: 1) 提供并行执行的能力,加快导入导出速度 2) 提供交互式界面,可随时暂停导入导出操作 3) 提供多种表加载策略,如:追加、替换、跳过等 4) 提供数据库对象间的直接交换功能。 5) 提供导出文件大小估计功能 6) 提供导入、导出进度查看功能 7) 自动在导出文件目录下生成导入、导出日志文件。 回到最开始的问题,为什么imp/exp和impdp/expdp的导入导出速度差不多, 因为本次测试使用impdp/expdp工具时,设置的并行度为1。丧失了最主要的特性,能快的起来么。 既然这个并行度这么重要,那设置多少合适呢,设置太高,服务器CPU直接飙升至100%,导入速度还得不到提升。设置太低,完全看 不到提速的效果。推荐设置:等于服务器CPU数,但不要高于dmp文件的个数。
本文档为【oracle数据迁移方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:11
分类:生活休闲
上传时间:2017-10-15
浏览量:32