暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓单机安装实施记录文档

原创 tby 2022-06-21
340


目 录

人大金仓单机安装实施记录文档 1

1 最终信息汇总 4

1.1 项目信息 4

1.2 安装信息 4

2 安装前检查 5

2.1 硬件环境检查 5

2.2 软件依赖检查 5

2.3 介质检查 5

2.4 License检查 6

3 安装步骤 6

3.1 确认安装参数 6

3.2 安装检查 6

3.3 创建用户 7

3.4 修改主机名 7

3.5 目录规划 7

3.6 操作系统参数修改 8

3.7 执行安装 10

3.8 加载系统服务并启动数据库 10

4 数据库调优及测试 10

4.1 数据库参数调优 10

4.2 测试数据库起停 11

5 配置备份脚本 11

6 使用培训 12

7 数据库迁移 13

7.1 迁移信息汇总 13

7.2 手动迁移记录 13

8 应用联调 13

9 实施结果检查 14

10 支持记录 14

11 巡检记录 14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

修订记录

编号

修订内容

修订时间

修订人

1

完成方案初稿

2019-9-03

何敏

2

添加数据库迁移、应用联调章节

2019-12-06

何敏

3

添加关键步骤的命令,调整文档格式

20200107

何敏

4

 

20200323

孟繁明

 

 

 

 

 

 

 

文档说明

 

每次实施项目执行时,严格按照本文档步骤进行,实施完成后,将本文档上传到SVN进行项目归档。

项目组长在SVN上获取本文档,检查实施结果,并填写检查情况,最后更新到SVN。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最终信息汇总

实施信息

信息

实施人员

 

联系电话

 

实施时间

 

实施地点

 

 

1.1 项目信息

 

输出内容

信息

项目名称

 

客户/集成商

 

项目负责人

 

实施时间

 

Kingbase数据库版本

 

单机/集群

 

是否为保密机

 

服务器信息

IP、登录名和密码、Mac地址

项目状态

 

 

操作人签字:

 

 

 

1.2 安装信息

 

输出内容

信息

安装包目录

 

安装目录

 

数据目录

 

是否大小写敏感

 

数据库端口号

 

用户名/密码

 

是否兼容Oracle

 

是否专门挂载了盘阵(保密机)

 

是否需要定时备份

 

操作人签字:

 

安装前检查

2.1 硬件环境检查

 

检查内容

及格项

检查命令

实际结果

项目规划值

CPU

主流的32位或64位CPU

lscpu

 

 

内存

1GB以上

free -g

 

 

硬盘

1GB以上空闲空间

df -h

 

 

 

实际结果应>=项目规划值。

操作人签字:

 

 

 

 

 

 

2.2 软件依赖检查

检查内容

及格项

检查命令

实际结果

项目规划值

操作系统版本

主流的32位或64位Linux操作系统

1、# uname -a (Linux查看版本当前操作系统内核信息)

 

 

操作人签字:

 

2.3 介质检查

检查内容

及格项

实际情况

数据库版本号

参考《版本获取手册》

 

CPU情况

X86/飞 腾 /龙芯

 

操作系统情况

Linux 位数

 

服务器安装方式

光驱/USB/网络

 

                                                        操作人签字:

2.4 License检查

检查内容

及格项

实际情况

商务确认

正式版/试用版

 

操作人签字:

 

安装步骤 

3.1 确认安装参数

输出内容

实施记录

是否大小写敏感

是/否

用户名密码

已移交客户

是否兼容Oracle

是/否

数据库端口号

54321

确认安装目录,保密机是否有盘阵

是/否

是否需要定时备份

是/否

 

操作人签字:

 

3.2 安装检查

与集成商确认,操作系统时间、防火墙状态及SELINUX是否可以自行修改,允许,执行下述操作;禁止,请集成商进行修改:

 

检查内容

实施命令

操作系统时间

查看时间:date

修改正确时间:date -s 正确时间

同步到硬件:/sbin/hwclock --systohc

能连接外网的话,可以通过ntp来同步

防火墙状态(右面方案二选一)

方案一(以CentOS6举例)

service iptables stop

chkconfig iptables off

iptables -L

iptables -F

方案二(以CentOS7举例)

systemctl stop firewalld

systemctl disable firewalld.service

firewall-cmd –state

iptables-save

或者只开放数据库端口:

firewall-cmd --zone=public --add-port=54321/tcp --permanent
systemctl restart firewalld 
firewall-cmd --list-ports

