首页 > 代码库 > 【symfoware NATIVE】创建实例

【symfoware NATIVE】创建实例

symfoware NATIVE系
【PKG安装】
傻瓜式一键安装(默认),安装时可以看到各个目录的位置,也可以在安装中自己指定位置和参数。
默认情况下,安装目录:
Symfoware Server 安装目录:
   C:\SFWSV
Symfoware Server 控制文件仓库目录:
   C:\SFWETC
数据库编码:
   Shift_JIS
Symfoware Server Client 安装目录:
   C:\SFWCLNT
Symfoware Server Connection Manager 安装目录:
   C:\SFWCM
Connection Manager 机能控制文件仓库目录:
   C:\SFWETC
安装机能:
   基本機能
WebAdmin/WebDBtools setup:
      Web服务端口号:26510
      WebAdmin/WebDBtools 内部端口号1:26511
      WebAdmin/WebDBtools 内部端口号2:26512
      WebAdmin/WebDBtools 内部端口号3:26513
      WebAdmin/WebDBtools 内部端口号4:26514
JDBC驱动命名服务的注册:
   JDBC命名服务稍后注册。

【创建RDB】
创建前准备
动作环境:OS资源或Symfoware/RDB资源
OS:共用内存、セマフォ;(RDB程序与外部情报交换)
Symfoware/RDB资源:
1、RDB字典:保存数据库定义信息;
2、RDB目录文件:保存为了访问数据库配置和运行的信息;
3、log group管理文件:保存log group管理的配置文件;
4、log管理文件:保存临时log等文件的配置位置信息;
5、临时log文件:保存临时log和用于roll back的log信息;
6、アーカイブログファイル:保存用于资源回收的log信息;
7、数据库:用户定义的数据库;
8、监视log数据库:监察log表组成的数据库;
9、performance数据仓库文件:保存性能统计信息;
10、RDB构成参数文件:保存Symfoware/RDB工作环境规定的各种信息;
11、工作环境文件:应用程序运行时工作环境调整;
12、退避磁盘:保存数据库的退避信息;
13、作业域:应用程序运行、RDB命令运行时使用的域空间;
14、core文件:Symfoware Server发生异常时,保存异常信息。

注意:以上是一个工作(动作)环境,可以通过设置工作环境名来使用多个工作环境。

使用WebAdmin
为了使系统工作生成的文件有:log group管理文件、log管理文件、临时log文件、RDB目录文件、RDB字典、监控用log管理文件、监控用临时log文件、监控log数据库、实现数据库仓库文件。
为了使用系统,可以设置:RDB构成参数文件、系统工作环境文件、默认共用buffer文件、services文件(端口一览)。

启动WebAdmin,设置
Web服务端口(默认26510):1024~49151;
WebAdmin 运行环境端口1(默认26511):1024~49151;
WebAdmin 运行环境端口2(默认26512):1024~49151。

RDB作成
1.RDB系统管理员验证  [登陆]画面
 访问http://localhost:26510/,登陆(系统用户名和密码)
 
2.系统构成  [RDB作成(1/3) - 系统构成]画面 
 RDB系统名 (*):  RDB00001
 RDB命名:8位以内英文字母开头的半角英数字命名,不区分大小写。(例:RDB00001)
 系统规模:   大规模(连接数1000)
        中规模(连接数256)
        小规模(连接数100)
 系统构成:    单一系统
 自動起動停止       自启动停止

3.资源分配的准备  [RDB作成(2/3) - 资源分配]画面
4.文件和端口准备  [RDB作成(3/3) - 构成-环境]画面
 
确认信息:
log管理文件       F:\wangsj\log  
BI log域        F:\wangsj\BI_log  
AI log域        F:\wangsj\AI_log  
log index域       F:\wangsj\logindex  
RDB目录文件    F:\wangsj\RDB  
RDB字典     F:\wangsj\RDBword  
RDB构成参数文件    C:\SFWETC\RDB\ETC\RDB00001.cfg  
系统运行环境文件      C:\SFWETC\RDB\ETC\RDB00001.env  
默认共用buffer定义文件  C:\SFWETC\RDB\ETC\RDB00001\rdbbuf  
远程连接端口号    26518(指定一个没有被使用的,
      可在C:\WINDOWS\SYSTEM32\DRIVERS\ETC\SERVICES中查看已使用端口号)

