Oracle 大数据量数据生成器Data Generator的使用

系统 1630 0

 

转自: http://www.cnblogs.com/Automation_software/archive/2011/01/27/1946366.html

Oracle大数据量数据生成器Data Generator的使用

首先测试环境建立: dept

CREATE TABLE  dept

      ( deptno    NUMBER ( 6 ),

        dname     VARCHAR2 ( 20 ),

        loc        VARCHAR2 ( 20 ));

     以下实验就是像 dept 表中插入大量的数据。

数据生成器允许创建演示和测试数据。对于测试应用程序和查看它们怎样执行大量的数据,这很有帮助的。可以在 PL/SQL Developer 的工具菜单的下面找到数据生成器: Data Generator

基本上,定义由一个或多个表、要生成的记录数量和字段数据定义构成。左上部的按钮允许打开和保存定义。

Oracle 大数据量数据生成器Data Generator的使用

 

在上面,可以看到提供的  dept 演示,这个演示是为  dept 表创建数据。在这一页中,发现有下列项目:

           •表  表的名称。

           •记录数  要生成的记录数。这可以是数字,也可以是象  10..100  这样的范围。

           •名称  字段名称。

           •类型  字段的数据类型。

           •大小  字段大小(在适当时)。对于数字字段,这将是数值范围、精度。

           •数据  字段数据的定义(见下面)。

           •主列  如果这个表是另一个表的明细,可以设置主列。对于每个已产生的记录,指定数量的明细记录将被生成。

我们可以使用 添加现有表 按钮来添加一个现有的表,还可以从对象浏览器中拖放一个表。

数据定义

数据定义决定了被生成的数据。如果要创建简单的字符,可以在两个方括号之间输入字符定义: [ 数据 ]

数据可以是下列预先确定的集的混合体:

           •   a: a..z ( 小写字符 )

           •   A: A..Z ( 大写字符 )

           •   @: A..Z   a..z ( 所有字符 )

           •   #: A..Z   a..z   0..9 ( 所有字符和数字 )

           •   *: #33..#126 ( 所有  ASCII  字符 )

           •   0: 0..9 ( 所有数字 )

           •   1: 1..9 ( 所有除了  0  之外的数字 )

           •   9: 0..9 ( 所有数字 )

 

例如:

[Aaa00]  生成字符串如:  Gxe21 Liy05  等。

还可以在两个单引号之间添加文字文本。

例如:

[AA '-' 1000]  生成字符串如: CX-4903  SY-1044  等。

在定义中空格字符是被忽略的,除非它们在引号中。

如果要一个字符重复许多次,可以在字符的后面两个括号之间添加次数 (n) 。还可以添加一个随机数 ( 最小 .. 最大 )

例如:

[Aa(5..15) ' ' Aa(8..20)]  的结果就象这样: "Masfae Qwwecdsadif"

定义中的文字文本不必被装入到括号中。换句话说, ['hello']   'hello'  是等效的。不带引号被输入的文本被认为是函数。

有几个特定的函数是可用的:

           Signal(Min, Max, Delta, Noise)  返回技术测定数据(象温度这样的)。 Min (最小)和  Max (最大)决定了范围,  Delta (△)为最大更改量,还可以添加一些  Noise (噪声)。例如: Signal(-10, 20, 0.1, 0.1)

           Random([Min], Max)  返回 Min (最小)和  Max (最大)之间的随机数。如果只指定了  Max  ,那么  Min  就被设为  0  。对于日期字段,可以输入 Min (最小)和  Max (最大)的日期。

           Sequence(Start, [Inc], [WithinParent])  返回序号。 Start  为开始值, Inc  为增量(默认为  1 )。对于明细表,可以再指定 WithinParent  关键词来指出序列应该为每个父记录进行重新安排。

           List('item'(weight), 'item'(weight), ...)  随机地返回指定项目( item )之一。加权数( weight )可以被添加到两个括号之间,允许特定项目比其他项目出现的几率更大。 例如: List('CLERK'(50), 'SALESMAN'(30), 'MANAGER'(10))