SELINUX(centos7需要改为disable)

vim /etc/selinux/config

SELINUX=disabled // 禁用状态

操作人签字:

 

3.3 创建用户

输出内容

实施命令

数据库属主用户用户名/密码

useradd -m -U kingbase

passwd kingbase

操作人签字:

 

3.4 修改主机名

与集成商确认现场主机名称是否进行了统一规划,有规划,以集成商规划名称为准;

无规划,与集成商确认是否可以自行修改;可选,不强制。

 

输出内容

实施命令

修改后主机名称

sudo vim /etc/hostname

修改为正确的主机名后,保存退出

注意:如果/etc/hosts中有主机名对应的IP,需要一并修改。

例如:

192.168.1.5 oldname

修改oldname到newname

最终样式为:

192.168.1.5 newname

操作人签字:

 

3.5 文件目录规划

以下操作需要使用“root”帐户进行操作:

输出内容

执行命令

安装包存放目录:/kingbase/kdb_install

mkdir -p /kingbase/kdb_install

 

解压数据库软件安装包(假定下载的安装包文档被放在“/home”目录下)

检查md5

tar -xzf /home/ KingbaseES_V008R002C001B0424_Lin64_install.tar.gz –C /kingbase/kdb_install

软件目录:/kingbase/app/kesv8

mkdir -p /kingbase/app/kes/8.2/

数据目录:/kingbase/app/kesv8/data/

mkdir -p /kingbase/app/kes/8.2/data/

备份目录:/kingbase/app/kes_backup/

mkdir -p /kingbase/app/kes_backup/

脚本目录:/kingbase/app/kesv8/scripts/

mkdir -p /kingbase/app/kes/8.2/scripts/

归档目录:/kingbase/app/archive/

mkdir -p /kingbase/app/archive/

授予权限

chown -R kingbase:kingbase /kingbase

注意:如果客户未强制指定安装路径,应严格按此文档中目录规划实施。

 

操作人签字:

 

3.6 操作系统参数修改

与客户沟通,是否可以修改操作系统参数: 

输出内容

实施命令

是否修改

1) 修改资源限制(以下操作需要root权限)

vim /etc/security/limits.conf

增加如下内容:

kingbase hard nofile 65536

kingbase soft nofile 65536

kingbase hard nproc 65536

kingbase soft nproc 65536

kingbase soft core unlimited

kingbase hard core unlimited

如果limits.d目录下有文件,则它的优先级更高:

vim /etc/security/limits.d/20-nproc.conf

kingbase soft nproc 65536 

 

2)修改内核参数:(以下操作需要root权限)

vim  /etc/sysctl.conf

增加或者如下内容(#号后面为注释内容):

vm.dirty_background_ratio=1 #默认10,在数据库系统中最好设置小一点

kernel.sem = 5010 641280 5010 256

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

kernel.shmmni = 4096

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.ipv4.tcp_fin_timeout = 30

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.core.somaxconn=1024

vm.swappiness=0 #不要走swap,100

vm.overcommit_memory = 2

vm.overcommit_ratio = 90 # mem/(mem+swap)

vm.dirty_background_ratio=1 #要设低一点

vm.dirty_ratio = 2 #低一点

 

--关于kernel.shmmax的设置

32 位 linux 系统:可取最大值为 4GB ( 4294967296bytes ) -1byte ,即 4294967295 。建议值为多于内存的一半,所以如果是 32 为系统,一般可取值为 4294967295 。

64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1byte 。  

内存为 12G 时,该值为 12*1024*1024*1024-1 = 12884901887

内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183

内存为 32G 时,该值为 32*1024*1024*1024-1 = 34359738367

内存为 64G 时,该值为 64*1024*1024*1024-1 = 68719476735

内存为 128G 时,该值为 128*1024*1024*1024-1 = 137438953471

--关于kernel.shmall的设置

该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB, 共享内存段的大小都是共享内存页大小的整数倍。

一个共享内存段的最大大小是 16G ,那么需要共享内存页数是 16GB/4KB==4194304 (页),

当内存为 12G 时, kernel.shmall = 3145728

当内存为 16G 时, kernel.shmall = 4194304

当内次为 32G 时, kernel.shmall = 8388608

当内存为 64G 时, kernel.shmall = 16777216

当内存为 128G 时, kernel.shmall = 33554432

 

# TCP端口使用范围

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_intvl = 30

net.ipv4.ip_local_port_range = 10000 65000

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_max_tw_buckets = 6000

# 记录的那些尚未收到客户端确认信息的连接请求的最大值

net.ipv4.tcp_max_syn_backlog = 65536

# 每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目

net.core.netdev_max_backlog = 32768

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_wmem = 8192 436600 873200

net.ipv4.tcp_rmem  = 32768 436600 873200

net.ipv4.tcp_mem = 94500000 91500000 92700000

net.ipv4.tcp_max_orphans = 3276800

 

重新加载生效

sysctl -p   

 

3)修改磁盘IO调度策略,有些系统没有({DEVICE-NAME}为磁盘名,如“sda”):

