
PROGRESS数据库的创建.doc
3页首页 | 文章 | 相册 | 收藏夹 | 留言 PROGRESS 数据库的创建PROGRESS 9.1D 一般创建多卷模式的数据库,所以创建结构文件是首要的... 一、数据库结构文件的创建:Progress 9.1D 一般创建多卷模式的数据库,所以创建结构文件是首要的!Progress 数据库结构文件扩展名是 st,比如生产系统数据库prod 的结构文件是 prod.st,和 DB 文件同目录! PROGRESS 数据库结构文件的格式如下:①指定 Area 的类型,比如是 DB 还是 BI,如果以“#”字符开始,该行被认为是注释,具体规定如下:a --- After-image (AI) Areab --- Before-image(BI) Area 另外又称为 Primary Recovery Aread --- Schema Area and Application Data Areast --- 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 8192Block 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 1024empty2 2048empty4 4096empty8 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 方式!。












