利用RMAN转移数据和EXP/IMP转移数据的实测比较

比较|数据

由于工程需要经常将客户的现场数据导出到公司的开发环境中,随着客户现场数据量的不断增大,原先

使用的导出导入的方法需要花费越来越长的时间,所以测试一下RMAN的效率,验证是否能用恢复RMAN备

份的方法来代替以往的EXP/IMP方法。原本想过用传输表空间的方法,但是由于我们通常在创建数据库的

时候就给业务所用的表空间创建了很大的数据文件,这样在传输表空间的copy数据文件的步骤上会花费

很长的时间,所以还是决定测试一下RMAN了。

测试目的:
实现对于JHJKREC用户的数据转移。

在10.101.48.71机器上测试。
测试环境:
P42.8G单CPU,1G内存,80G单硬盘,Windows 2000 Server,Oracle817

跟JHJK用户相关的数据文件的总共大小为:21.4G
其中JHJKREC用户的对象总共大小为:2.1G

1。RMAN作full备份,用时20分钟,生成文件大小5.47G
EXP作JHJKREC用户数据导出,用时2分20秒,生成文件大小546M

2。RMAN作数据恢复,用时23分钟(包括restore数据文件,recover数据库)
IMP作JHJKREC用户数据导入,用时55分钟

3。RMAN备份在非归档模式下需要关闭数据库然后启动数据库到mount状态
EXP在非归档模式下不需要关闭数据库,但是数据表本身是不一致的

结论:
利用RMAN备份的时间明显长于EXP的时间,备份出的文件也远大于EXP出的文件
但是恢复的时间却要少于IMP所需要的时间。

利用RMAN恢复,还需要备份控制文件,而且由于是非归档模式,还需要检查当前能够恢复到的最大SCN,然后在SQLPLUS中recover database until change scn,然后再alter database open resetlogs,整个操作比EXP/IMP繁琐,对于现场业务人员来说可能较为困难,所以使用RMAN还是使用导出导入作数据转移,还是见仁见智吧。

以下为测试中RMAN和导出导入使用的命令,基本上没有作任何优化。

RMAN的备份脚本:
@@connect.rcv
# Backup up database at full level
#
shutdown immediate;
startup mount;
run{
 allocate channel d1 type disk;
 set limit channel d1 kbytes 2097150;
 backup full database
  format 'E:\rman_bak\dbfull_%d_%s_%p_%t'
  tag='dbfull';
 release channel d1;
}
alter database open;
exit;

RMAN的恢复脚本:
@@connect.rcv
shutdown immediate;
startup mount;
run {
     sql "alter session set nls_date_language=AMERICAN";
     sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";
     set until time '2004-9-7 15:30:00';
     allocate channel ch1 type disk;
     restore database;
     release channel ch1;
}
exit;

EXP的脚本:
userid=jhjkrec/jhjkrec
file=e:\rman_bak\jhjkrec.dmp
owner=jhjkrec
direct=n
compress=n
feedback=1000

IMP的脚本:
userid=jhjkrec/jhjkrec
file=e:\rman_bak\jhjkrec.dmp
ignore=y
fromuser=jhjkrec
touser=jhjkrec
feedback=1000

 

时间: 2024-09-19 10:09:10

利用RMAN转移数据和EXP/IMP转移数据的实测比较的相关文章

EXP/IMP迁移数据 导入导出全过程

EXP/IMP迁移数据   项目背景: 原来的数据库服务器运行在HP DL388G7服务器上面,内存32G,由于业务增长,内存吃紧,加上时不时出现服务器硬件故障,由于是单实例单服务器,存在单点发现,于是打算采取一些措施改善一下: 1)升级服务器内存 2)并搭建服务器操作系统级别的双机 3)迁移数据库数据到新服务器   前面已经写过升级服务器内存相关的文章,题目为"数据库服务器升级内存需要考虑的问题",链接如下:http://blog.csdn.net/laven54/article/d

