_Toc5072049
_Toc5073320
_Toc5073674
_Toc5177620
_Toc21509021
_Toc21510205
_GoBack
商业银行系统
前置机安装手册
(RatHat 6版)
信雅达数码科技有限公司
二〇一一年八月
《淮安市支付清算综合业务系统》商业银行端系统安装手册
2 / 5
_Toc197068934
_Toc298166690
_Toc298166768
_Toc298837464
_Toc25659779
_Toc25659950
_Toc25660246
目 录
目录
目 录 一-1
第一部分 前置机操作系统安装 一-3
选择安装界面 一-3
检查配件设备 一-3
进入安全向导 一-4
选择安装语言 一-5
键盘类型 一-5
安装使用存储设备 一-6
计算机命名 一-7
选择时区 一-7
设置root用户口令 一-8
安装设置 一-9
查看并修改分区布局 一-9
设置引导方式 一-10
安装选择 一-11
定制软件安装界面 一-11
软件安装 一-12
配置欢迎界面 一-13
许可协议确认 一-14
软件更新设置 一-15
添加新用户 一-16
日期和时间设置 一-16
完成 一-17
禁用SElinux 一-17
禁用防火墙 一-18
启用telnet服务 一-19
启用ftp服务 一-20
检查系统服务 一-20
链接lib库 一-21
修改主机名 一-22
增加系统共享内存 一-22
第二部分 前置机数据库安装 1
安装前准备 1
确定sybase的安装目录 1
启动安装程序 1
确认版权信息 3
选择软件安装目录 4
选择安装类型 5
软件安装 5
配置服务器 7
配置环境变量 10
创建数据库服务 10
安装完成的后续事宜 11
检查sybase目录的权限 11
检查interfaces文件 11
增加中文环境支持 11
增加sybase自启动 12
第三部分 前置机程序安装 12
创建前置机用户 12
创建应用数据库 13
安装web服务器程序 14
创建网点用户(非接口行专用) 14
相关设置 15
修改配置文件 15
执行tcpsvr自维护脚本 15
获取通讯密钥 16
生成与接口节点密钥(非接口行跳过) 16
系统运行 17
第四部分 维护中常见问题解答 1
sybase数据库运行检查 1
前置机分配到的IP地址变动了,如何更改操作系统的IP地址? 2
第五部分 附录 5
Sybase自启动脚本(sybase)内容: 5
sybase下的环境变量设置 6
Sybase创建数据库设备脚本 7
7
7
添加中文cp936的sql文件内容 8
建应用库脚本 8
数据库设备初始化脚本 9
当前库建库脚本 11
历史库建库脚本 28
_Toc244929395
_Toc298166691
_Toc298166769
_Toc298837465
前置机操作系统安装
_Toc244929396
_Toc298166692
_Toc298166770
_Toc298837466
选择安装界面
启动服务器,在光驱中放入操作系统安装盘,引导进入如下的界面:
系统安装启动界面
_Toc298166693
_Toc298166771
_Toc298837467
_Toc244929397
检查配件设备
主要是系统检查键盘、光驱等设备,这一步的时候,可以直接按【回车键】,当提示如下的时候:
使用方向键选择“skip”跳过对cd media的测试,以节省安装时间。
图 光盘侧测试界面
_Toc298166694
_Toc298166772
_Toc298837468
进入安全向导
跳过上面的测试后,系统进入安装向导界面,点击“Next”,如下所示:
图 系统安装向导界面
_Toc298166695
_Toc298166773
_Toc298837469
选择安装语言
根据你的习惯选择安装语言。本语言选项仅与安装过程相关,不涉及安装完成后使用的语言环境,方便的话,选择简体中文。点击“Next”:
安装语言选择界面
_Toc298166696
_Toc298166774
_Toc298837470
_Toc244929398
键盘类型
选择美式英文,点击“下一步”,如下所示:
图 选择键盘类型
_Toc298166697
_Toc298166775
_Toc298837471
安装使用存储设备
选择“基本存储设备”:
图 选择存储设备
选择“重新初始化所有”:
图 选择初始化界面
_Toc298166698
_Toc298166776
_Toc298837472
计算机命名
在主机名里我们填写“prehost”
图 设置主机名
_Toc244929400
_Toc298166699
_Toc298166777
_Toc298837473
选择时区
选择“亚洲/上海”作为时区,硬件时钟设置为“系统时钟使用”,点击“下一步”。
时区选择界面
_Toc244929402
_Toc298166700
_Toc298166778
_Toc298837474
设置root用户口令
根口令必须至少包括六个字符,你应该把根口令设为你可以记住但又不容易被别人猜到的组合,同城安装建议初始密码为:root123,方便测试阶段的程序更新和日志查看,上生产环境后再行修改。
系统管理员密码设置界面
_Toc298166701
_Toc298166779
_Toc298837475
_Toc244929406
安装设置
选择“创建自定义布局”和“查看并修改分区”,点击“下一步”。
设置系统分区界面
_Toc298166702
_Toc298166780
_Toc298837476
查看并修改分区布局
点击“下一步”。
设置系统分区
在默认情况下,操作系统以lvm方式创建了分区,我们需要把这些分区先删除掉,然后按照自己定义的方式来划分区。
分区大小如以下列表:
/boot 500M
/SWAP 4096M
/ 使用全部可用空间
选择“将修改写入磁盘”:
将修改写入磁盘
_Toc297130704
_Toc298166703
_Toc298166781
_Toc298837477
设置引导方式
直接点击“下一步”:
引导方式设置界面
_Toc298166704
_Toc298166782
_Toc298837478
安装选择
选择“基本服务器”,“现在自定义”,点击“下一步”:
安装选择设置界面
_Toc298166705
_Toc298166783
_Toc298837479
_Toc244929407
定制软件安装界面
为了避免少安装某些应用库或者服务,除了WEB服务和数据库服务外,我们选择安装全部软件包。首先点击“基本系统”,在右边选择框里点击一项后用“Ctrl”+”a”选择全部,然后在右边显示的栏目中选中全部,点击“下一步”。
图 定制软件选择界面
图 桌面选择界面
_Toc298166706
_Toc298166784
_Toc298837480
软件安装
根据上面的设置,系统开始进行格式化和创建文件系统,并开始安装选择的软件,如下所示:
图 系统安装进度界面
过几分钟后,安装完成,如下所示,“重新引导”:
图 安装完成界面
进入配置界面
_Toc298166707
_Toc298166785
_Toc298837481
配置欢迎界面
重新启动服务器后,系统进入欢迎配置界面,如下所示,点击“前进”。
配置欢迎界面
_Toc298166708
_Toc298166786
_Toc298837482
_Toc244929408
许可协议确认
确认界面如下所示,选中“是,我同意这个许可协议”,点击“前进”:
图 许可协议确认界面
_Toc298166709
_Toc298166787
_Toc298837483
软件更新设置
跳过该配置,直接点击“前进”。
图 设置软件更新界面
图 完成软件更新设置界面
_Toc298166710
_Toc298166788
_Toc298837484
添加新用户
可以根据需要添加用户,在这里我们直接点击“前进”。
添加其他用户操作界面
_Toc298166711
_Toc298166789
_Toc298837485
日期和时间设置
根据当前的实际时间设置日期和时间,如下所示:设置完成后,点击“前进”。
图 日期和时间设置界面
_Toc298166712
_Toc298166790
_Toc298837486
完成
安装结束示意界面
_Toc298837487
禁用SElinux
点击“系统“——>“管理”——>“SELinux管理”
-1 修改SELinux配置
在出现的配置界面里,选择“disable”,然后直接点击关闭。
-2 修改SELinux配置
配置IP地址
选择”系统“——>”首选项“——>”网络连接“
-1 网络配置
进入网络配置图形界面(左边图片)
-2 网络配置
选中网卡1“System eth0“,如果是服务器,可以看到有4块网卡,我们只需要配置其中一块就行了。点击”添加“,出现IP配置界面(右边)。
配置过程:
1 、在自动连接上打勾
2 、点击“IPv4设置“,在方法里选择“手动“
3、 点击“添加“,在输入栏里输入IP地址,子网掩码,网关
4、“需要IPv4地址完成这个连接“打上勾
_Toc298837488
禁用防火墙
点击“系统“——>“管理”——>“防火墙”,选择“禁用”,然后点击“应用”
-1 禁用防火墙
在出现的提示界面里,选择“是”
_Toc244929412
_Toc298166713
_Toc298166791
_Toc298837489
启用telnet服务
开启telnet服务,由于安装过程中已经选择了telnet软件包,所以,只需要进行相应的配置即可。
打开终端界面,确保在root用户下,编辑/etc/
用vi命令,编辑/etc/
将“disable = yes” 修改为“disable = no”;
修改前的内容(有绿色方框的那一行)
修改后的内容(有绿色方框的那一行)
修改方法:
修改的方法是将图中的光标移到yes字符的y字符前,按[i]键进入编辑模式,用[Delete]或者[Del]键删除yes这三个字符。
然后输入no这两个字符,按[Esc]键退出编辑模式。
使用命令:x,保存退出,如下所示:
保存退出的方法(有绿色方框的那一行)
_Toc249329248
_Toc298166714
_Toc298166792
_Toc298837490
启用ftp服务
系统缺省会安装vsftp软件,只需要进行简单的配置就可使用。
允许root用户使用ftp服务,编辑/etc/vsftpd/ftpusers文件。在root前面加“#”号,保存退出
# Users that are not allowed to login via ftp
#root
bin
daemon
adm
编辑/etc/vsftpd/user_list文件,在root前面加“#”号,保存退出
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
#
for
users that are denied.
#root
bin
daemon
adm
保存退出。
_Toc298837491
检查系统服务
点击“系统“——>“管理”——>“服务”,进入服务管理界面。
查找“iptables6”的服务,点击“禁用”
查找“iptables”服务,点击“禁用”
查找“telnet”服务,点击“启用”
查找“vsftpd”服务,点击“启用”
-1 配置系统服务
勾选vsftpd服务,然后启动或者重启该服务。如下所示:
_Toc298837492
链接lib库
由于应用程序用到一些系统库的名称不同,需要对系统库进行连接
#
cd
/usr/lib
#
ln
-s
_Toc298837493
修改主机名
主机名定义为”prehost”,如果在安装的时候没有设置,可以在下面进行修改。
#
vi
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=prehost
#
vi
/etc/hosts
prehost # Added by NetworkManager
localhost
:
:1
localhost
localhost6
_Toc298837494
增加系统共享内存
如果机器共享内存配备过低,会造成数据库无法正常安装。
以root用户编辑/etc/文件,在最后一行添加一项
=2048000000
#
vi
/
etc/
# Controls the use of TCP syncookies
_syncookies = 1
# Disable netfilter on bridges.
-nf-call-ip6tables
= 0
-nf-call-iptables
= 0
-nf-call-arptables
= 0
=
2048
0000
00
//
需要添加的一行
然后运行命令
#sysctl –p
error: "-nf-call-arptables" is an unknown key
《泰州同城票据交换系统》商业银行端系统安装手册
= 2048000000
34
信雅达数码科技有限公司
_Toc197068942
_Toc298166716
_Toc298166793
_Toc298837495
前置机数据库安装
_Toc298166717
_Toc298166794
_Toc298837496
安装前准备
使用root用户登录系统,在命令行提示符#后,输入下列命令创建sybase用户组和用户:
#
groupadd
sybase
#
useradd
–g
sybase
–
m
–d /
home
/
sybase
sybase
#
passwd
sybase
输入设置的sybase用户的密码,建议为sybase123。
利用sysctl 命令查看当前系统的共享内存大小,如果超过250M则不需要进行下面的“设置共享内存”的操作了。
设置共享内存(如果超过就不需要设置共享内存)和相关参数:
#
sysctl
–
w
=
2048000000
#
vi /etc/ //
在文件的最后增加如下一行
=
2048000000 //
设置共享内存
_Toc181090225
_Toc298166718
_Toc298166795
_Toc298837497
确定sybase的安装目录
设置后之后,注销root用户登录,用sybase用户登录图形界面。
在同城清算系统中,sybase软件统一安装在/home/sybase目录下。
无特殊情况,请勿修改此设定,以免引起不必要的错误。
检查确认sybase用户对安装目录具有读、写、执行的权限。
_Toc181090227
_Toc298166719
_Toc298166796
_Toc298837498
启动安装程序
使用sybase用户登录操作系统的图形界面(若发现登录后处于字符界面下,请使用“startx”命令启动图形界面),然后将sybase光盘放入光驱,一般情况下光盘会自动弹出光盘目录文件。
然后直接在图形界面下双击setup进行安装,如下图所示;
图 sybase安装文件目录
如光盘未自动mount,可用root用户手工mount:
#mount –r /dev/cdrom /mnt/
如果采用光盘镜像安装,镜像文件名:,则加载镜像文件
#mount –o loop /mnt
切换至安装文件所在目录(/mnt),执行“./”
[
sybase
@prehost mnt]#
cd
/mnt
[
sybase
@prehost mnt]#
ls
archives ASE
[
sybase
@prehost mnt]# ./
之后能看到sybase安装向导的欢迎界面,如下图所示(注意:这个过程可能会有比较长的等待时间,具体根据各个机器的性能和光驱性能决定)。
图 安装启动界面在出现欢迎界面,点击“next”
图 安装欢迎界面
如安装进程长时间停留在查找java虚拟机的状态,请重新启动机器后再次运行安装向导。
_Toc181090230
_Toc298166721
_Toc298166798
_Toc298837500
选择软件安装目录
sybase的缺省安装目录是/opt/sybase,改为/home/sybase。
按“下一步”按钮继续:
图 选择安装目录
如果该目录已经被创建,则系统会询问是否覆盖,点击“是”,即可:
图 是否覆盖现有安装目录
_Toc181090231
_Toc298166722
_Toc298166799
_Toc298837501
选择安装类型
sybase提供以下几种安装类型供选择:
典型(Typical) 典型安装
完全(Full) 完全安装
定制(Custom) 自定义安装
选择完全安装,并按“下一步”按钮继续:
图 选择安装类型
选择安装版本
我们选择开发版,“Install Free Developer Edition of Sybase Adaptive Server Enterpr”
最终用户许可
选择“All regions“,然后选择”I agree to the terms of…..”,点击“next”
_Toc181090232
_Toc298166723
_Toc298166800
_Toc298837502
软件安装
安装向导将提示将要安装的软件组件,在确认无误后按“下一步”按钮继续:
图 安装配置信息
安装向导显示安装的进度。所需要的安装时间根据硬件性能的差异有所不同。
图 -1安装进度
完成sybase组件的安装后,安装向导将提示安装结果。
是否启用安全组件
选择“Disable”
图 -1 禁用安全控件
配置服务
选择不配置服务,将所有的勾都去掉,点击“next“
-1 配置服务
图 安装完成
_Toc181090234
_Toc298166725
_Toc298166802
_Toc298837504
配置环境变量
按“完成”按钮结束数据库产品的安装,然后按照下面的步骤进行设置:
切换到root用户下
$
su
–
root
修改/home/sybase下的文件
$
vi
/
home/sybase/
在该文件的最后加入下列语句
export
DSQUERY
=SYBASE
注意:等号后的SYBASE是sybase服务器的名称
将复制到/etc/目录下;
#
cp
/
home
/sybase/
h /etc/
编辑sybase用户的自身配置文件.bashrc
#
su - sybase
$
vi
.bashrc
在打开的文件中的最后添加如下的语句;
1
//
设置中文编码时添加
export
LANG=en_US
export
LD_POINTER_GUARD=
0
然后保存退出。
_Toc298166726
_Toc298166803
_Toc298837505
创建数据库服务
将支付系统光盘中sybase目录下的和文件通过ftp方式上传到sybase用户下。然后,切换到sybase用户下,执行下面的命令:
$
srvbuildres
–
r
$srvbuildres
–
r
然后用showserver命令查看数据库服务已经启动,具体可参考下方的检查数据库状况章节。
_Toc181090235
_Toc298166727
_Toc298166804
_Toc298837506
安装完成的后续事宜
_Toc298166728
_Toc298166805
_Toc298837507
检查sybase目录的权限
为了确保应用程序中的sybase组用户能够访问sybase的相关目录,安装完成后,需要检查sybase目录的读写权限,请按照以下步骤进行操作。
添加sybase组权限
请用下面命令增加组权限,其中g表示组,R表示全部;
$
cd /
home
$
chmod
–
R g+rwx sybase
_Toc181090237
_Toc298166729
_Toc298166806
_Toc298837508
检查interfaces文件
检查sybase根目录下的interfaces文件,操作如下:
$
vi interfaces
在打开的interfaces文件里将“ether”后的主机名内容是否为下方绿色部分相同的名称,后面的5000和5001分别为sybase主服务和备用服务的端口号,可根据安装时设置的端口号进行修改(按照本手册默认安装的不需要修改)。
SYBASE
master
tcp ether
prehost
5000
query
tcp ether
prehost
5000
SYB
_BACKUP
master
tcp ether
prehost
5001
query
tcp ether
prehost
5001
同时,在/etc/hosts文件中,添加一条记录,若存在则不需要添加:
IP
地址
prehost
说明:ip地址是sybase服务器安装所在的机器的ip地址,prehost表示该ip的别名,要求与interfaces中的绿色部分一致。
_Toc298166730
_Toc298166807
_Toc298837509
增加中文环境支持
将支付系统安装光盘中sybase目录下的文件上传到sybase目录下,使用sybase用户执行如下操作:
$
charset
–
Usa -P cp936
$
isql -
Usa -P
–
i
文件的内容请参考附录部分。另外修改sybase目录下locales目录中的文件,将[linux]标签下的最后一行改为:
locale
= default, us_english, cp936
重新启动sybase服务。
$startserver
–
f ~
/ASE-15_0/install/RUN_SYBASE
00:00:00000:00001:2011/07/19 16:12:
kernel ueshutdown
: exiting
00:00:00000:00001:2011/07/19 16:12:
kernel SySAM
: Checked in license for 1 ASE_CORE ( A69A 5EB0 3DC8).
第一次会启动失败,需要再次启动sybase服务
_Toc298166731
_Toc298166808
_Toc298837510
增加sybase自启动
#vi /etc/
su - sybase -c "/home/sybase/ASE-15_0/install/startserver -f /home/sybase/ASE-15_0/install/RUN_SYBASE" 1>>/dev/null 2>>/dev/null
_Toc298166732
_Toc298166809
_Toc298837511
$
pwd
/home/exbadm
$ tar zxvf
$ .
.bashrc前置机程序安装
_Toc298166733
_Toc298166810
_Toc298837512
创建前置机用户
用root用户登录系统,按照下面的方法创建exbadm用户
#
useradd
–g
sybase
–
m
–d /
home
/
exbadm
exbadm
#
passwd
exbadm
密码建议设置为exbadm123,同时将支付系统光盘中的拷贝到exbadm目录下;注意,安装包的文件属性,必须是exbadm用户可读写的。
请按照以下的步骤安装程序:
用exbadm用户登录系统,在终端界面下,运行命令;
安装完成后,用户目录下目录和文件如下方所示:
目录或文件名
说明
bin
前置机应用程序目录
etc
前置机应用配置文件目录
data
放置默认报文标准模板目录
file
文件传输目录
database
数据库脚本目录
log
日志文件目录
commdata
业务文件备份目录
数据库归档目录
rule
规则文件目录
report
报表格式文件目录
_Toc107748684
_Toc181154356
_Toc298166734
_Toc298166811
_Toc298837513
创建应用数据库
同城清算系统前置机端需创建以下数据库设备:
设备名称
物理设备名称
大小
cddbdev
cddblogdev
hisdbdev
8000M
hisdblogdev
2000M
tempdbdev
在/home/exbadm/database下执行以下命令:
$ ./
cr
t
创建上述数据库设备,并在数据库设备上创建相关数据库(cddb、hddb等两个用户数据库)。注意:如果发现创建进程执行时间很短,则要检查该目录下文件,察看文件中sybase的路径是否正确。
$
isql
–
Uexbadm
–
Pexbadm
1 >
sp_helpdb
2 > go
//
查看存在的数据库,主要是查看是否存在
cddb,hddb
数据库
同时创建数据库用户exbadm,口令为exbadm。
脚本以及其包含其他脚本由信雅达公司提供,商业银行不允许对该建库脚本进行修改。
若实际安装过程中,sybase数据库未安装在/home目录下,请修改database目录下的中的sybase数据库的路径设置。
_Toc298166735
_Toc298166812
_Toc298837514
安装web服务器程序
用root用户登录系统,按照下面的方法创建tomcat用户
#
useradd
–g
sybase
–
m
–d /
home
/
tomcat
tomcat
#
passwd
tomcat
密码建议设置为tomcat,同时将支付系统光盘中的拷贝到tomcat目录下;注意,安装包的文件属性,必须是tomcat用户可读写的。
请按照以下的步骤安装程序:
用tomcat用户登录系统,在终端界面下,运行命令;
$
pwd
/home/tomcat
$ tar zxvf
tomcat
.tgz
$
. .bashrc
_Toc298166736
_Toc298166813
_Toc298837515
创建网点用户(非接口行专用)
用root用户登录系统,按照下面的方法创建探测器tcqs用户
$
pwd
/home/tcqs
$ tar zxvf
tcqs
.tgz
$ .
.bashrc
#
useradd
–g
sybase
–
m
–d /
home
/
tcqs
tcqs
#
passwd
tcqs
密码建议设置为tcqs123,同时将支付系统光盘中的拷贝到tcqs目录下;注意,安装包的文件属性,必须是tcqs用户可读写的。
请按照以下的步骤安装程序:
用tcqs用户登录系统,在终端界面下,运行命令;
安装完成后,用户目录下目录和文件如下方所示:
目录或文件名
说明
bin
网点应用程序目录
etc
网点应用配置文件目录,包含网点界面文件目录form
file
文件传输目录
log
日志文件目录
_Toc298166737
_Toc298166814
_Toc298837516
相关设置
_Toc259631052
_Toc298166738
_Toc298166815
_Toc298837517
修改配置文件
文件修改
修改/home/exbadm/etc目录下的文件,主要修改以下几个内容:
修改的字段
说明
nodeid=nnn
nnn表示三位节点号,如820,由人行分配
prot=5096
中间件监听端口号,一般不用修改
enforce=no
表示是否使用通讯加密
000=:5096:40
表示人行中心的ip地址、端口号和并发数
998=:5091:40
999=:5096:40
150=:5096:40
下属网点的地址设置,999表示一个节点(接口行专用),可任取三位数字,每一行表示一个连接点,三位数字,可自行定义,999节点为接口行专用
150表示web服务的一个节点,固定节点
文件修改
修改/home/exbadm/etc目录下的文件,主要修改以下几个内容:
修改的字段
说明
IP=
设置密押机的IP地址,需要设置两台
Port=8889
密押机的监听端口号,一般不用修改
TimeOut=11
超时时间设置
_Toc298166739
_Toc298166816
_Toc298837518
_Toc259631053
执行tcpsvr自维护脚本
通过执行tcpsvr自启动脚本,可以确保tcpsvr服务在系统启动时自动启动,大大方便日常的操作。可以依照以下步骤进行设置:
用exbadm用户登录系统,运行如下的命令:
$
crontab
重新启动服务器,用exbadm用户察看是否添加成功;
$
tcpsvr
-Alist
如果显示出中心的IP地址等信息,说明添加成功。
备注:tcpsvr服务可以通过tcpsvr –k的方式关闭,切不可直接杀进程的方式停止tcpsvr服务。
_Toc298166740
_Toc298166817
_Toc298837519
获取通讯密钥
通过外置设备或者人行提供的ftp服务,获取到本行节点对应的通讯密钥文件,类似于***.ckf(***对应文件中的nodeid),用exbadm用户将该文件放到exbadm用户下的key目录中,然后运行:
$
keyctl
start
$
systools
–i
按照提示执行系统参数的更新操作,如下:
$tcpsvr
$systools
–
i
系统名称
(
如某某市同城清算系统
)
请输入
:
(
可直接回车或者输入
泰州市支付
清算系统
)
本行清算行号
请输入
:
(
本行清算行号,
最多
12
位
)
本前置开通的业务功能列表
(
格式
: nnnn, n
为数字
0-
未开通、
1-
开通
)
说明
:
第一位表示人民币对公业务
第二位表示人民币对私业务
第三位表示外币业务
第四位表示批量借贷记业务
请输入
:
1110
本前置接口模式
( Y-
接口
, N-
非接口
)
请输入
:
Y
(如果是非接口的,则输入
N
)
本前置内操作员有效期天数
请输入
:
30
当提示与中心通讯和参数都同步成功后,则表示前置程序已经安装完毕。
_Toc298166741
_Toc298166818
_Toc298837520
生成与接口节点密钥(非接口行跳过)
$cd ~/key
$newkey 203 999 //
实际中将
203
换成
的
nodeid
的值
$cd 203 //
实际中的文件名为上一步输入的节点号
$mv
* ..
/
$keyctl stop
$keyctl start
将999下面的 拷贝到接口所在机器相应的key目录下,执行keyctl start。
_Toc259631054
_Toc298166742
_Toc298166819
_Toc298837521
系统运行
正常情况下,系统的相关服务都会自动启动,不需要人工干预,若发现不正常或者操作员无法签到或向中心发送交易,提示数据库错误等,而需要人工启动服务时,可按照以下步骤进行:
重新启动操作系统;
使用exadm用户登录系统;
在终端界面中,输入以下命令测试数据库是否启动成功;
$
isql
–
Uexbadm
–Pexbadm
1>
//
出现这个提示符表示数据库登录成功
若无法登录,检查和启动sybase服务。
检查tcpsvr程序是否启动通讯中间件;
$
tcpsvr
–Alist
出现类似于如下提示,则表示tcpsvr 已经启动正常。
否则,可以运行tcpsvr命令,启动tcpsvr。
$
tcpsvr
TCP SERVER
START
OK!!!
//
出现该提示说明启动成功
检查key是否导入内存;
$
keyctl
stop
$keyctl start
检查自维护脚本是否启动
$
crontab
-l
查看返回的结果是否出现执行相关.sh和程序的内容。
检查数据库是否启动
$
isql
–
Uexbadm
–
Pexbadm
1>
出现1>标志就表示数据库已经启动。
_Toc25717916
_Toc197068959
_Toc298166743
_Toc298166820
_Toc298837522
_Toc21509063
_Toc21510241
_Toc25659856
_Toc25660027
_Toc25660323
_Toc25717919
维护中常见问题解答
_Toc298166744
_Toc298166821
_Toc298837523
_Toc197068964
sybase数据库运行检查
使用sybase用户登录系统,缺省的用户名/密码为(sybase/sybase123)
在终端中,输入命令:
$
showserver
出现如下信息时,表示数据库运行正常。
F
S UID
PID PPID
C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
1 S sybase
5485 2052
0 75 0 - 14007 schedu Jun17 ? 00:00:06
/home
/sybase/ASE/bin/dataserver -d
/home
/sybase/database/ -e
/home
/sybase/ASE/install/ -c
/home
/sybase/ASE/ -M
/home
/sybase/ASE -sSYBASE
0 S sybase
2052 2051
0 75 0 - 14007 schedu Jun17 ? 01:20:35
/home
/sybase/ASE/bin/dataserver -d
/home
/sybase/database/ -e
/home
/sybase/ASE/install/ -c
/home
/sybase/ASE/ -M
/home
/sybase/ASE –sSYBASE
若出现以下情况,说明数据库未启动或者存在问题。
F
S UID
PID PPID
C PRI NI ADDR SZ WCH
AN STIME TTY TIME CMD
则需要手动启动服务器,手动启动服务器的步骤如下:
$
cd
A
SE
-
15_0
/
install
$
startserver
_Ref195698730
_Toc197068963
_Toc298166745
_Toc298166822
_Toc298837524
前置机分配到的IP地址变动了,如何更改操作系统的IP地址?
用root用户登录图形方式界面,打开“systemAdministrationnetwork”,如下图所示:
在下图中,选择eth0所在的行,如下图所示:
在上图中需要修改设备的名称,点击“Edit”,如下所示:
在IP地址处,输入需要修改的IP地址,在子网掩码处输入子网掩码,完成后点击“下一步”按钮。系统进行配置,然后点击“完成”,网络配置完成。如果需要可在详细设置中修改网关和DNS,修改后点击“确定”按钮即可。回到网卡编辑界面,点击“Active”按钮,如下所示:
_Toc298166746
_Toc298166823
_Toc298837525
附录
_Toc197068965
_Toc298166747
_Toc298166824
_Toc298837526
Sybase自启动脚本(sybase)内容:
#!/bin/bash
#
# sybase This starts and stops sybase.
#
# chkconfig: 345 56 50
# description: xinetd is a powerful replacement for inetd. \
# xinetd has access control mechanisms, extensive \
# logging capabilities, the ability to make services \
# available based on time, and can place \
# limits on the number of servers that can be started, \
# among other things.
#
# processname: /usr/sbin/sybase
# config: /etc/sysconfig/network
# config: /etc/
# pidfile: /var/run/
#Source function library.
. /etc/
export SYBASE=/home/sybase
if [ -n "${SYBASE}" -a -d "${SYBASE}" ]; then
SYBASE_ASE=`basename $SYBASE/ASE-15_0`
SYBASE_OCS=`basename $SYBASE/OCS-15_0`
PATH="${SYBASE}/${SYBASE_ASE}/bin:/${SYBASE}/${SYBASE_OCS}:/${SYBASE}/${SYBASE_ASE}/install:/${PATH}"
export SYBASE SYBASE_ASE SYBASE_OCS PATH
# See how we were called.
case "$1" in
start)
echo -n "Starting Sybase ASE ... "
( cd ${SYBASE}/${SYBASE_ASE}/install ; \
export LANG=en_US; export LD_POINTER_GUARD=0; export LC_ALL=default; \
for run_server in RUN_* ; do \
su -c "startserver -f ${run_server}" sybase > /dev/null 2>&1; \
echo -n "${run_server} " ; \
done )
echo -n "sybase."
touch /var/lock/subsys/sybase
;;
stop)
echo -n "Shuting down Sybase ASE configured servers: "
killproc dataserver
killproc backupserver
# killproc monserver
# Add your own openserver applications.
echo
;;
status)
showserver
;;
restart)
$0 stop
$0 start
;;
*)
echo "*** Usage: sybase {start|stop|status|restart}"
exit 1
esac
fi
exit 0
_Toc298166748
_Toc298166825
_Toc298837527
sybase下的环境变量设置
设置在.bashrc文件中,内容如下:
export LC_ALL=default
export LANG=en_US
export LD_POINTER_GUARD=0
设置中文
#su - sybase -c "charset -Usa -P cp936"
#su - sybase -c "isql -Usa -P -i "
_Toc298166749
_Toc298166826
_Toc298837528
Sybase创建数据库设备脚本
_Toc298166750
_Toc298166827
_Toc298837529
_directory: USE_DEFAULT
: sqlsrv
_name: SYBASE
_config: yes
_add_server: yes
_protocol_list: tcp
_hostname_list: prehost
_port_list: 5000
_page_size: 8K
_buildmaster: no
_device_physical_name: /home/sybase/data/
_device_size: 240
_database_size: 80
: USE_DEFAULT
_upgrade: no
_device_physical_name: /home/sybase/data/
_device_size: 132
_database_size: 132
_device_physical_name: /home/sybase/data/
_device_size: 2
_database_size: 2
_backup_server: SYBASE_BS
_cmdline_parameters:
_Toc298166751
_Toc298166828
_Toc298837530
_directory: USE_DEFAULT
: bsrv
_name: SYBASE_BS
_config: yes
_add_backup_server: yes
_upgrade: no
_protocol_list: tcp
_hostname_list: prehost
_port_list: 5001
: USE_DEFAULT
_set: USE_DEFAULT
_config_file: USE_DEFAULT
: USE_DEFAULT
_sqlsrvr: SYBASE
_login: sa
_password: USE_DEFAULT
_cmdline_parameters:
_Toc298166752
_Toc298166829
_Toc298837531
添加中文cp936的sql文件内容
use master
go
sp_configure "enable unicode conversions",0
go
sp_configure "default character set id",171
go
shutdown
go
_Toc298166753
_Toc298166830
_Toc298837532
建应用库脚本
#!/bin/sh
clear
echo -e "\n开始创建数据库设备...\n"
isql -Usa -P -i
if [ $? -ne 0 ]; then
echo -e "创建数据库设备失败!\n"
exit
fi
echo -e "创建数据库设备完成, 开始创建应用数据库 cddb ...\n"
isql -Uexbadm -Pexbadm -i
if [ $? -ne 0 ]; then
echo -e "创建应用数据库失败!\n"
exit
fi
echo -e "创建数据库设备完成, 开始创建应用数据库 hddb ...\n"
isql -Uexbadm -Pexbadm -i
if [ $? -ne 0 ]; then
echo -e "创建应用数据库失败!\n"
exit
fi
isql -Uexbadm -Pexbadm -i
isql -Uexbadm -Pexbadm -i
echo -e "创建应用数据库完成!\n"
_Toc298166754
_Toc298166831
_Toc298837533
数据库设备初始化脚本
disk init name='tempdbdev', physname='/home/sybase/data/',
size="500M"
go
alter database tempdb on tempdbdev = 500
go
disk init name='cddbdev', physname='/home/sybase/data/',
size="2000M"
go
disk init name='cddblogdev', physname='/home/sybase/data/',
size="2000M"
go
disk init name='hisdbdev', physname='/home/sybase/data/',
size="8000M"
go
disk init name='hisdblogdev', physname='/home/sybase/data/',
size="2000M"
go
sp_addlogin exbadm, exbadm
go
--创建cddb
create database cddb on cddbdev = 2000 log on cddblogdev = 2000
go
sp_dboption cddb, "abort tran on log full", true
go
checkpoint
go
sp_modifylogin exbadm, defdb, cddb
go
use cddb
go
sp_adduser exbadm
go
grant all to exbadm
go
Grant Create Table to exbadm
go
Grant Create View to exbadm
go
Grant Create Procedure to exbadm
go
Grant Create Default to exbadm
go
Grant Create Rule to exbadm
go
checkpoint
go
use master
go
--创建hddb
create database hddb on hisdbdev = "8000M" log on hisdblogdev = "2000M"
go
sp_dboption hddb, "abort tran on log full", true
go
use hddb
go
sp_adduser exbadm
go
grant all to exbadm
go
checkpoint
go
use master
go
_Toc298166755
_Toc298166832
_Toc298837534
当前库建库脚本
use cddb
go
create table codeinfo (
typeid char(4) not null,
codeid char(20) not null,
codename char(80) not null,
attribute char(4) null
)
lock allpages
on 'default'
go
create unique index idx_codeinfo on codeinfo(codeid)
go
create table formselect
(
classid char(1) not null,
notetype char(4) not null,
name char(30) null,
dcflag char(1) not null,
formname char(20) null
)
lock allpages
on 'default'
go
create unique index formselect_idx1 on formselect (classid,notetype,dcflag)
go
create table noteinfo
(
notetype char(2) not null ,
name char(32) not null ,
svcclass int not null,
dcflag char(1) not null ,
enableflag char(1) null,
dupcheck char(1) null,
validperiod int ,
trnexpdays int ,
truncflag char(1) null,
transflag char(1) null,
authtype char(1) null,
feepayer char(1) null,
ruleid int ,
cleartype char(1) null,
tm_start char(6) null,
tm_end char(6) null,
notedesc varchar(254) null
)
lock allpages
on 'default'
go
create unique index noteinfo_idx1 on noteinfo(notetype, dcflag)
go
create table codetype
(
typeid char(4) not null ,
typename char(60) not null
)
lock allpages
on 'default'
go
create unique index idx_codetype on codetype(typeid)
go
create table generalcode
(
codetype char(4) not null ,
codeid char(60) not null ,
codename char(60) not null
)
lock allpages
on 'default'
go
create unique index generalcode_idx1 on generalcode ( codetype, codeid)
go
create table curcode
(
curcode char(3) not null ,
cursym char(3) not null ,
name char(32) null,
units int ,
enableflag char(1) not null
)
lock allpages
on 'default'
go
create unique index idx_curcode1 on curcode(curcode)
go
create unique index idx_curcode2 on curcode(cursym)
go
create table exchgarea
(
areacode char(4) not null,
areaname char(20) not null
)
lock allpages
on 'default'
go
create unique index exchgarea_idx1 on exchgarea(areacode)
go
create table exchground
(
areacode char(6) not null,
roundnum integer not null,
tm_start char(6) null,
tm_end char(6) null,
round integer not null
)
lock allpages
on 'default'
go
create unique index exchground_idx1 on exchground(areacode)
go
create table exchrate
(
curcode char(3) not null,
curtype char(1) not null,
rateofcny decimal(12,4),
rateofusd decimal(12,4),
state char(1) not null,
enabledate char(8) null,
disabledate char(8) null
)
lock allpages
on 'default'
go
create unique index exchrate_idx1 on exchrate (
curcode asc,
curtype asc
)
go
create table ebanksumm
(
branchid char(12) not null ,
bankid char(12) not null ,
workdate char(8) not null ,
workround int not null ,
cleardate char(8) not null ,
clearround int not null ,
svcclass int not null ,
curcode char(3) not null ,
curtype char(1) not null ,
pres_debit_num int not null ,
pres_debit_total decimal(16,2) not null ,
pres_credit_num int not null ,
pres_credit_total decimal(16,2) not null ,
acpt_debit_num int not null ,
acpt_debit_total decimal(16,2) not null ,
acpt_credit_num int not null ,
acpt_credit_total decimal(16,2) not null ,
balance decimal(16,2) not null
)
lock allpages
on 'default'
go
create unique index ebanksumm_idx1 on ebanksumm(branchid, workdate, workround, svcclass, curcode, curtype)
go
create index ebanksumm_idx2 on ebanksumm(bankid)
go
create index ebanksumm_idx3 on ebanksumm(cleardate, clearround)
go
create table exchroute
(
areacode char(6) not null,
routeid integer not null,
bankid char(12) not null
)
lock allpages
on 'default'
go
create unique index exchroute_idx1 on exchroute (bankid, routeid, areacode)
go
create table feerate
(
feecode int not null ,
notetype char(2) not null ,
feetype char(1) not null ,
tm_start char(6) null,
tm_end char(6) null,
feerate decimal(12,4) ,
feemin decimal(16,2) ,
feemax decimal(16,2) ,
used char(1) ,
useddate char(8) null
)
lock allpages
on 'default'
go
create unique index feerate_idx1 on feerate(feecode)
go
create index feerate_idx2 on feerate(notetype)
go
create table feesum
(
obankid char(12) not null ,
branchid char(12) not null ,
bankid char(12) not null ,
region char(6) not null ,
classid int not null ,
notetype char(2) not null ,
curcode char(3) not null ,
curtype char(1) not null ,
workdate char(8) not null ,
workround int not null ,
cleardate char(8) not null ,
clearround int not null ,
num int not null ,
fee decimal(16,2) not null ,
dueflag char(1) not null
)
lock allpages
on 'default'
go
create unique index feesum_idx1 on feesum(branchid, notetype,
curcode, curtype, workdate, workround)
go
create index feesum_idx2 on feesum(bankid)
go
create index feesum_idx3 on feesum(notetype)
go
create index feesum_idx4 on feesum(workdate, workround)
go
create table operinfo
(
orgid char(12) not null ,
operid char(6) not null ,
name char(80) not null ,
opertype char(1) not null ,
deptid char(2) null,
pwd char(32) not null,
state char(1) not null,
operrole text null,
amtlimit decimal(16,2) ,
regdate char(8) null,
llogindate char(8) null,
llogintime char(6) null,
pwdchgdate char(8) null,
canceldate char(8) null
)
lock allpages
on 'default'
go
create unique index operinfo_idx1 on operinfo(orgid, operid)
go
create index operinfo_idx2 on operinfo(orgid)
go
create index operinfo_idx3 on operinfo(name)
go
create table operjour
(
seqno int not null ,
organid char(12) not null ,
operid char(6) not null ,
name char(80) not null ,
workdate char(8) not null ,
time char(6) not null ,
trncode char(4) not null ,
memo varchar(64) null
)
lock allpages
on 'default'
go
create index operjour_idx2 on operjour(organid, operid)
go
create table organinfo
(
orgid char(12) not null ,
orgname char(80) not null ,
orgabbr char(20) null ,
bankid char(3) null ,
orgtype char(1) not null ,
orglevel int not null ,
parent char(12) not null ,
attechorg char(12) not null ,
exchflag char(1) not null ,
presproxy char(12) null ,
acptproxy char(12) null ,
svclist char(32) not null ,
region char(6) null ,
linkman char(80) null ,
phone char(20) null ,
state char(1) not null ,
enabledate char(8) null ,
disabledate char(8) null ,
exchroute int null
)
lock allpages
on 'default'
go
create unique index organinfo_idx1 on organinfo(orgid, orgtype, orglevel)
go
create index organinfo_idx2 on organinfo(parent)
go
create index organinfo_idx3 on organinfo(attechorg)
go
create table reconinfo
(
bankid char(12) not null ,
workdate char(8) not null ,
workround int not null ,
cleardate char(8) not null ,
clearround int not null ,
svcclass int not null ,
curcode char(3) not null ,
curtype char(1) not null ,
pres_debit_num int ,
pres_debit_total decimal(16,2) ,
pres_credit_num int ,
pres_credit_total decimal(16,2) ,
acpt_debit_num int ,
acpt_debit_total decimal(16,2) ,
acpt_credit_num int ,
acpt_credit_total decimal(16,2) ,
balance decimal(16,2) ,
flag char(1) null
)
lock allpages
on 'default'
go
create unique index reconinfo_idx1
on reconinfo(workdate, workround, bankid, svcclass, curcode, curtype)
go
create index reconinfo_idx2 on reconinfo(workdate, workround)
go
create index reconinfo_idx3 on reconinfo(bankid)
go
create table regioninfo
(
code char(6) not null ,
name char(32) not null ,
grade int ,
upregion char(6) null
)
lock allpages
on 'default'
go
create unique index regininfo_idx1 on regioninfo(code)
go
create index regininfo_idx2 on regioninfo(upregion)
go
create table svcclass
(
classid int not null ,
name char(32) not null,
state char(1) not null,
workdate char(8) null,
cleardate char(8) null,
curr_round int ,
tm_start char(6) null,
tm_end char(6) null
)
lock allpages
on 'default'
go
create unique index svcclass_idx1 on svcclass(classid)
go
create table syspara
(
paraname char(32) not null ,
paraval char(128) not null ,
paradesc varchar(64) null
)
lock allpages
on 'default'
go
create unique index syspara_idx1 on syspara(paraname)
go
create table trncode
(
trncode char(4) not null ,
name char(32) not null,
trndesc char(64) null,
ruleid int not null
)
lock allpages
on 'default'
go
create unique index trnrole_idx1 on trncode(trncode)
go
create table errmsg
(
errcode int not null ,
errmacro char(32) not null ,
errdesc varchar(64)
)
lock allpages
on 'default'
go
create unique index errmsg_idx1 on errmsg(errcode)
go
create table chkrule
(
ruletype int not null ,
ruleid int not null ,
content varchar(1024) null
)
lock allpages
on 'default'
go
create unique index chkrole_idx1 on chkrule(ruletype, ruleid)
go
create table updates (
type int not null ,
name char(128) not null ,
version int not null ,
descript char(128) null
)
lock allpages
on 'default'
go
create unique index updates_idx1 on updates(name)
go
create table sendbox
(
mailid int not null ,
svcclass int not null ,
sender char(12) not null ,
recver varchar(254) not null ,
writer char(6) not null ,
auditor char(6) not null ,
mailtype char(1) not null ,
sended char(1) not null ,
senddate char(8) not null ,
sendtime char(6) not null ,
title char(80) not null ,
content text null
)
lock allpages
on 'default'
go
create unique index sendbox_idx1 on sendbox(mailid, sender, senddate)
go
create index sendbox_idx2 on sendbox(sender)
go
create index sendbox_idx3 on sendbox(recver)
go
create table recvbox
(
mailid int not null ,
svcclass int not null ,
sender char(12) not null ,
recver char(12) not null ,
writer char(6) not null ,
auditor char(6) not null ,
mailtype char(1) not null ,
readed char(1) not null ,
recvdate char(8) not null ,
recvtime char(6) not null ,
title char(80) not null ,
content text null
)
lock allpages
on 'default'
go
create unique index recvbox_idx1 on recvbox(mailid, sender, recvdate)
go
create index recvbox_idx2 on recvbox(sender)
go
create index recvbox_idx3 on recvbox(recver)
go
create table trnjour
(
inoutflag char(1) not null ,
workdate char(8) not null ,
refid char(16) not null ,
seqno int not null ,
trncode char(4) not null ,
classid int not null ,
presdate char(8) not null ,
prestime char(6) not null ,
originator char(12) not null ,
acceptor char(12) not null ,
dcflag char(1) not null ,
notetype char(2) not null ,
noteno char(32) not null ,
curcode char(3) not null ,
curtype char(1) not null ,
issuedate char(8) not null ,
settlamt decimal(16,2) ,
issueamt decimal(16,2) ,
remnamt decimal(16,2) ,
payingacct char(32) null,
payer char(80) null,
payingbank char(12) null,
pcbank char(12) null,
beneacct char(32) null,
benename char(80) null,
benebank char(12) null,
bcbank char(12) null,
agreement char(60) null,
purpose char(60) null,
memo varchar(254) null,
termtype char(2) null,
termid char(12) null,
acctoper char(16) null,
auditor char(16) null,
authdevid char(18) null,
paykey char(32) null,
testkey char(32) null,
workround int ,
cleardate char(8) null,
clearround int not null ,
exchgdate char(8) null,
exchground int not null ,
cleartime char(6) null,
clearstate char(1) null,
errcode char(4) null,
feepayer char(1) null,
feecode int null,
fee decimal(16,2) ,
truncflag char(1) null,
cleararea char(6) null,
excharea char(6) null,
routeid int ,
presarea char(6) null,
acptarea char(6) null,
extradataflag char(1) not null ,
attachfile char(40) null,
reserved varchar(254) null,
printnum int
)
lock allpages
on 'default'
go
create unique index trnjour_idx1 on trnjour(seqno, workdate)
go
create unique index trnjour_idx2 on trnjour(inoutflag, refid, originator, workdate)
go
create index trnjour_idx3 on trnjour(workdate, originator, notetype, noteno)
go
create index trnjour_idx4 on trnjour(originator)
go
create index trnjour_idx5 on trnjour(acceptor)
go
create index trnjour_idx6 on trnjour(notetype, curcode, curtype)
go
create index trnjour_idx7 on trnjour(classid, curcode, curtype)
go
create table extradata
(
seqno int not null ,
workdate char(8) not null ,
extradata varchar(2048) not null
)
lock allpages
on 'default'
go
create unique index extradata_idx1 on extradata(seqno, workdate)
go
create table selfmntn
(
workdate char(8) not null,
seqno integer not null,
lpseqno integer not null,
trncode char(4) not null,
recver char(6) not null,
originator char(12) not null,
acceptor char(12) not null,
presdate char(8) not null,
prestime char(6) not null,
workround integer not null,
expdate char(8) not null,
expround integer,
ptype char(1) not null,
state char(1),
timesleft integer,
content text
)
lock allpages
on 'default'
go
create unique index selfmntn_idx1 on selfmntn (
workdate asc,
seqno asc,
recver asc
)
go
create index selfmntn_idx2 on selfmntn (
expdate asc,
expround asc
)
go
create index selfmntn_idx3 on selfmntn (
ptype asc
)
go
create index selfmntn_idx4 on selfmntn (
recver asc
)
go
create table workround
(
workdate char(8) not null ,
workround integer not null ,
cleardate char(8) not null ,
clearround integer not null ,
exchgdate char(8) null ,
exchground integer,
state char(1) not null
)
lock allpages
on 'default'
go
create unique index workround_idx1 on workround (workdate,workround)
go
create index workround_idx2 on workround (cleardate,clearround)
go
create table baginfo
(
exchgdate char(8) not null ,
exchground integer not null ,
workdate char(8) not null ,
workround integer not null ,
type char(1) not null ,
presbank char(12) not null ,
prescbank char(12) not null ,
acptbank char(12) not null ,
acptcbank char(12) not null ,
num integer not null ,
amount decimal(16,2) not null ,
debitnum integer not null ,
debitamount decimal(16,2) not null ,
creditnum integer not null ,
creditamount decimal(16,2) not null ,
directnum integer not null ,
directamount decimal(16,2) not null ,
menu char(60) null,
excharea char(6) not null,
state char(1) not null
)
lock allpages
on 'default'
go
create unique index baginfo_idx1 on baginfo( exchgdate, exchground, workdate, workround, type, presbank, acptbank)
go
create table bankjour
(
workdate char(8) not null,
workround integer not null,
inoutflag char(1) not null,
refid char(16) not null,
originator char(12) not null,
acceptor char(12) not null,
classid integer not null,
dcflag char(1) not null,
notetype char(2) not null,
noteno char(32) not null,
curcode char(3) not null,
curtype char(1) not null,
settlamt decimal(16,2) not null,
payingacct char(32) null,
beneacct char(32) null,
payer char(60) null,
benename char(60) null,
flag char(1) not null
)
lock allpages
on 'default'
go
create unique index bankjour_idx1 on bankjour(inoutflag, refid, originator, workdate)
go
_Toc298166756
_Toc298166833
_Toc298837535
历史库建库脚本
use hddb
go
create table trnjour (
inoutflag char(1) not null ,
workdate char(8) not null ,
refid char(16) not null ,
seqno int not null ,
trncode char(4) not null ,
classid int not null ,
presdate char(8) not null ,
prestime char(6) not null ,
originator char(12) not null ,
acceptor char(12) not null ,
dcflag char(1) not null ,
notetype char(2) not null ,
noteno char(32) not null ,
curcode char(3) not null ,
curtype char(1) not null ,
issuedate char(8) not null ,
settlamt decimal(16,2) not null,
issueamt decimal(16,2) not null,
remnamt decimal(16,2) not null,
payingacct char(32) null,
payer char(80) null,
payingbank char(12) null,
pcbank char(12) null,
beneacct char(32) null,
benename char(80) null,
benebank char(12) null,
bcbank char(12) null,
agreement char(60) null,
purpose char(60) null,
memo varchar(254) null,
termtype char(2) null,
termid char(12) null,
acctoper char(16) null,
auditor char(16) null,
authdevid char(18) null,
paykey char(32) null,
testkey char(32) null,
workround int null,
cleardate char(8) null,
clearround int not null ,
exchgdate char(8) null,
exchground int not null ,
cleartime char(6) null,
clearstate char(1) null,
errcode char(4) null,
feepayer char(1) null,
feecode int null,
fee decimal(16,2) ,
truncflag char(1) null,
cleararea char(6) null,
excharea char(6) null,
routeid int ,
presarea char(6) null,
acptarea char(6) null,
extradataflag char(1) not null,
attachfile char(40) null,
reserved varchar(254) null,
printnum int
)
lock allpages on 'default'
go
create unique index trnjour_idx1 on trnjour(seqno, workdate)
go
create unique index trnjour_idx2 on trnjour(inoutflag, refid, originator, workdate)
go
create index trnjour_idx3 on trnjour(workdate, originator, notetype, noteno)
go
create index trnjour_idx4 on trnjour(originator)
go
create index trnjour_idx5 on trnjour(acceptor)
go
create index trnjour_idx6 on trnjour(notetype, curcode, curtype)
go
create index trnjour_idx7 on trnjour(classid, curcode, curtype)
go
create table extradata (
seqno int not null ,
workdate char(8) not null ,
extradata varchar(2048) not null
)
lock allpages on 'default'
go
create unique index extradata_idx1 on extradata(seqno, workdate)
go
create table ebanksumm (
branchid char(12) not null ,
bankid char(12) not null ,
workdate char(8) not null ,
workround int not null ,
cleardate char(8) not null ,
clearround int not null ,
svcclass int not null ,
curcode char(3) not null ,
curtype char(1) not null ,
pres_debit_num int not null ,
pres_debit_total decimal(16,2) not null ,
pres_credit_num int not null ,
pres_credit_total decimal(16,2) not null ,
acpt_debit_num int not null ,
acpt_debit_total decimal(16,2) not null ,
acpt_credit_num int not null ,
acpt_credit_total decimal(16,2) not null ,
balance decimal(16,2) not null
)
lock allpages on 'default'
go
create unique index ebanksumm_idx1 on ebanksumm(branchid, workdate, workround, svcclass, curcode, curtype)
go
create index ebanksumm_idx2 on ebanksumm(bankid)
go
create index ebanksumm_idx3 on ebanksumm(cleardate, clearround)
go
create table reconinfo (
bankid char(12) not null ,
workdate char(8) not null ,
workround int not null ,
cleardate char(8) not null ,
clearround int not null ,
svcclass int not null ,
curcode char(3) not null ,
curtype char(1) not null ,
pres_debit_num int not null ,
pres_debit_total decimal(16,2) not null ,
pres_credit_num int not null ,
pres_credit_total decimal(16,2) not null ,
acpt_debit_num int not null ,
acpt_debit_total decimal(16,2) not null ,
acpt_credit_num int not null ,
acpt_credit_total decimal(16,2) not null ,
balance decimal(16,2) not null ,
flag char(1) not null
)
lock allpages on 'default'
go
create unique index reconinfo_idx1 on reconinfo(workdate, workround, bankid, svcclass, curcode, curtype)
go
create index reconinfo_idx2 on reconinfo(workdate, workround)
go
create index reconinfo_idx3 on reconinfo(bankid)
go
create table feesum
(
obankid char(12) not null ,
branchid char(12) not null ,
bankid char(12) not null ,
classid int not null ,
notetype char(2) not null ,
curcode char(3) not null ,
curtype char(1) not null ,
workdate char(8) not null ,
workround int not null ,
cleardate char(8) not null ,
clearround int not null ,
num int not null ,
fee decimal(16,2) not null ,
dueflag char(1) not null
)
lock allpages on 'default'
go
create unique index feesum_idx1 on feesum(branchid, notetype,
curcode, curtype, workdate, workround)
go
create index feesum_idx2 on feesum(bankid)
go
create index feesum_idx3 on feesum(notetype)
go
create index feesum_idx4 on feesum(workdate, workround)
go
create table baginfo
(
exchgdate char(8) not null ,
exchground integer not null ,
workdate char(8) not null ,
workround integer not null ,
type char(1) not null ,
presbank char(12) not null ,
prescbank char(12) not null ,
acptbank char(12) not null ,
acptcbank char(12) not null ,
num integer not null ,
amount decimal(16,2) not null ,
debitnum integer not null ,
debitamount decimal(16,2) not null ,
creditnum integer not null ,
creditamount decimal(16,2) not null ,
directnum integer not null ,
directamount decimal(16,2) not null ,
menu char(60),
excharea char(6) not null,
state char(1) not null
)
lock allpages on 'default'
go
create unique index baginfo_idx1 on baginfo( exchgdate, exchground, workdate, workround, type, presbank, acptbank)go
go