PROGRESS数据库的创建

发表于:2007-06-07来源:作者:点击数: 标签:
PROGRESS9.1D一般创建多卷模式的 数据库 ,所以创建结构文件是首要的... 一、数据库结构文件的创建: Progress 9.1D一般创建多卷模式的数据库,所以创建结构文件是首要的!Progress数据库结构文件扩展名是st,比如生产系统数据库prod的结构文件是prod.st,和
PROGRESS 9.1D一般创建多卷模式的数据库,所以创建结构文件是首要的...

一、数据库结构文件的创建:

Progress 9.1D一般创建多卷模式的数据库,所以创建结构文件是首要的!Progress数据库结构文件扩展名是st,比如生产系统数据库prod的结构文件是prod.st,和DB文件同目录!

PROGRESS数据库结构文件的格式如下:

①指定Area的类型,比如是DB还是BI,如果以“#”字符开始,该行被认为是注释,具体规定如下:
   a --- After-image (AI) Area
   b --- Before-image(BI) Area 另外又称为Primary Recovery Area
   d --- Schema Area and Application Data Areas
   t --- Transaction log (for two-phase commit)
   【目前主要用到b & d 】

②Area的信息:"Area名称":Database engine-generated area number ,The records per block
///关于Database engine-generated area number和The records per block,妈的我也没搞懂

③数据库Area对应的文件名和路径(可以用绝对路径和相对路径,建议用绝对路径)
④Area数据存放的形式:
   f --- Fixed,就是固定大小,后面带一个固定的数值
   v --- Variable,可变大小,初始值128KB;通常后面带一个数值作为这个可变大小的最大值
   r --- Raw Device
   --- 表示无限制的可变大小(这时需要考虑操作系统的文件大小限制;比如HP-UX文件通常有2G限制)
⑤Area的大小(单位:Kb,该值必须是16的整数倍,否则会被数据库自动调整为最合适的16的整数倍大小)

二、数据库的创建:

例,假设progress安装目录是/mfg/dlc91,st文件已经创建且在当前目录,那么在当前目录下创建数据库命令如下:

# /mfg/dlc91/bin/prostrct create prod prod.st

如果st文件没问题,那么会出现正在formating extents等提示,然后OK!如果要指定数据库的block size:

# /mfg/dlc91/bin/prostrct create prod prod.st -blocksize 8192
Block size 必须是2的整数倍,一般是1024 / 2048 / 4096 / 8192中选一个,原则是OS File System Block Size的1-2倍。注意-blocksize参数必须放在最后。

三、数据库原始结构的拷贝:

用prostrct create创建的数据库是完全空的,用pro等命令是没法起来的,必须拷贝一个空的结构,比如:

#/mfg/dlc91/bin/procopy /mfg/dlc91/empty8 prod

选择empty多少,需要根据你创建的DB的Block size大小:
empty1  1024
empty2  2048
empty4  4096
empty8  8192

四、启动数据库导入结构文件:

# /mfg/dlc91/bin/pro prod
按F3激活菜单,选择Tools -> Data Dictionary
再选择Admin -> Load Data and Definitions -> Data Definitions
在提示对话框输入要导入的结构文件,比如prod.df

说明:如果是做DB refiling,那么一般.df文件是事先做好并保存在当前目录下的! 

五、Bulkload数据:

# /mfg/dlc91/bin/proutil prod -C bulkload ./prod.fd -d ymd -yy 1950

说明:如果是做DB refiling,那么.fd文件和必须的.d文件一般事先准备就绪并保存在当前目录下。

六、索引重建:

# /mfg/dlc91/bin/proutil prod -C idxbuild all
为了获取更好的性能,通常加上-TB和-TM参数,比如:
# /mfg/dlc91/bin/proutil prod -C idxbuild all -TB 16 -TM 32 
/*强烈推荐增加TB和TM参数,实际上占用很少的资源却大大减少了数据库索引重建的时间*/


注意:也可以用prodb等其它工具创建数据库,但推荐用prostrct方式!

原文转自:http://www.ltesting.net