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

某领域统计与监测平台核心数据库XuguDB虚谷数据库适配之旅

黄宏亮数字 2024-10-14
178

“生意场上没有永远的敌人”,Oracle CloudWorld 2024 那些事

某物联网平台Halo数据库适配之旅

某市驾驶培训监管服务平台GreatSQL分布式数据库适配之旅

海量数据库-Vastbase适配之旅

国产信创数据库PolarDB之旅

安装达梦V8数据库

开始,刚开始102

RAC1

RAC2-(续)20240930

中间件应用程序连接数据库scan ip用于业务是否合适,这是什么个说法?

kingbase V9金仓KES单机安装最佳实践

一、系统环境   

业务方面,服务器部署中心很多业务系统数据(调查平台等系统数据、一期所有数据、二期业务数据),系统运11年来用于承载数据库的存储阵列为裸容量50T,实际空间47T,由于系统24小时运行多年运行,存储阵列已经没有空间,服务器的空间也必将饱和,已经无法满足常态化备份所需空间。一旦发生不可修复故障,对中心业务数据影响极大。基于上叙情况,建议采用如下方案进行服务器、数据库软件及数据迁移,以保证各业务系统数据安全稳定存储及运行。并且从服务的角度来看,解决实际安全等级保护需求, 保证关键业务连续运行,不断增长的业务的要求,为数据快速的增长提供所需要能力,为业务数据提供高效、安全、可靠的连接,能提升信息化水平,实现业务系统安全稳定运行,确保平台符合国家、相关政策要求,提供安全持久的服务能力,满足最大化了利用率,降低了相关的事故等。    

硬件情况,某领域统计与监测平台数据库(一期)项目建设时采购的数据库服务器,型号IBM X3850X5,操作平台linux 系统,IP地址192.168.*.*,部署*******G,版本为****4 单机数据库软件,两台是服务器,一主一备(冷备),且未做集群,服务器从购置到目前已运行11年,硬件运行故障风险极高。信息系统定级为第三级。          

二、系统数据库情况  

承载业务数据库存储阵列的升级完的裸容量为100T,实际空间95T,数据库由*****G,版本为****4 单机数据库软件升级为虚谷数据库,版本为XuguDB-12.3 (根据实际情况可以升级到可满足三级等保的需要)

基本信息

版本

源端

                  

目标端

数据库        

192.168.*.*

                  

192.168. *.*

OS

CentOS 6.6

                  

CentOS v7.6