oracle exp&imp字符集设置与乱码

         在oracle使用exp/imp进行数据迁移时,需要注意xshell.exp/imp字符集.数据库字符集的设置,否则,一旦发生字符集转换而出现中文数据乱码,将前功尽弃.相较而言,oracle数据库比较人性化,万不得已时,可以调整数据库字符集.下面举一个调整数据库字符集.exp/imp字符集.xshell字符集避免中文乱码的例子.        首先,源库exp导出时数据库字符集是ZHS16GBK,NLS_LANG分别为空.AMERICAN_AMERICA.ZHS16GBK.  

如何将EXP出来的数据IMP进不同的表空间

数据 Author:Kamus Mail:kamus@itpub.net Date:2004-1   经常有人会问:原来的数据在USERS表空间里面,我想把它IMP进APP表空间,我已经修改了目的用户的默认表空间,为什么结果还是IMP到USERS表空间中了呢.   关于此问题,作如下解释: Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间.   1.在IMP时候使用INDEXFILE参数 当给此

Oracle exp/imp命令快速导入导出数据

用exp命令导出表结构,不导出表数据.只需在命令行里加一个参数rows=n即可.表示不导出表数据. exp username/pwd@sid file=d:databak.dmp owner=(user)rows=n ******************************************************************************************************************** oracle exp/imp命令详解 E:>ex

使用exp/imp导入oracle 11g数据到oracle 9i

现在有个需求,需要使用exp/imp导入11g的数据库数据到9i中,解决这个问题一般来说想到三种方法思路,一个个尝试(其实从高版本服务端支持低版本客户端的原则,可以大概的猜测出使用9i的客户端处理该问题) 方法1:导出导入都使用11g客户端 --11g客户端导出 [oracle@xifenfei ~]$ exp chf/xifenfei file=/tmp/t_xifenfei.dmp >log=/tmp/t_xifenfei.log tables=chf.t_xifenfei Export:

Oracle数据导入导出imp/exp(转)

      在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 一.Oracle数据导出exp  1.Exp参数详解(红色字体代表比较重要的参数): (1) USERID 运行导出命令的帐号的用户名/口令 (2) BUFFEER 用来取数据行的缓冲区的大小 (3) FILE 导出转储文件的名字 (4) COMPRESS 导出是否应该压缩有碎片的段成一个范围,这将会影

Oracle数据导入导出imp/exp sp2-0734:未知的命令开头imp

sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类 应该是在cmd的dos命令提示符下执行,而不是在sqlplus里面......但是格式一定要类似于: imp PERSONNEL_MANAGE/MWQ@DBSQL full=y  file=C:personnel_manage.dmpignore=y 谨以此纪念我的粗心.....我错了.   imp 命令是在dos提示符下执行的. 直接cmd后执行而不是在sql下执行的 数据导出: 1 将数据库TEST完全导出,用户名system

解决Oracle中Exp/Imp大量数据处理问题

Oracle的exp/imp是许多用户经常使用的两个工具. 它们常被用来做数据库的逻辑备份,数据库重组和数据转移等工作. 先由exp把数据卸出到文件系统, 产生一个.dmp文件, 然后必要时再由imp将数据装入数据库. 对于一般中小型数据库来说, 全数据库的exp所产生的dmp文件可能小于2GB, 但对稍大型的数据库, exp产生的数据动辄数十至上百个GB. 而现时多数操作系统为32位, 其文件系统允许的最大文件为2GB. 这样显然不能由文件系统存放exp产生的数据. 这是问题之一. 另一个问题

【MOS】如何利用RMAN可传输表空间迁移数据库到不同字节序的平台(文档 ID 1983639.1)

如何利用 RMAN 可传输表空间迁移数据库到不同字节序的平台 (文档 ID 1983639.1) 适用于: Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 12.1.0.1 [发行版 10.1 到 12.1]本文档所含信息适用于所有平台******************* 警告 ************* Document 1334152.1 Corrupt IOT when using Transportable Tablespace