首页 > 代码库 > 【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】创建实例