Oracle快速生成大量测试数据

最近有个小模块,是在灾备机之间拷贝备份数据,同时把相关的数据表也拷贝到目标系统上。

这里涉及到一个问题:Oracle表空间达到上限之后怎么处理?

一般来说,将表空间设置为自增,不限制最大容量可以满足大部分需求。但是,即便是表空间不设置上限,数据文件的大小也是会有最大值的,这是因为Oracle 数据文件最多可以包含 4194303 个 Oracle 数据块,通常数据块大小为8KB,也就是说,文件尺寸的最大值一般是32GB。

表空间达到这个理论上的容量上限之后,最好的处理办法应该是追加数据文件吧,语句如下:

ALTER TABLESPACE DATA_TEST_TS ADD DATAFILE 'D:\..\YOUR_DATA_FILE_PATH.dbf' SIZE 50m AUTOEXTEND ON NEXT 50M MAXSIZE 32767m

如何快速生成大量的测试数据呢?比如需要1TB的测试数据,该怎么处理?

我觉得按下面的步骤会稍微快一些:

1.创建表并循环插入数据,使得这张表大概占用1GB的空间。

2.exp命令导出表结构和数据。

3.imp命令重复多次导入第二步的***.dmp文件。

在第三步之前可以先将原表重命名,避免表名冲突。不知道向原表追加导入是不是可行,也不知道会不会使导入时间变长,没有尝试过。。。

具体实现是这样的:

先创建表空间并追加N个数据文件,随后创建一张大小1GB左右的表(这个时间比较长),然后导出这个表,最后用一个循环修改原表名并导入。导入1GB的数据要比使用

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值