数据量 (裸容量

50T

                  

100T

存储

本地文件系统

                  

XuguDB-12.3

三、数据库实际部署情况   

系统实际部署情况

四、迁移前系统整理方案   

主要对软硬件设施按照业务系统进行分类,摸清系统功能、软硬件设施、数据、终端、端口等状态,

4.1、工作量统计  

设备列表

序号

品牌及型号

数量

原部署位置

部署位置

备注

1

IBM X3850X5

1

机房606

机房606

                  

2

IBM X3850X5

1

机房606

机房606

                  

                  

4.2、系统健康检查  

对运行状态中的系统进行状态检查,查看设备外观,是否有故障报警灯;查看系统运行情况,CPU、内存、磁盘使用情况,系统日志分析。

4.3、设备标签制作  

按照设备在新机房的安装位置,制作设备标签及对应表。标签一式三份,其中两份在设备下架时分别粘贴在设备及包装箱上,另一份留作备用。            
五、服务器原数据库实例及安全   

5.1、数据库的相关情况  

用户名

密码

SID

用途

cfdip2_y

JNJP2_XNY

                  

应用补贴

cfdip2_jjbt

jnjp2_jnjpbt

                  

服务补贴

cfdip2_mrep

jnjp2_mrep

                  

应用中间库

cfdip2_wrep

jnjp2_wrep

                  

服务中间库

cfdip2_prep

jnjp2_prep

                  

应用中间库

cfdip2_tocc

jnjp2_tocc

                  

服务中间库

cfdip2_run

jnjp_run

                  

应用二包

cfdip2_jing

jnjp_huanjing

                  

应用环境监测数据

cfdip2

Jnjp_2013

                  

应用业务数据

cfdip2_share

Jnjp_2013

                  

对外数据

cfdip2_trans

Jnjp_2013

                  

数据(三期)

cfdip2_dcpt

jnjp_dcpt

                  

向XX调查平台推数

cfdip2_diaocha

jnjp_diaocha

                  

XX从调查平台推数入库

cfdip2_all

Jnjp2_all

                  

Erzkr

cfdip2_gx

jnjp_gx

                  

jyc

cfdip2_bjjw

syjl_bjjw

                  

yaol

cfdip2

BPS_2JNJP

                  

datab数据管理平台

cfdip2

bjtu

                  

data项目

rootroot         

root

                  

mysql

cfdip2_guest

Jnjp_2013

                  

mysql

          原服务器数据库实例及用户

          

5.2、解决ssl的问题  

安装:openssh-9.8p1-1.el7.x86_64.rpm

openssh-clients-9.8p1-1.el7.x86_64.rpm、

openssh-debuginfo-9.8p1-1.el7.x86_64.rpm、

openssh-server-9.8p1-1.el7.x86_64.rpm

openssl-1.1.1h.tar,zlib-1.2.11的相关包

5.3、系统加固  

登陆失败锁定

          

编号

Linux-05301

名称

登陆失败锁定

系统当前状态

登录失败无处理手段

实施方案

建议按照如下方式进行账号及口令安全策略的配置,修改/etc/pam.d/system-auth文件,将相应的字段修改为以下内容:        

auth   required   pam_tally.so  deny=5  unlock_time=20

 (以上仅对实施完这条策略后,新增加的用户有效)

实施目的

增加Linux系统登陆账号的安全性

实施风险

回滚方案

加固前创建备份目录,按照日期命名:(不用重复创建)

mkdir root/backup2024

将需要修改的配置文件复制保存在备份目录:

cp /etc/pam.d/system-auth /root/backup2024/

需要回退的时候将修改前的备份文件覆盖回配置文件即可:

cp/root/backup2024/system-auth /etc/pam.d/system-auth

是否实施

(客户填写)

          

限制root直接远程登陆

          

编号

Linux-05302

名称

限制root直接远程登陆

系统当前状态

系统当前允许root用户直接远程登陆

实施方案

实施方法如下,进入Linux系统当中,执行如下命令:

#vi /etc/ssh/sshd_config

将PermitRootLogin yes更改为PermitRootLogin no        

如果要使用root用户,请首先登陆到普通用户,再使用su命令切换到root用户上。

实施目的

加强root用户的安全性

实施风险

无风险

回滚方案

加固前创建备份目录,按照日期命名:(不用重复创建)

mkdir /root/backup2024

将需要修改的配置文件复制保存在备份目录:

cp /etc/ssh/sshd_config /root/backup2024/

需要回退的时候将修改前的备份文件覆盖回配置文件即可:

cp /root/backup2024/sshd_config /etc/ssh/sshd_config

是否实施

(客户填写)

安全风险

          

重要文件权限

          

编号

Linux-05303

名称

重要文件权限

系统当前状态

/etc/passwd、/etc/shadow、/etc/group等文件默认644权限

实施方案

实施方法如下,进入Aix系统当中,执行如下命令:        

chmod /etc/passwd 640

chmod /etc/shadow 640

chmod /etc/group 640

实施目的

控制重要文件权限

实施风险

回退方法

执行命令:

chmod /etc/passwd 644

chmod /etc/shadow 644

chmod /etc/group 644

是否实施

(客户填写)

安全风险

          

禁止ICMP重定向

          

编号

Linux-05304

名称

禁止ICMP重定向

系统当前状态

未配置ICMP重定向

实施方案

实施方法如下,进入Linux系统,执行如下命令:

#vi /etc/sysctl.conf

net.ipv4.conf.default.send_redirects=0

net.ipv4.icmp_echo_ignore_broadcasts=1

实施目的

加强Linux系统自身的安全

回退方案        

加固前创建备份目录,按照日期命名:(不用重复创建)

mkdir /root/backup2024

将需要修改的配置文件复制保存在备份目录:

cp /etc/sysctl.conf /root/backup2021/

需要回退的时候将修改前的备份文件覆盖回配置文件即可:

cp /root/backup2024/sysctl.conf /etc/sysctl.conf

实施风险

无风险

是否实施

(客户填写)

安全风险

          

六、服务器虚谷数据库部署迁移情况  

6.1、本地安装环境配置  

BIOS

(1)关闭超线程

如果支持超线程得关闭超线程,进入BIOS SETUP 界面,找到(超线程)Hyper-Threading Technology 选项后将其设置为[Disabied]关闭,保存退出后启动系统。lscpu |grep "Thread(s) per core:" 结果为1说明已经关闭超线程。

(2)将电源管理设置为性能模式

进入BIOS,找到“高级”下面的“性能配置”;“性能配置”里面的“电源策略”选择“性能”,可能不同的和主板设置的位置不一样,具体情况参照主板说明书。    

6.2、系统配置  

l安装部署

1、依赖包与服务安装

source /etc/profile

检查环境所需包,snmpd自启动

yum -y install vsftpd ntp *libio* net-snmp perf gcc gdb sysstat 

systemctl start snmpd

systemctl enable snmpd

systemctl status snmpd

          

2、网络参数设置

vi /etc/sysctl.conf

net.core.rmem_default = 2097152

net.core.wmem_default = 2097152

net.core.rmem_max = 8388608

net.core.wmem_max = 8388608

 sysctl -p

3、内核ulimit参数配置

vi /etc/profile

ulimit -s 20480

ulimit -n 10240

     

4、创建xugu用户

groupadd -g 2000 xugu

useradd -g xugu -u 2000 -m -d /home/xugu xugu

passwd xugu

          

5、同步集群各节点服务器系统时间

关闭SELinux

临时关闭

setenforce 0

永久关闭

sed -i ‘s/SELINUX=enforcing/SELINUX=disable/g’ /etc/selinux/config

关闭防火墙,一定要关闭

systemctl  status firewalld.service      查看防火墙的状态;

systemctl  start firewalld.service      启动防火墙;

systemctl  stop firewalld.service      关闭防火墙;

systemctl  restart firewalld.service      重启防火墙;

systemctl  enable firewalld.service      开机启动防火墙;

systemctl  disable firewalld.service      开机禁用防火墙;

          

6、服务端(选一台作为服务端)

vim /etc/chrony.conf    

#文件中修改以下内容

allow 192.168.0.0/16

local stratum 1

chronyc -a makestep

systemctl restart chronyd.service

systemctl enable chronyd.service

vi /etc/chrony.conf

chronyc -a makestep

506 Cannot talk to daemon

systemctl restart chronyd.service

chronyc -a makestep

200 OK

          

7、透明页和内存页

禁用透明页和内存页,直接关闭

cat /sys/kernel/mm/transparent_hugepage/defrag

[always] madvise never

cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

 echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

cat /etc/rc.d/rc.local    

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

chmod +x /etc/rc.d/rc.local

          

8、文件上传解压

将数据库文件压缩包上传至服务器,统一新建xgdbms_node目录,解压,解压后内容包含BIN与SETUP目录

tar -zxvf XuguDB-12.3_20240117-personal-linux-x64.zip -C xgdbms_node

cd xgdbms_node/

cd XuGuServer/

          

9、配置cluster.ini(集群)

若部署集群,则在SETUP目录下配置cluster.ini文件,各节点对应修改MY_NID值。第三个节点角色设置为SQWG,这里之前没有。

          

10、启动单机/集群

启动数据库,在BIN目录下运行xugu_start脚本或执行命令$PWD/xugu_linux -service以后台服务方式启动数据库进程。若以前台方式启动则将-service改为-child。数据库启动成功标志为监听端口5138启动,可通过stdout.txt查看。    

cd ../BIN/

sh xugu_start.sh

[xugu@vastbase BIN]$ sh xugu_start.sh

xugu_start.sh: line 1: /home/xugu/xgdbms_node/XuguServer/BIN/xugu_linux_personal_x64_20240117: Permission denied

[xugu@vastbase BIN]$ ll

total 11964

-rw-r--r-- 1 xugu xugu   915088 Jan 17  2024 xgconsole-linux-x64

-rw-r--r-- 1 xugu xugu   139630 Feb  4  2024 xugu_init.sql

-rw-r--r-- 1 xugu xugu 11185040 Feb  4  2024 xugu_linux_personal_x64_20240117

-rw-r--r-- 1 xugu xugu       47 Feb  4  2024 xugu_start.sh

在BIN目录下执行pwd获取绝对路径

绝对路径xugu-linux -service 后台方式启动

[xugu@vastbase BIN]$ sh xugu_start.sh

XuGu SQL Server 12.0.0 (Built:2024-01-17 12:00:00 GA)

Start at: 2024-10-13 15:48:53

Start database process PID=11968,output redirects to file stdout.txt.    

[xugu@vastbase BIN]$

查看日志

tailf stdout.txt

若启动单机数据库,则直接新建一个xgdbms_1node目录,将数据库文件拷贝,之后修改端口为5138,再修改mount.ini和datafile.ini。最后启动。

cd SETUP/

vim xugu.ini   修改端口5138

cd BIN/

          

在配置完datafile.ini后启动单机数据库

sh xugu_start.sh

          

stdout.txt  xgconsole-linux-x64  xugu_init.sql  xugu_linux_personal_x64_20240117  xugu_start.sh

[xugu@vastbase BIN]$ ll

total 11968

-rw-rw---- 1 xugu xugu      520 Oct 13 15:49 stdout.txt

-rw-r--r-- 1 xugu xugu   915088 Jan 17  2024 xgconsole-linux-x64

-rw-r--r-- 1 xugu xugu   139630 Feb  4  2024 xugu_init.sql

-rwxrwxr-x 1 xugu xugu 11185040 Feb  4  2024 xugu_linux_personal_x64_20240117    

-rw-r--r-- 1 xugu xugu       47 Feb  4  2024 xugu_start.sh

[xugu@vastbase BIN]$ tail -f stdout.txt

   Node 0: 0 1 2 3

Resource limit:

   File number:     hard limit=4096,soft limit=1024

   File size(M):    hard limit=-1,soft limit=-1

   Data memory(M):  hard limit=-1,soft limit=-1

   Resident(M):     hard limit=-1,soft limit=-1

   Proc's total memory(M): hard limit=-1,soft limit=-1

Open file cluster.ini failed.

init data buffer...ok.

Trial Edition,remain 360 days

          

11、配置mount.ini,datafile.ini(可选,题上如果没有则先不做这个)

mount.ini文件与数据库文件存储路径相关,需要指定数据库文件存储位置时,可手动创建 datafile.ini 文件和配置 mount.ini 文件

mount.ini默认内容:

/XGLOG      ./XGLOG

/CATA      ./XHOME/CATA

/DATA      ./XHOME/DATA

/TEMP      ./XHOME/TEMP

/REDO      ./XHOME/REDO    

/BACKUP      ./XHOME/BACKUP

/ARCH      ./XHOME/ARCH

/UNDO      ./XHOME/UNDO

/MODI      ./XHOME/XMODI

当数据文件较大时,可将4个DATA.DBF文件分置于不同数据盘上。如将DATA1.DBF,DATA2.DBF放在/home/data1目录下,将DATA3.DBF,DATA4.DBF放在/home/data2目录下。

创建需要的文件目录

cd XuGuServer

mkdir /home/data1

mkdir /home/data2

cd SETUP

vim datafile.ini

#DATA_FILES

/data1/DATA1.DBF

/data1/DATA2.DBF

/data2/DATA3.DBF

/data2/DATA4.DBF

vim mount.ini

/XGLOG ./XGLOG

/CATA ./XHOME/CATA

/DATA ./XHOME/DATA    

/TEMP ./XHOME/TEMP

/REDO ./XHOME/REDO

/BACKUP ./XHOME/BACKUP

/ARCH ./XHOME/ARCH

/UNDO ./XHOME/UNDO

/MODI ./XHOME/XMODI

/data1 /home/data1

/data2 /home/data2

          

启动后可查看dbf文件

ll  /home/data1/

ll  /home/data2/

[xugu@vastbase XuguServer]$ ll

total 0

drwxr-xr-x 2 xugu xugu 133 Oct 13 15:48 BIN

drwxr-xr-x 2 xugu xugu  73 Jan 26  2024 SETUP

drwxrwx--- 2 xugu xugu  57 Oct 13 15:48 XGLOG

drwxrwx--- 9 xugu xugu  92 Oct 13 15:49 XHOME

drwxrwx--- 2 xugu xugu   6 Oct 13 15:49 XVOCA

[xugu@vastbase XuguServer]$ ls -l XHOME/

total 0

drwxrwx--- 2 xugu xugu  6 Oct 13 15:49 ARCH    

drwxrwx--- 2 xugu xugu  6 Oct 13 15:49 BACKUP

drwxrwx--- 2 xugu xugu 88 Oct 13 15:49 CATA

drwxrwx--- 2 xugu xugu 74 Oct 13 15:50 DATA

drwxrwx--- 2 xugu xugu 40 Oct 13 15:49 REDO

drwxrwx--- 2 xugu xugu 40 Oct 13 15:51 TEMP

drwxrwx--- 2 xugu xugu  6 Oct 13 15:49 UNDO

[xugu@vastbase XuguServer]$ ls -l XHOME/DATA/

total 1048576

-rw-rw---- 1 xugu xugu 268435456 Oct 13 15:49 DATA1.DBF

-rw-rw---- 1 xugu xugu 268435456 Oct 13 15:49 DATA2.DBF

-rw-rw---- 1 xugu xugu 268435456 Oct 13 15:49 DATA3.DBF

-rw-rw---- 1 xugu xugu 268435456 Oct 13 15:50 DATA4.DBF

[xugu@vastbase XuguServer]$ ls -l XGLOG/

total 8

-rw-rw---- 1 xugu xugu    3 Oct 13 15:48 ERROR.LOG

-rw-rw---- 1 xugu xugu 1092 Oct 13 15:51 EVENT.LOG

-rw-rw---- 1 xugu xugu    0 Oct 13 15:48 TRACE.LOG

[xugu@vastbase XuguServer]$    

          

12、连接数据库

虚谷客户端工具包括:xgconsle、xugumanager、dbeaver。

可在服务器部署xgconsole工具,其连接方式为,数据库操作可见SQL语法手册:

./xgconsole nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA

1

也可通过解压安装图形化工具xugumanager、dbeaver连接数据库

[xugu@vastbase ~]$ more .bash_profile

# .bash_profile

          

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

   . ~/.bashrc

fi    

          

# User specific environment and startup programs

          

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export XUGU_BASE=/home/xugu

export XUGU_HOME=/home/xugu/xgdbms_node/XuguServer

export PATH=/usr/sbin:$PATH

export PATH=$XUGU_HOME/bin/:$PATH

          

xgdbms_node

chmod 775 xgdbms_node/XuguServer/BIN/xgconsole-linux-x64

./xgconsole nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA

/home/xugu/xgdbms_node/XuguServer/BIN/xgconsole-linux-x64 nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA

XGDBMS linux Console Release V1.4.3

Copyright (c) 2002, 2024, XuGu.  All rights reserved.

Connect to 127.0.0.1:5138 SYSTEM SYSDBA

Connect ok.

          

查看启动文件stdout.txt

[xugu@vastbase BIN]$ tail -f stdout.txt    

Open file cluster.ini failed.

init data buffer...ok.

Trial Edition,remain 360 days

Mount all gstore...ok.

Open all system tables...ok

Create system database...ok.

Open all system views...ok

Load all jobs...ok

All service started.

Listening at port 5138

          

13.客户端登录数据库

xgconsole nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA          
/home/xugu/xgdbms_node/XuguServer/BIN/xgconsole-linux-x64 nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA

查看集群状态

状态为2正常态,集群启动时间。

SQL>  select NODE_STATE,BOOT_TIME from sys_clusters;

NODE_STATE | BOOT_TIME |

------------------------------------------------------------------------------

2 | 2024-10-13 15:48:56.837 AD |

Total 1 records.    

Use time:1 ms.    

          

SQL>创建测试表

test1表,查看存储位置

SQL> create table test1 (id int , c2 varchar(10));

Execute successful.

Use time:24 ms.

SQL> select GSTO_NO,STORE_STA,STORE_NUM,NODE_ID1,STORE_NO1,OBJ_ID,NODEID from sys_gstores where obj_id = (select TABLE_ID from sys_tables where table_name = 'test1');

 GSTO_NO | STORE_STA | STORE_NUM | NODE_ID1 | STORE_NO1 | OBJ_ID | NODEID |

------------------------------------------------------------------------------

346 | 1 | 1 | 1 | 204 | 1048598 | 1 |

 Total 1 records.

Use time:0 ms.

全局存储号GSTO_NO为346,STORE_STAT为1二进制是00 00 01,单节点只有一个版本,第一版本是主版本,NODE_ID1为1第一版本为1节点。

              

6.3、备份恢复  

1、备份

连接数据库执备份命令

2.1.1使用dbaver连接集群node1数据库SYSTEM,SYSDBA SYSDBA

新建库backup_db

create database backup_db;

2.1.2 使用dbaver连接新建的数据库backup_db,SYSDBA SYSDBA 权限dba

use backup_db;

创建表 t_bak

create table test1(a INT,b VARCHAR);

执行增加代码

          

BEGIN

FOR i IN 1..1000 LOOP

INSERT INTO test1 VALUES(i,random);

END LOOP;

COMMIT;

END;

/

          

备份    

BACKUP DATABASE TO '/BACKUP/backup_db.exp';

SQL> BACKUP DATABASE TO '/BACKUP/backup_db.exp';

backup table SYSDBA.TEST1 -------------------------------------------------- data rows 0 success

          

Execute successful.

Use time:68 ms.    

          

SQL>

备份文件在连接的节点的/XuGuServer/XHOME/BACKUP下。

[xugu@vastbase XHOME]$ ls

ARCH  BACKUP  CATA  DATA  REDO  TEMP  UNDO  XMODI

[xugu@vastbase XHOME]$ cd BACKUP/

[xugu@vastbase BACKUP]$ ls

backup_db.exp

[xugu@vastbase BACKUP]$ ll

total 36

-rw-rw---- 1 xugu xugu 3314

          

2、创建恢复库

将备份文件复制到单机数据库目录下

cp backup_db.exp  /xugu/xgdbms_1node/XuGuServer/XHOME/BACKUP    

dbeaver连接单机数据库,ip 端口 数据库SYSTEM SYSDBA SYSDBA SYSDBA

创建空库用来进行恢复

创建新库

create database restore_db;

use restore_db;

连接新创建的用户库ip 端口 数据库restore_db SYSDBA SYSDBA DBA

          

3、恢复

复制/BACKUP/backup_db.exp至要恢复的库的BACKUP目录下,连接空库执行恢复命令

恢复命令

restore database backup_db from '/BACKUP/backup_db.exp';

select * from TEST1;    

          

6.4、主备同步  

1、开启变更记载

连接G节点数据库开启变更记载,dbms_replication系统包详细用法见官网文件。

xgconsole nssl 192.168.58.133  5138  BACKUP_DB  SYSDBA  SYSDBA

g节点ip

          

开启变更记载

use backup_db;

exec dbms_replication.create_modify_source('*','*');    

exec dbms_replication.create_subscriber('syncer','SYSDBA');

select dbms_replication.poll_modify_data('syncer',0,null,1024*1024*1024,false,0,0);

开启log归档

数据备份重做日志归档模式。1:拷贝 redo

在sql界面执行set log_archive_mode to 1;

重启集群

ps -ef|grep xugu

kill -9 xx

          

6.5、监控工具搭建  

使用同步工具需安装java环境

java –version

openjdk version "1.8.0_181"    

OpenJDK Runtime Environment (build 1.8.0_181-b13)

OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

1、修改被监控节点snmp配置文件

已安装

安装snmp

yum install -y net-snmp net-snmp-utils

vim /etc/snmp/snmpd.conf 需要修改

重启

systemctl restart snmpd

开机自启

systemctl enable snmpd

不一定需要下边步骤

snmpwalk -v2c -c public localhost ifName

启动

service snmpd start

          

2、部署配置监控工具    

上传解压

cd tools

tar -zxvf XuguCM-xxxxx.tar.gz

cd XuguCm/

./startdb.sh   监控工具底层库 端口5151

./startapp.sh   启动监控工具

tail -f logs/catalina.out

上传监控工具安装包至服务器并解压,进入XuguCM,执行./startdb.sh启动监控工具底层数据库,端口为5151。数据库启动完成后启动监控工具软件./startapp.sh,可通过logs/catalina.out文件查看启动情况。

          

1.解压程序包 XuguCM-*.*.*.tar.gz 到任意目录。

2.进入程序目录,执行 startdb.sh,启动数据库。

3.进入程序目录,执行 startapp.sh,启动工具和积木报表,积木报表启动后访问地址ip:9500/jmreport/list。

积木报表的配置通常保持默认即可,如果存在端口冲突等情况,也可根据需要自行配置报表工具。进入监控软件所在目录下的

jimu/config目录,自行配置application.yml,配

置完成后重启积木报表即可,先执行./shutdownapp.sh,再执行./startapp.sh。

          

3、设置监控项    

访问监控工具:http://192.168.*.*:8080/xgcm/login admin/admin,在网页中进行监控的集群和监控项的配置。详见监控工具使用手册。

监控集群配置:配置管理–>集群配置–>添加集群

监控集群配置:配置管理–>集群配置–>添加集群

进程名:xugu_linux_x64_trial    

          

文件绝对路径:路径加上dbf名称

集群监控项配置:配置管理–>集群监控项

收集设置,告警设置,全部打勾

          

4、查看监控    

          

6.6、系统字典、视图使用  

虚谷数据库通过以下两张表记录所有系统表、系统试图信息,可通过模糊查询查找想查看的系统表、视图名。

select table_name from sys_system_tables;    

select view_name from sys_system_views;    

          

1、查看节点状态

SELECT DB_NAME,CHAR_SET,TIME_ZONE,CREATE_TIME,MODIFY_TIME,ONLINE FROM DBA_DATABASES;    

show clusters;

“STORE_NUM”与“MAJOR_NUM”表示虚谷数据库存储节点所拥有的存储数量以及当前节点中的主版本存储数据量,若节点配置拥有存储角色, 则该两项必定非零; 若查询结果中 NODE_STATE 属性值为 4 则表示当前节点异常, 已被集群管理节点置为失效, 不再对外提供服务。

2、注意是否存在长事务

SELECT NODEID 节点号,USER_NAME 访问用户,IP 访问IP,DB_NAME 登录库名,START_T 登录时间,DECODE(STATUS,112,'IDLE',114,'RUNNING') 运行状态,AUTO_COMMIT 自动提交,CURR_TID 当前事务号,TRANS_START_T 事务开始时间,SYSDATE-TRANS_START_T 事务执行时长 FROM SYS_ALL_SESSIONS ORDER BY 事务执行时长 DESC LIMIT 5;

--通过事务执行时长,分析判断是否为长事务,若是长事务,获取事务号,再进行下一步操作。

--查出长事务执行sql:

SELECT * FROM SYS_ALL_THD_SESSION WHERE CURR_TID='事务号';

--进行路径规划分析:    

EXPLAIN VERBOSE + 长事务sql;

          

3、集群内个节点重发包和丢包情况

SELECT * FROM SYS_ALL_MONITORS WHERE TARG_NAME IN ('RESEND_MSG_NUM', 'DISCARD_MSG_NUM');

--RESEND_MSG_NUM:重发包数

--DISCARD_MSG_NUM:丢包情况

--在正常运行的过程中,这两个数值会持续增加,单各节点重发包数和丢包数,基本维持在一个较均衡的情况。单个节点重启后该节点置0,集群重启后,各节点置0。如果出现某个节点的重发包和丢包数比较严重,需要关注一下该节点的网络情况。

//rpc测试,包单位为M --TEST_RPC_SEND(节点号,包大小);

SELECT DBMS_TEST.TEST_RPC_SEND(1,1024);

          

4、集群运行信息(事务差)

SELECT NODEID,DISK_R_N,DISK_R_BYTES,DISK_W_N,DISK_W_BYTES,NET_R_BYTES,NET_W_BYTES,MIN_TRANS_ID,MAX_TRANS_ID,MAX_TRANS_ID-MIN_TRANS_ID 事务号差 FROM SYS_ALL_RUN_INFO;    

--1、关注事务号差,没有上亿则正常。

--2、重复多刷几次,观察事务号差是否在变化。(在变化则正常)

--若事务号差长时间未变化,则需要排查是什么事务一直未结束,找出事务号,查出对应的操作进行分析。

5、表空间状态检查

SELECT * FROM SYS_ALL_TABLESPACES WHERE MEDIA_ERROR='T';

--若存在输出结果,则表空间存在异常,再进行近一步的日志分析和存储状态分析。

6、存储状态检查(针对三版本集群)

SELECT COUNT(*) FROM SYS_GSTORES WHERE STORE_STA!='41';

--正常结果返回应为0,若为非0,则需要通过异常存储信息查询出异常存储块所在的表空间和节点,然后结合节点日志进行分析。

SELECT * FROM SYS_GSTORES WHERE STORE_STA!='41';

SELECT S.NODEID,S.GSTO_NO,S.STORE_NO,T.SPACE_NAME,T.MEDIA_ERROR FROM SYS_STORES S JOIN SYS_TABLESPACES T ON S.SPACE_ID=T.SPACE_ID WHERE S.GSTO_NO='异常全局存储号';    

7、无效对象检查

SELECT DB_ID,USER_ID UID,PROC_NAME AS OBJ_NAME FROM SYS_PROCEDURES WHERE VALID='F'

UNION ALL

SELECT A.DB_ID,USER_ID UID,INDEX_NAME AS OBJ_NAME FROM SYS_INDEXES A INNER JOIN  SYS_TABLES B ON A.TABLE_ID=B.TABLE_ID AND A.DB_ID=B.DB_ID WHERE VALID='F'

UNION ALL

SELECT DB_ID,USER_ID UID,VIEW_NAME AS OBJ_NAME FROM SYS_VIEWS WHERE VALID='F'

UNION ALL

SELECT DB_ID,USER_ID UID,TRIG_NAME AS OBJ_NAME FROM SYS_TRIGGERS WHERE VALID='F';

          

--若存在无效对象,先进行恢复失效对象,然后再分析失效原因。

--对象失效命令可拆分为四个单独的sql(SYS_PROCEDURES、SYS_INDEXES、SYS_VIEWS、SYS_TRIGGERS),主要是对存储、索引、视图、触发器失效对象进行检查。    

          

--存储过程或函数失效,通过编译对象使其生效:

ALTER PROCEDURE "模式名"."对象名" RECOMPILE;

--索引失效,通过重建索引使其生效:

REINDEX "模式名"."表名"."索引名";

--视图失效,通过重编译视图使其生效:

ALTER VIEW "模式名"."视图名称" RECOMPILE;

--触发器失效,通过重编译触发器使其生效:

ALTER TRIGGER "模式名"."触发器名" RECOMPILE;

--如果重编译后未生效,再根据情况进行定位分析。

8、集群磁盘和内存使用情况检查

df -h

free -h

top

#确认系统盘和数据盘的使用情况,确认内存当前使用情况。

9、运行状态表

常用系统表:SYS_ALL_SESSIONS、SYS_ALL_THD_SESSION、SYS_ALL_THD_STATUS、SYS_ALL_TRANS、SYS_ALL_LOCKS、SYS_LOWNER、SYS_ALL_MONITORS等

查看挂起最早事务

SELECT * FROM SYS_ALL_SESSIONS WHERE CURR_TID IS NOT NULL ORDER BY TRANS_START_T LIMIT 5;    

SELECT * FROM SYS_ALL_THD_SESSION WHERE CURR_TID IN (SELECT CURR_TID FROM SYS_ALL_SESSIONS WHERE CURR_TID IS NOT NULL ORDER BY TRANS_START_T LIMIT 10);

查看线程状态情况

SELECT STATE,COUNT(*) FROM SYS_ALL_THD_STATUS WHERE STATE>0 GROUP BY STATE;

查看集群内部包(重发包和丢包)情况

SELECT * FROM SYS_ALL_MONITORS WHERE TARG_NAME IN ('RESEND_MSG_NUM', 'DISCARD_MSG_NUM');

再根据情况进行定位分析。

7、迁移测试  

7.1、sqlldr方式  

备份方式:dbeaver或select

恢复方式:sqlldr

执行工具:xgconsole

常用场景:和tabldr一样,只是速度没有tabldr快

执行步骤:

导入:

sqlldr table=b1 datafile=/home/xugu/xgdbms_node/XuguServer/XHOME/backup/b1_bak.csv ft=',' rt=X'0a' log=./load.log errlog=./loaderr.log mode=replace imp_type=block    

工具导出导入

dbeaver23.2.0

导出:

在要导出的对象上右键-工具-备份数据库对象-选择要备份的对象-开始备份(记住下图中备份文件位置)

7.2、数据恢复  

1.将备份文件拷贝到目标库下的BACKUP目录下(尽量别通过微信传,可能会被损坏)

右键对象-工具-恢复数据库对象-填写备份文件以及数据库源和目标信息(模式必须不存在)    

          

备份恢复涉及的参数可以参考官网文档中心 https://www.xugudb.com/

八、虚谷数据库原创自研的分布式事务型数据库  

虚谷数据库是一款由成都虚谷伟业科技有限公司完全原创自研的分布式事务型数据库,具有高性能、高可用、高安全、高拓展等特性。

虚谷数据库支持无限制级行级锁、RDMA协议、可靠UDP技术、分布式MVCC技术等,这些技术使得虚谷数据库在性能、资源占用、数据一致性等方面具有显著优势。    

虚谷数据库适用于在线事务处理能力(OLTP)、联机数据分析处理(OLAP)及OLTP与OLAP混合型业务场景,可支撑PB级海量数据处理,满足千亿行单表查询下毫秒级响应的需求。

 参考官网文档中心https://www.xugudb.com/ 

以上,既然看到这里了,如果觉得不错,随手点个赞,下次再见。

1、信创名单查询:

http://www.itsec.gov.cn/aqkkcp/cpgg/202409/t20240930_194299.html

http://www.itsec.gov.cn/aqkkcp/cpgg/202312/t20231226_162074.html

2、审计监控诊断优化

 老白D-Smart,借助他在健康监控、故障预警、问题诊断、定期巡检、专项审计等诸多自动化运维工作

微信DBAiop社区下载社区版

输入 《下载》  获得下载全部命令

输入 《下载7》 获得RHEL7/CENTOS 7绿色安装包

输入 《下载8》 获得RHEL8/CENTOS 8绿色安装包

输入 《docker》获得Docker版安装镜像安装包

• 海信聚好看的 DBdoctor,, 在对数据库几乎没有影响的情况下实时监控数据库和服务器的各项指标发现和诊断问题根因非常方便.

https://www.dbdoctor.cn/

3、集群管理软件

乘数开源的clup, 专门用来管理集群管理软件如果你要管理很多套数据库,自研的连接池、分布式存储、一体机、备份平台等企业可以关注一下.

https://github.com/apecloud/kubeblocks

4、数据同步&迁移&备份恢复

•NineData, 老领导出去创业做的产品产品涵盖了数据同步、迁移、备份、比对、devopschatDBA.

https://www.ninedata.cloud/home

5、通用数据库管理桌面软件

数据库运维、管理、开发人员或者学习者的屠龙刀

https://www.deskui.com/pages/dbcs.html

  

文章转载自黄宏亮数字,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论