vim /etc/rc.d/rc.local

echo deadline > /sys/block/{DEVICE-NAME}/queue/scheduler

 

4)修改IPC(cat redhat-release查看,7及以上的版本需要修改)

vim /etc/systemd/logind.conf

RemoveIPC=no(有的版本RemoveIPC=yes,正确的应该是no)

systemctl daemon-reload

systemctl restart systemd-logind.service

操作人签字:

 

3.7 执行安装

3.7.1 安装前的注意事项

1、如果在虚拟机中的Linux系统中安装KES,需要注意Linux必须安装了图形化界面,且虚拟机的硬件兼容性必须大于等于14.x版本,否则会导致图形化安装界面不可用,但命令行安装界面仍是可用的;

 

2、安装程序不能使用root执行,安装过程必须使用kingbase用户操作,并使用前面规划好的目录。

 

3.7.2 开始安装

切换到安装包解压路径,执行 setup.sh

 

默认会出现图形化安装界面,点击“下一步”:

 

查看许可协议,勾选“我接受许可协议条款”:

 

选择“完全安装”:

 

点击“选择授权文件”,选择准备好的许可文件:

 

选择好许可文件,点击“下一步”:

 

选择安装路径,并点击“下一步”:

 

这时系统会询问“目标目录非空,是否覆盖?”,我们点击“确定”:

 

点击“安装”:

 

 

确认数据目录位置,点击“下一步”:

 

这里依然是一个“目标目录非空,是否覆盖?”的询问,我们点击“OK”:

 

然后输入 SYSTEM 超级管理员的密码(如果是测试环境可以设置为“kingbase”),设置数据库编码格式(推荐设置为“UTF8”),最后如果希望数据库 不区分大小写 ,则勾选“CASE-INSENSITIVE”(推荐勾选),确认完毕点击“下一步”:

 

如果需要将KES注册为系统服务(推荐),则另开启一个终端,使用root 用户执行安装程序提供的脚本:/kingbase/app/kes/8.2/Scripts/root.sh,最后点击“完成”结束安装,至此KES v8 就安装完毕了。

 

 

使用 root 用户执行服务注册脚本:

 

 

提示:

1、使用命令行安装模式安装与图形化界面安装模式相比,需要的操作基本上没有差异,仅仅是操作界面上的不同。

2、“CASE-INSENSITIVE”(不区分大小写)选项的影响不仅局限于数据库名、模式名和表名等数据库对象,它还会影响用户名、数据字典等全局对象,因此除非有特殊要求,请尽量勾选“CASE-INSENSITIVE”,以避免使用上的不便。

3、如果需要另外新建数据目录,并初始化数据库实例,请阅读帮助手册中关于“initdb”或“sys_ctl”命令的相关内容。

4、安装结束时注册的系统服务的服务名为“kingbase8d”。

5、注册的系统服务仅能启动安装数据库系统时创建的数据库实例,如果需要启动另外新建的数据库实例,请阅读帮助文档中关于“sys_ctl”命令的相关内容。

 

输出内容

实施记录

安装是否完成

将安装包拷贝到对应目录,解压,执行安装

操作人签字:

 

3.7.3 测试登录数据库

提示:

1、KES默认会新建2个数据库用于测试,其数据库名为 SAMPLES 和 TEST。可使用KES自带的命令行客户端 ksql 登录数据库:

$  vi /home/kingbase/.bash_profile

export PATH=$PATH:/kingbase/app/kes/8.2/Server/bin

$ source /home/kingbase/.bash_profile

ksql命令格式:ksql  <db_name>  <user_name>

 

2、如果安装时未勾选“CASE-INSENSITIVE”,则登录时需要注意 数据库名 必须要使用大写。

3、有关ksql命令的更多用法请参看帮助手册中“kingbase客户端应用”之ksql的相关内容。

3.8 加载系统服务并启动数据库