使用Command
为了使用RDBcommand,设置环境变量和core文件
> SET RDBNAME=rdb001 (注)
> SET RDBCOREPATH=C:\SFWSV\RDB\CORE (注)

注:这里指定RDB名为rdb001,core文件保存目录为C:\SFWSV\RDB\CORE。
如果没设置core路径,默认为当前目录。

创建RDB直接运行C:\SFWSV\SYSSETUP.EXE,设置参数,完成。

可以直接修改或设置以下文件
1、可以直接修改配置参数:
~\SFWETC\RDB\ETC\rdb001.cfg
示例
rdb001.cfg:
RDBLOG=256,256
RDBDBSNUM=16
RDBNETDBSNUM=16
RDBREPORTSIZE=10485760
RDBLOGGROUPMANAGE=E:\RDB001\RDB\RDB\USR\LOG
RDBLOGMANAGE=E:\RDB001\RDB\RDB\USR\LOG
RDBDIRSPACE1=E:\RDB001\RDB\RDB\USR\DIR
RDBDIRSPACE2=E:\RDB001\RDB\RDB\USR\DIR
RDBCORE=e:\rdb001\rdb001_Server\workdir
RDBPM=e:\rdb001\rdb001_Server\workdir
RDBREPORT=e:\rdb001\rdb001_Server\workdir
RDBEXTMEM=7124
RDBCNTNUM=400
RDBSYSTEMID=1
RDBSYSBUF=e:\rdb001\rdb001_Server\workdir
RDBSQLENV=e:\rdb001\rdb001_Server\etc\rdb001.env

2、log group 管理文件:
1)文件路径由RDBLOGGROUPMANAGE指定;
2)使用> rdblog -M 命令创建。

3、log管理文件:
1)文件路径由RDBLOGMANAG指定;
2)使用> rdblog -I 命令创建

4、临时log文件(必须创建,否则无法启动RDB):
示例:
> rdblog -G  -t  -c 10M  E:\rdb001\rdb001_Server\workdir\TMPLOG  -in  -in  30M  20M  20

注意:BIlog域 30M;AIlog 域 20M; 事务入口数20个;回收日志量10M指数域;AIlog和BIlog保存在E:\rdb001\rdb001_Server\workdir\TMPLOG中。

5、创建RDB字典:
为了作成数据库环境,创建RDB字典,RDB文件目录;
RDB字典:
> rdbcrdic -f E:\rdb001\rdb001_Server\workdir\DICTIONARY -c 70M -a 60M
在E:\rdb001\rdb001_Server\workdir\DICTIONARY创建60M的容量,自动创建DIR_FILE1和DIR_FILE2;

6、监察log数据库作成:
为了获得监察log,执行以下操作
1)启动Symfoware/RDB;
> rdbstart

2)监察log数据库作成;
> rdbaudit -c -n 3 -s 200M -f E:\rdb001\rdb001_Server\workdir\ADTLOG\AUDIT_FILE001
生成3个单元,每个200M。

可以继续追加单元
> rdbaudit -a -n 2 -f E:\rdb001\rdb001_Server\workdir\ADTLOG\AUDIT_FILE002

3)关闭Symfoware/RDB。
> rdbstop

 

【创建数据库】
Symfoware/RDB作成,有以下三种方法:RDBcommand、SQL嵌入程序、WebDBtools。

RDBcommand
rdbddlex命令
形式一:以分号结尾;
CREATE DATABASE RDBDB;
形式二:
EXEC SQL
CREATE PROCEDURE PROC01
:
END-EXEC;

通过定义文件创建数据库示例:
创建命令
Solaris:rdbddlex -d RDBDB /home/rdb/DDL/ddl.dat
linux:rdbddlex -d RDBDB /home/rdb/DDL/ddl.dat
注:数据库空间定义:CREATE DBSPACE DBSPACE1 ALLOCATE RAWDEVICE /dev/raw/raw1
windows:rdbddlex -d RDBDB C:\USERS\DEFAULT\DDL.DAT
注:数据库空间定义:CREATE DBSPACE DBSPACE1 ALLOCATE FILE E:\rdb002\DIR_FILE3 ATTRIBUTE SPACE(3M)

