分享
 
 
 

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

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Oracle的eXP/imp是许多用户经常使用的两个工具。 它们常被用来做数据库的逻辑备份,数据库重组和数据转移等工作。 先由exp把数据卸出到文件系统, 产生一个。dmp文件, 然后必要时再由imp将数据装入数据库。

对于一般中小型数据库来说, 全数据库的exp所产生的dmp文件可能小于2GB, 但对稍大型的数据库, exp产生的数据动辄数十至上百个GB. 而现时多数操作系统为32位, 其文件系统答应的最大文件为2GB. 这样显然不能由文件系统存放exp产生的数据。 这是问题之一。 另一个问题是随着数据库的不断增大, exp所需时间越来越长以致实际上很难实施。 本文针对以上两个问题讨论相应对策。

我们以UNIX为例首先看看如何超越2GB限制。 这需利用UNIX的通用技术, 如管道(named pipe), 数据拷贝工具dd以及数据压缩(compress)。 下面分别讨论这几种技术。

。管道 是一种伪文件。 它存在于内存中, 用于快速I/O操作。 管道的缓冲区采用先进先出机制, 即写管道进程写到缓冲区头部而读管道进程读取管道尾部。 建立管道的命令为“mknod filename p".

。dd 答应我们从一个设备拷贝数据到另一个设备。

。compress 为UNIX数据压缩工具。

实施exp之前, 我们可先检查所产生dmp文件的大小。 以下步骤既可实现,

1. 生成管道:

$ mknod /tmp/mypipe p

2. exp结果输出到该管道

$ exp file=/tmp/mypipe <……其它exp选项> &

3. 读取管道并把结果输出到管道, 只为查看数据量:

$ dd if=/tmp/mypipe of=/dev/null

结果返回exp (。dmp)文件大小, 单位为块(512 bytes)。

现在我们可以着手讨论具体方法,

1. 文件压缩

2. 直接exp到磁带

3. 综合方法

首先看文件压缩方法。 利用文件压缩我们可尽量避免dmp文件大小超过2GB限制。 我们利用UNIX的管道技术, 具体步骤如下,

1. 启动compress进程, 使之从管道读取数据并输出到磁盘文件。

$ mknod /tmp/exp_pipe p

$ compress < /tmp/exp_pipe > export.dmp.Z &

2. exp到管道。

$ exp file=/tmp/exp_pipe …… &

imp时情况类似。

再看看直接exp到磁带上的方法。

$ exp file=/dev/rmt/0m volsize=4G

$ imp file=/dev/rmt/0m volsize=4G

最后看看exp到裸设备上的方法,

$ exp file=/dev/rdsk/c0t3d0s0 volsize=4G

imp类似。以上方法都可使我们避免2GB限制。

下面讨论如何缩短exp索需时间的问题。 目前多数用户会采用exp到磁带的方法只因没有足够的剩余硬盘空间。 而整个exp过程所花时间的大部分都在写磁带上。 通过我们上面对UNIX工具的讨论, 我们可以做到先exp到管道, 再将管道数据压缩后输出到磁带上。 这样写磁带的数据量可大大减少, 从而在相当程度上缩短写磁带时间。 另外从Oracle内部角度讲, 从7.3版开始, Oracle答应用户做direct path export, 即跳过Oracle

$ make -f $ORACLE_HOME/rdbms/lib/oracle.mk expst

$ make -f $ORACLE_HOME/rdbms/lib/oracle.mk impst

以上步骤产生的可执行文件expst (exp single task)和impst与exp/imp用法完全相同。

使用它们比使用exp/imp可节省多至30%的时间。 但在使用它们时千万要注重一点, 即一定要保证在使用expst/impst时不能有任何其他用户在使用Oracle数据库, 否则数据库会产生不可预知的后果甚至毁坏。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有