yum -y install coreutils glib2 lrzsz dstat sysstat e4fsprogs xfsprogs \
ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel \
libxslt-devel python-devel tcl-devel gcc gcc-c++ make smartmontools \
flex bison perl-devel perl-ExtUtils* openldap-devel jadetex openjade bzip2
vi /etc/hosts
192.168.0.73 db3
vi /etc/sysctl.conf
kernel.sem= 512 64000 400 2560
vi /etc/systemd/logind.conf
RemoveIPC=no
systemctl daemon-reload
systemctl restart systemd-logind.service
vi /etc/security/limits.conf
kingbase soft nproc 65536
kingbase hard nproc 65536
kingbase soft nofile 65536
kingbase hard nofile 65536
vi /etc/rc.local
echo deadline > /sys/block/sda/queue/scheduler
bash /etc/rc.local
useradd -m -U kingbase
passwd kingbase
mkdir -p /soft
chown -R kingbase:kingbase /soft
mkdir -p /opt/Kingbase/ES/V8
mkdir -p /opt/Kingbase/bak
chown -R kingbase:kingbase /opt/Kingbase
vi .bash_profile
export KINGBASE_HOME=/opt/Kingbase/ES/V8/Server
export KINGBASE_DATA=/opt/Kingbase/ES/V8/data
export LD_LIBRARY_PATH=$PATH:/opt/Kingbase/ES/V8/Server/lib
export PATH=$PATH:/opt/Kingbase/ES/V8/Server/bin
export LANG=zh_CN.UTF8
export KINGBASE_PORT=54321
source .bash_profile
[root@db3 soft]# /opt/Kingbase/ES/V8/Scripts/root.sh
Starting KingbaseES V8:
waiting for server to start.... done
server started
KingbaseES V8 started successfully
方法一
[root@db3 ~]# systemctl status kingbase8d
● kingbase8d.service - LSB: Start and stop the kingbase server
Loaded: loaded (/etc/rc.d/init.d/kingbase8d; bad; vendor preset: disabled)
Active: inactive (dead) since Thu 2022-02-10 20:22:17 CST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 28810 ExecStop=/etc/rc.d/init.d/kingbase8d stop (code=exited, status=0/SUCCESS)
Process: 28736 ExecStart=/etc/rc.d/init.d/kingbase8d start (code=exited, status=0/SUCCESS)
Feb 10 20:22:03 db3 kingbase8d[28736]: waiting for server to start.... done
Feb 10 20:22:03 db3 kingbase8d[28736]: server started
Feb 10 20:22:03 db3 kingbase8d[28736]: KingbaseES V8 started successfully
Feb 10 20:22:03 db3 systemd[1]: Started LSB: Start and stop the kingbase server.
Feb 10 20:22:16 db3 systemd[1]: Stopping LSB: Start and stop the kingbase server...
Feb 10 20:22:16 db3 kingbase8d[28810]: Stopping KingbaseES V8:
Feb 10 20:22:16 db3 su[28813]: (to kingbase) root on none
Feb 10 20:22:17 db3 kingbase8d[28810]: waiting for server to shut down.... done
Feb 10 20:22:17 db3 kingbase8d[28810]: server stopped
Feb 10 20:22:17 db3 systemd[1]: Stopped LSB: Start and stop the kingbase server.
[root@db3 ~]# systemctl start kingbase8d
[root@db3 ~]# systemctl status kingbase8d
● kingbase8d.service - LSB: Start and stop the kingbase server
Loaded: loaded (/etc/rc.d/init.d/kingbase8d; bad; vendor preset: disabled)
Active: active (exited) since Thu 2022-02-10 20:22:35 CST; 1s ago
Docs: man:systemd-sysv-generator(8)
Process: 28810 ExecStop=/etc/rc.d/init.d/kingbase8d stop (code=exited, status=0/SUCCESS)
Process: 28876 ExecStart=/etc/rc.d/init.d/kingbase8d start (code=exited, status=0/SUCCESS)
Feb 10 20:22:34 db3 systemd[1]: Starting LSB: Start and stop the kingbase server...
Feb 10 20:22:34 db3 kingbase8d[28876]: Starting KingbaseES V8:
Feb 10 20:22:34 db3 su[28879]: (to kingbase) root on none
Feb 10 20:22:35 db3 kingbase8d[28876]: waiting for server to start.... done
Feb 10 20:22:35 db3 kingbase8d[28876]: server started
Feb 10 20:22:35 db3 kingbase8d[28876]: KingbaseES V8 started successfully
Feb 10 20:22:35 db3 systemd[1]: Started LSB: Start and stop the kingbase server.
方法二
[kingbase@db3 ~]$ sys_ctl status
sys_ctl: 正在运行服务器进程(PID: 28905)
/opt/Kingbase/ES/V8/Server/bin/kingbase "-D" "/opt/Kingbase/ES/V8/data"
[kingbase@db3 ~]$ sys_ctl stop
等待服务器进程关闭 .... 完成
服务器进程已经关闭
[kingbase@db3 ~]$ sys_ctl start
正在启动服务器进程
[kingbase@db3 ~]$ 2022-02-10 20:25:14 CST LOG: sysaudit extension initialized
2022-02-10 20:25:14 CST LOG: redirecting log output to logging collector process
2022-02-10 20:25:14 CST HINT: Future log output will appear in directory "sys_log".
[kingbase@db3 ~]$ sys_ctl status
sys_ctl: 正在运行服务器进程(PID: 29090)
/opt/Kingbase/ES/V8/Server/bin/kingbase
[root@db3 kb_install]# ll
total 16
drwxrwxr-x 2 kingbase kingbase 80 Jul 22 2021 jiqun
drwxrwxr-x 2 kingbase kingbase 41 Jul 22 2021 new
-rwxrwxr-x 1 kingbase kingbase 6288 Aug 17 2020 optimize_database_conf.sh
-rwxrwxr-x 1 kingbase kingbase 7846 Jun 21 2021 optimize_system_conf-kcp.sh
[root@db3 kb_install]# ./optimize_database_conf.sh
This tool help use to make a base optimization for database
begin optimize database
1.get database data, check database is alive
kingbase_path : /opt/Kingbase/ES/V8/Server/bin/kingbase
server_path : /opt/Kingbase/ES/V8/Server
kingbase_home : /opt/Kingbase/ES/V8
database data_dir: /opt/Kingbase/ES/V8/data
2.back kingbase.conf file
before optimize the database, back kingbase.conf to kingbase.conf_back_2022-02-11_05_54_17
3.get system resource
system CPU cores: 8
system Mem: 8175088 KB as 7983 MB
4.optimize database memory
shared_mem: 1995 MB
5.optimize database checkpoint
6.optimize database parallel
end optimize database
7.restart database to make those configuration work
please chose if restart database, 0: no, 1: yes:
yes
./optimize_database_conf.sh: line 187: [: yes: integer expression expected
please restart database by hand to make those configuration work
usage:
su - kingbase -c /opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data restart -l restart.log
end
优化结果:
[root@db3 ~]# tail -f /opt/Kingbase/ES/V8/data/kingbase.conf
#add by optimize tool:
shared_buffers = 1995MB
effective_cache_size = 5988MB
min_wal_size = 2GB
max_wal_size = 8GB
maintenance_work_mem = 498MB
checkpoint_completion_target = 0.9
checkpoint_timeout = 30min
max_worker_processes = 8
max_parallel_workers_per_gather = 4
[kingbase@db3 V8]$ ksql -U SYSTEM -W oracle -d TEST -p 9999
ksql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.KINGBASE.9999"?
[kingbase@db3 V8]$ ksql -U SYSTEM -W oracle -d TEST -p 54321
ksql (V008R003C002B0242)
Type "help" for help.
[kingbase@db3 ~]$ ksql -U SYSTEM -W oracle -d TEST -p 54321
ksql (V008R003C002B0242)
Type "help" for help.
TEST=# alter user system password 'kingbase';
ALTER ROLE
TEST=# \q
[kingbase@db3 ~]$ ksql -U SYSTEM -W kingbase -d TEST -p 54321
ksql (V008R003C002B0242)
Type "help" for help.
TEST=#
TEST=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+--------------------
SAMPLES | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
SECURITY | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
TEMPLATE0 | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEMPLATE1 | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEMPLATE2 | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEST | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
(6 rows)
TEST=# \c TEST
You are now connected to database "TEST" as user "SYSTEM".
TEST=# create table db(id int,name varchar(32));
CREATE TABLE
TEST=# insert into db values(1,'timy');
INSERT 0 1
TEST=# insert into db values(2,'sunny');
INSERT 0 1
TEST=# select * from db;
id | name
----+-------
1 | timy
2 | sunny
(2 rows)