注意:数据库空间不同于表空间,用于存放实际数据,默认已经创建DIR_FILE1、DIR_FILE2,如果要创建新的数据库空间:FILE E:\rdb002\DIR_FILE3,rdb002为RDB仓库目录。


注意:-d RDBDB表示数据库名为RDBDB,/home/rdb/DDL/ddl.dat为定义文件。
定义文件(Solaris,其他系统只需要更改数据库空间定义):

/home/rdb/DDL/ddl.dat(此处为详解版)附件中RDB_example.dat为测试过的版本。
==========================================================================
-- 数据库定义 数据库名为“RDBDB”
CREATE DATABASE RDBDB;

-- 数据库空间定义 数据库空间名为“DBSPACE1”
CREATE DBSPACE DBSPACE1 ALLOCATE RAWDEVICE /dev/rdsk/c0t1d0s1;
解释:
--ALLOCATE:指定
--RAWDEVICE:原生设备

-- schema定义 schema名为“STOCKS”
CREATE SCHEMA STOCKS
注意:如果使用ADMINISTRATOR用户操作,需创建模式ADMINISTRATOR;

-- 在库商品管理表
CREATE TABLE 在库表 (
商品编号 SMALLINT NOT NULL,
商品名 NATIONAL CHARACTER(10) NOT NULL,
库存数量 INTEGER,
仓库编号 SMALLINT,
PRIMARY KEY (商品编号)
)

CREATE VIEW 大量在库表(商品编号,数量)
AS SELECT 商品编号, 库存数量 FROM STOCKS.在库表
WHERE 库存数量 >= 50

-- 商品订购管理表
CREATE TABLE 订购表 ( 交易编号 SMALLINT NOT NULL,
交易商品 SMALLINT NOT NULL,
采购价格 INTEGER,
订购数量 SMALLINT,
PRIMARY KEY (交易编号,交易商品)
)

CREATE VIEW 大量订购表(交易商品, 采购价格)
AS SELECT 交易商品, 采购价格 FROM STOCKS.订购表
WHERE 订购数量 >= 100

-- 交易公司管理表
CREATE TABLE 公司表 ( 公司编号 SMALLINT NOT NULL,
公司名 NATIONAL CHARACTER(10) NOT NULL,
公司电话 CHARACTER(14),
地址 NATIONAL CHARACTER(20),
PRIMARY KEY (公司编号)
)

CREATE VIEW 公司表1 AS SELECT 公司编号,公司名 FROM STOCKS.公司表;


-- 在库表存储仓库结构定义
CREATE DSO 在库表DSO -- 在库表的DSO
FROM STOCKS.在库表
TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1));
解释:
1、类型
SEQUENTIAL:数据顺序追加到仓库,PAGESIZ表示page大小,ORDER(0)表示删除领域不能再次使用,ORDER(1)表示删除领域可以再次使用。
RANDOM:数据没有顺序,随机追加到仓库。


CREATE DSI 在库表DSI -- 在库表的DSI
DSO 在库表DSO
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

-- 在库表的商品编号索引作成
CREATE DSO 商品编号IXDSO -- 索引的DSO
INDEX ON STOCKS.在库表 (商品编号)
TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS;

CREATE DSI 商品编号IXDSI -- 索引的DSI
INDEX
DSO 商品编号IXDSO
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;

-- 订购表的存储仓库结构定义
CREATE DSO 订购DSO -- 订购表的DSO
FROM STOCKS.订购
TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1))
WHERE (交易编号) BETWEEN (?) AND (?); -- 检索交易编号

-- 数据分割配置
CREATE DSI 关东订购表DSI -- 关东地区公司使用
DSO 订购表DSO
USING (60,69) -- 60开头表示关东地区公司
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

CREATE DSI 关西订购表DSI -- 关西地区公司使用
DSO 订购表DSO
USING (70,79) -- 70开头表示关西地区公司使用
ALLOCATE DATA ON DBSPACE1 SIZE 280K;
注意:在DSO中定义了检索条件,然后在DSI定义时通过USING将参数传递给检索表达式,返回检索结果。

