『紧急求助』导入150G的数据,给点建议谢谢

[复制链接]
查看11 | 回复9 | 2006-3-10 01:02:15 | 显示全部楼层 |阅读模式
机器的空间剩余情况,要导入150G的数据,各位高人给点建议,谢谢
[root@DB3 backup]# df -h
文件系统
容量已用 可用 已用% 挂载点
/dev/cciss/c0d0p3 9.7G8.1G1.1G89% /
/dev/cciss/c0d0p8 489G126G338G28% /backup
/dev/cciss/c0d0p199M 15M 80M16% /boot
/dev/cciss/c0d0p229G 18G 11G63% /home
none
2.0G 02.0G 0% /dev/shm
/dev/cciss/c0d0p7 2.0G 33M1.8G 2% /tmp
/dev/cciss/c0d0p6 2.0G1.2G713M62% /var
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
最初由 ok_zhixiang 发布
[B]机器的空间剩余情况,要导入150G的数据,各位高人给点建议,谢谢
[root@DB3 backup]# df -h
文件系统
容量已用 可用 已用% 挂载点
/dev/cciss/c0d0p3 9.7G8.1G1.1G89% /
/dev/cciss/c0d0p8 489G126G338G28% /backup
/dev/cciss/c0d0p199M 15M 80M16% /boot
/dev/cciss/c0d0p229G 18G 11G63% /home
none
2.0G 02.0G 0% /dev/shm
/dev/cciss/c0d0p7 2.0G 33M1.8G 2% /tmp
/dev/cciss/c0d0p6 2.0G1.2G713M62% /var [/B]

利用管道吧,设置20个进程,每个进程buffer 4M, 100M的交换磁盘空间就搞定了
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
150G?是exp出来的dmp文件?
如果是,估计比较危险哦
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
最初由 Toms_zhang 发布
[B]
利用管道吧,设置20个进程,每个进程buffer 4M, 100M的交换磁盘空间就搞定了 [/B]


怎么设置20个进程,举个例子




回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
最初由 lcx_315 发布
[B]

怎么设置20个进程,举个例子



[/B]

那150G的数据,不会是1个表吧?如果是一个表,那就1个进程也可以。根据机器和网络的情况,估计最慢1小时也搞的定。
如果是分布在多个表的,就按表导。根据表的大小,平均分配到多个进程中。
下面以AIX操作系统为例,写个DEMO
mkfifo fifo_${v_tname}
exp ${v_fromuser}/${v_frompass}@${v_service_name} tables=${v_tname} grants=n file=fifo_${v_tname} triggers=n indexes=n buffer=4096000 &
imp ${v_touser}/${v_topass} fromuser=${v_fromuser} touser=${v_touser} file=fifo_${v_tname} ignore=y
rm fifo_${v_tname}
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
oh.......
偶一般都是先imp ... file=... rows=n
再 ignore=y分别imp table.我还以为有什么绝招呢.......
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
最初由 lcx_315 发布
[B]oh.......
偶一般都是先imp ... file=... rows=n
再 ignore=y分别imp table.我还以为有什么绝招呢....... [/B]

一个最大的好处,就是可以在有限的磁盘空间下,照样完成数据迁移,另一个好处就是效率了,不能等你EXP出来后再IMP。
如果对时间和空间要求都比较紧张的话,这是一个不错的方法。
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
最初由 Toms_zhang 发布
[B]
那150G的数据,不会是1个表吧?如果是一个表,那就1个进程也可以。根据机器和网络的情况,估计最慢1小时也搞的定。
如果是分布在多个表的,就按表导。根据表的大小,平均分配到多个进程中。
下面以AIX操作系统为例,写个DEMO
mkfifo fifo_${v_tname}
exp ${v_fromuser}/${v_frompass}@${v_service_name} tables=${v_tname} grants=n file=fifo_${v_tname} triggers=n indexes=n buffer=4096000 &
imp ${v_touser}/${v_topass} fromuser=${v_fromuser} touser=${v_touser} file=fifo_${v_tname} ignore=y
rm fifo_${v_tname} [/B]

1小时能搞定150G? 单纯COPY都够呛吧
我上次用IMPDP导入160G(导出文件大小)数据到PC机,花了三四天,呵呵~
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
最初由 Toms_zhang 发布
[B]
那150G的数据,不会是1个表吧?如果是一个表,那就1个进程也可以。根据机器和网络的情况,估计最慢1小时也搞的定。
如果是分布在多个表的,就按表导。根据表的大小,平均分配到多个进程中。
下面以AIX操作系统为例,写个DEMO
mkfifo fifo_${v_tname}
exp ${v_fromuser}/${v_frompass}@${v_service_name} tables=${v_tname} grants=n file=fifo_${v_tname} triggers=n indexes=n buffer=4096000 &
imp ${v_touser}/${v_topass} fromuser=${v_fromuser} touser=${v_touser} file=fifo_${v_tname} ignore=y
rm fifo_${v_tname} [/B]

也就是根据某些规则,分开导出导入 对吗?
回复

使用道具 举报

千问 | 2006-3-10 01:02:15 | 显示全部楼层
恩,是什么小机?那么强悍,多大内存?什么存储?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行