List(select statement)  象前面的  List  函数,但项目是通过  SQL select statement select  语句)返回的。

 Text([Style], MaxCharacters, [WordsPerLine, LinesPerParagraph])  这个函数返回文本。可选择的  Style (字体)参数可以是 LorumIpsum (默认)(怀疑是荷兰语。 —— 译者姜华东注)、英语、德语或日语。它还可以是象  [aA]  这样的字符集,在这种情况下,词汇从指定的字符集中产生。  MaxCharacters  决定了生成的文本的最大大小, WordsPerLine   LinesPerParagraph  决定了行和段落的大小。指定的大小可以是指定的数字或范围(最小 .. 最大)。

 File(path, path, ...)  从特定的路径( path )中随机地选择一个文件,并插入内容。允许输入二进制数据(象图片这样的)到数据库中。路径可以使用通配符,象  d:\images\*.bmp  这样的。

可以通过使用下列函数更改前面函数的文本结果:

           Uppercase()

           LowerCase()

           InitCaps()

例如: InitCaps( List(select ename from emp) )

还有几个预先定义的数据集可用于生成或多或少的真实数据。可以使用下列定义:

           Firstname  一般列表中的名

           Lastname  一般列表中的姓

           Company  公司名(现有公司的随机列表)

           Address1  地址行  1

           Address2  地址行  2

           ZIP  邮政编码

           City  城市

           State 

           Country  国家

           Email  (被关联到  Firstname  Lastname   Country

还有一些可用的实例自定义数据集:

           Components.Code  一般商品项目:商品代码

           Components.Description  商品描述(计算机部分)

           Components.Price  商品价格

           Elements.Name  化学元素(名称)

           Elements.Symbol  化学元素(符号)

这些数据集可以在  DataGenerator\UserData  目录中被找到,文件名为 elements.txt   components.txt  。如果需要,可以添加自己的集。添加一个逗号分隔的文件很简单,在文件中第一行两个方括号之间保存着描述。可以通过指定 文件名 . 描述 来使用的文件中的数据,就象两个例子那样。

上面提及的所有函数和数据都可以添加到一起,例如: Random(10..99) + '-' + [A(4)]  。  + 是可选的,但那中至少应该有一个空格作为分隔符。

 

选项

选项标签页允许设置一些首选项,特别是数据生成器的定义。可以指定一个日期的格式(与被  Random  函数使用的例子一样)。还可以指定在多少条记录之后需要提交(设为  0  是一完成就提交)。延迟首选项仅仅用于一些实时测试,这中需要数据以指定的速度被插入。

Oracle 大数据量数据生成器Data Generator的使用

 

自定义部分允许定义或越过被用于  [ 数据 定义的字符集。项目总是单个字符,值是一个或多个空格分隔的字符范围,就象这样: A..Z a..z 0..9 #200..#220  。例如,要定义一个十六进制的字符集,可以指定  H  为项目, 0..9 A..F  为值。

初始化脚本 部分允许指定在数据被插入到数据库中前应该被执行的  SQL  语句。在典型的情况下,这将是创建表或截短表、选择回滚段等的语句。多个语句需要用分号来分隔。

通过按左边首选项按钮,在默认的情况下,对于所有数据生成器的一般选项可以被定义。如果数据生成器定义中相应的首选项也被设置了,这些首选项将被否决。

 

生成数据

在左下方有三个按钮可用于生成实际的数据:

           •开始测试运行  这将在结果标签页上的表格中生成数据和显示结果。通过右键单击表格,可以以不同的格式导出这些结果。

           •创建数据为  SQL  生成数据为  SQL  脚本。这仅仅工作于不用文件功能添加来自文件的数据的情况下。

•在数据库中创建数据  生成数据到  Oracle  数据库中。

 

一些例子:

Sequence(1, 1)
Text(20, 20, 1)
Text(30, 30, 1)
Text(300, 10, 1)
Signal(2000,2013,13,0) '/' Signal(1,12,12,0) '/' Signal(1,28,28,0) ' ' Signal(00,23,23,0) ':' Signal(00,59,59,0) ':' Signal(00,59,59,0)
Text(2000, 8..12, 3..8)
Random(0, 10000)
SQL(systimestamp)
Random(1, 148)

Oracle 大数据量数据生成器Data Generator的使用


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论