-- 订购表的交易编号和交易商品的索引作成
CREATE DSO 交易IXDSO -- 索引的DSO
INDEX ON STOCKS.订购表 (交易编号,交易商品)
TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS;
CREATE DSI 关东索引IXDSI -- 索引的DSI
INDEX
DSO 交易IXDSO
BASE 关东订购表DSI
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;
CREATE DSI 关西交易IXDSI -- 索引的DSI
INDEX
DSO 交易IXDSO
BASE 关西订购表DSI
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;

-- 公司表的仓库结构定义
CREATE DSO 公司表DSO -- 公司表的DSO
FROM STOCKS.公司表
TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1));
CREATE DSI 公司表DSI -- 公司表的DSI
DSO 公司表DSO
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

-- 公司表的公司编号索引作成
CREATE DSO 公司编号IXDSO -- 索引的DSO
INDEX ON STOCKS.公司表 (公司编号)
TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS;
CREATE DSI 公司编号IXDSI -- 索引的DSI
INDEX
DSO 公司编号IXDSO
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;
======================================================================

RDB_example.dat

 

CREATE DATABASE RDBDB6;

CREATE DBSPACE DBSPACE1 ALLOCATE FILE E:\rdb002\DIR_FILE6 ATTRIBUTE SPACE(3M);

CREATE SCHEMA ADMINISTRATOR;

CREATE TABLE repertorygoods(
goodsnum SMALLINT NOT NULL,
goodsname NATIONAL CHARACTER(10) NOT NULL,
goodssum INTEGER,
repertorynum SMALLINT,
PRIMARY KEY (goodsnum)
);

CREATE VIEW bigrepertorygoods(goodsnum,goodssum)
AS SELECT goodsnum, goodssum FROM ADMINISTRATOR.repertorygoods
WHERE goodssum >= 50;

CREATE TABLE ordertable( ordernum SMALLINT NOT NULL,
ordergoods SMALLINT NOT NULL,
orderprice INTEGER,
ordersum SMALLINT,
PRIMARY KEY (ordernum,ordergoods)
);

CREATE VIEW bigorder(ordergoods, orderprice)
AS SELECT ordergoods, orderprice FROM ADMINISTRATOR.ordertable
WHERE ordersum >= 100;

CREATE TABLE company ( companynum SMALLINT NOT NULL,
companyname NATIONAL CHARACTER(10) NOT NULL,
companytel CHARACTER(14),
companyaddr NATIONAL CHARACTER(20),
PRIMARY KEY (companynum)
);

CREATE VIEW company1 AS SELECT companynum,companyname FROM ADMINISTRATOR.company;


CREATE DSO repertoryDSO
FROM ADMINISTRATOR.repertorygoods
TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1));

CREATE DSI repertoryDSI
DSO repertoryDSO
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

CREATE DSO goodsnumIXDSO
INDEX ON ADMINISTRATOR.repertorygoods(goodsnum)
TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS;

CREATE DSI goodsnumIXDSI
INDEX
DSO goodsnumIXDSO
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;

CREATE DSO orderDSO
FROM ADMINISTRATOR.ordertable
TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1))
WHERE (ordernum) BETWEEN (?) AND (?);

CREATE DSI guandongorderDSI
DSO orderDSO
USING (60,69)
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

CREATE DSI guanxiorderDSI
DSO orderDSO
USING (70,79)
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

CREATE DSO orderIXDSO
INDEX ON ADMINISTRATOR.ordertable(ordernum,ordergoods)
TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS;

CREATE DSI guandongindexIXDSI
INDEX
DSO orderIXDSO
BASE guandongorderDSI
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;

CREATE DSI guanxiorderIXDSI
INDEX
DSO orderIXDSO
BASE guanxiorderDSI
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;

CREATE DSO companyDSO
FROM ADMINISTRATOR.company
TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1));

CREATE DSI companyDSI
DSO companyDSO
ALLOCATE DATA ON DBSPACE1 SIZE 280K;

CREATE DSO companynumIXDSO
INDEX ON ADMINISTRATOR.company (companynum)
TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS;

CREATE DSI companynumIXDSI
INDEX
DSO companynumIXDSO
ALLOCATE BASE ON DBSPACE1 SIZE 200K,
INDEX ON DBSPACE1 SIZE 40K;

本文出自 “暗夜” 博客,请务必保留此出处http://icyore.blog.51cto.com/8486958/1596299

【symfoware NATIVE】创建实例