输出内容

实施记录

启动系统服务

service kingbase8d start

查看服务状态

service kingbase8d status

停止系统服务

service kingbase8d stop

操作人签字:

 

数据库调优及测试

4.1 数据库参数调优

与集成商确认数据库端口、数据库最大连接数、应用是否从oracle迁移等,涉及到oracle兼容参数的调整。

 

流程内容

操作内容

实施记录

现场环境确认

与集成商确认:

数据库端口

数据库最大连接数

应用是否从oracle迁移

确认服务器内存大小

确认服务器CPU数量

 

默认参数

#############################################

listen_addresses='*'

port    =       54321

max_connections=1000

app_reserved_connections='JSQL,6'

#############################################

shared_buffers=RAM*0.4

work_mem  =10MB

maintenance_work_mem=1GB

effective_cache_size=RAM*0.5

wal_buffers=512

#############################################

compatible_level='mixed'

#############################################

log_statement='ddl'

log_duration=off

lc_messages='C'

log_line_prefix='[%m][%h][%d][%p][%u][%x]'

#############################################

autovacuum_naptime=10min

max_fsm_pages=10000000

max_fsm_relations=3000

#############################################

max_locks_per_transaction=1024

#############################################

checkpoint_timeout=10min

#############################################

 

操作人签字:

 

4.2 测试数据库起停

输出内容

实施命令及输出结果

手动停止启动数据库是否成功

sys_ctl stop

用服务起停数据库是否成功

service kingbase8d [start|stop]

命令行/客户端,登录数据库是否成功

ksql -USYSTEM -W password test

操作人签字:

 

配置备份脚本

必须要做的,由于备份只能放到本地,为了安全可以要求将备份放到独立的磁盘。

 

输出内容

实施记录

确认备份目录

前面已经创建好了

拷贝备份脚本

将备份脚本

rman_full.sh、rman_page.sh

放到/kingbase/app/kesv8/scripts/下

配置备份参数

修改备份脚本里的参数

(1)修改rman_full.sh

kdb_home="/kingbase/app/kesv8/Server/"   ——安装目录

kdb_data="/kingbase/app/kesv8/data" ——数据目录路径

kdb_user="SYSTEM" ——备份用户

kdb_pass="123456" ——密码

kdb_port="54321" ——端口

kdb_host="127.0.0.1" ——ip

kdbback_dest="/kingbase/app/kesv8/backup/"

——备份路径

keep_num="2"         ——保留备份集

 

(2)修改rman_page.sh

kdb_home="/kingbase/app/kesv8/Server/"    ——安装目录

kdb_data="/kingbase/app/kesv8/data"  ——数据目录路径

kdb_user="SYSTEM"  ——备份用户

kdb_pass="123456"  ——密码

kdb_port="54321"  ——端口

kdb_host="127.0.0.1"  ——ip

kdbback_dest="/kingbase/app/kesv8/backup/"               ——备份路径

 

测试备份脚本

测试脚本

sh -x  /kingbase/app/kesv8/scripts/rman_full.sh

sh -x  /kingbase/app/kesv8/scripts/rman_page.sh

配置自动备份策略

例如:每周日23点全量备份,周一至周六23点增量备份。

 

操作人签字:

 

使用培训

培训内容

实施记录

数据库启动、停止等简单运维方法

 

数据库管理工具、ksql命令行工具、迁移工具的使用

 

应用连接数据库的方法

 

 

数据库迁移

如果遇到需要改造旧系统的实施工作,则需要记录数据库迁移工作记录;如果没有,则忽略。

7.1 迁移信息汇总

输出内容

信息

迁移原始库类型及版本

 

迁移表数量

 

迁移序列数量

 

迁移视图数量

 

迁移触发器数量

 

迁移函数数量

 

迁移存储过程数量

 

迁移package数量

 

是否有同义词

 

是否有Dblink

 

迁移数据量大小

 

 

7.2 手动迁移记录

应用联调

内容

实施记录

应用类型

OA、电子公文等

中间件

东方通V.X

应用开发语言

 

应用开发框架

 

 

实施结果检查

组长对实施结果进行review,从SVN项目管理目录下找到对应项目,下载本文档,添加检查结果,并上传SVN。

组长

实施人员

实施结果是否合格

 

 

 

 

 

 

 

10 支持记录

在ims上记录到对应项目即可。

11 巡检记录

巡检时间

巡检人员

巡检结果

 

 

 

 

 

 

 

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论