【参赛作品16】opengauss实践总结学习心得

本文档详述了在ECS上安装部署openGauss数据库的完整过程,包括操作系统配置、数据库安装、XML配置文件创建、性能优化、JDBC连接等,并通过金融场景化实验展示了数据库建模和数据操作。在数据库维护管理部分,涉及了操作系统参数检查、健康状态检查、性能检查等日常维护任务。实验过程中遇到了系统参数调整、JDK版本匹配等问题,通过解决这些问题,作者深化了对openGauss数据库管理的理解。

Opengauss实践总结

实验一 在ECS上安装部署openGauss数据库

一、实验内容
1、实验内容:本实验主要内容为弹性云服务器(openEuler)上安装部署openGauss数据库,并进行简单的数据库相关操作。

2、实验概览:
5C4402A4232F43A2BCE5E70BDC6C3D72.png
实验概览图

二、实验过程
1.进入华为官网,购买弹性云服务器ECS(openEuler ARM 操作系统)。购买时需自定义购买进行基础配置、网路配置、高级配置等。
2.修改操作系统配置。使用SSH工具(比如:PuTTY等)从本地电脑通过配置弹性云服务器的弹性公网IP地址(如:124.70.36.251)来连接ECS,并使用ROOT用户来登录。
3.设置字符集参数。
[root@ecs-c9bf ~]# cat >>/etc/profile<<EOF
export LANG=en_US.UTF‐8
EOF
[root@ecs-c9bf ~]# source /etc/profile
4.修改python版本
[root@ecs-c9bf ~]# cd /usr/bin
[root@ecs-c9bf bin] # mv python python.bak
[root@ecs-c9bf bin] # ln -s python3 /usr/bin/python
[root@ecs-c9bf bin] # python -V
[root@ecs-c9bf ~]# yum install libaio* -y
5.下载数据库安装包
[root@ecs-c9bf bin]# mkdir -p /opt/software/openGauss[root@ecs-c9bf bin]# chmod 755 -R /opt/software
[root@ecs-c9bf bin]# cd /opt/software/openGauss
[root@ecs-c9bf openGauss]# wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/arm/openGauss-1.1.0-openEuler-64bit-all.tar.gz
6.创建XML配置文件
[root@ecs-c9bf bin]# cd /opt/software/openGauss
[root@ecs-c9bf openGauss]# vi clusterconfig.xml
输入”i”进入INSERT模式,添加文本如下

<DEVICELIST> 
    
    <DEVICE sn="1000001"> 
        <PARAM name="name" value="ecs-c9bf"/> 
        <PARAM name="azName" value="AZ1"/> 
        <PARAM name="azPriority" value="1"/> 
        <PARAM name="backIp1" value="192.168.0.58"/> 
        <PARAM name="sshIp1" value="192.168.0.58"/> 
         
    <!--dbnode--> 
    <PARAM name="dataNum" value="1"/> 
    <PARAM name="dataPortBase" value="26000"/> 
    <PARAM name="dataNode1" value="/gaussdb/data/db1"/> 
    </DEVICE> 
</DEVICELIST> 



点击“ESC”退出INSERT模式,然后输入“:wq”后回车退出编辑并保存文本。
7.修改performance.sh文件
[root@ecs-c9bf openGauss]# vi /etc/profile.d/performance.sh
输入”i”,进入INSERT模式。
CPUNO=cat /proc/cpuinfo|grep processor|wc -l
export GOMP_CPU_AFFINITY=0-$[CPUNO - 1]

rootecsc9bf_script_su__omm_
ommecsc9bf__gs_om_t_start
Starting_cluster_69">#sysctl -w vm.min_free_kbytes=112640 &> /dev/null

sysctl -w vm.dirty_ratio=60 &> /dev/null

sysctl -w kernel.sched_autogroup_enabled=0 &> /dev/null

点击“ESC”退出INSERT模式。输入“:wq”后回车,保存退出。

8.执行预安装前加载安装包中lib库

[root@ecs-c9bf openGauss]# vi /etc/profile

输入i,进入INSERT模式

export packagePath=/opt/software/openGauss

export LD_LIBRARY_PATH=packagePath/script/gspylib/clib:packagePath/script/gspylib/clib:packagePath/script/gspylib/clib:LD_LIBRARY_PATH

[root@ecs-c9bf openGauss]# source /etc/profile

9.解压安装包

[root@ecs-c9bf openGauss]# cd /opt/software/openGauss

[root@ecs-c9bf openGauss]# tar -zxvf openGauss-1.1.0-openEuler-64bit-all.tar.gz

[root@ecs-c9bf openGauss]# tar -zxvf openGauss-1.1.0-openEuler-64bit-om.tar.gz

用ls命令查看

[root@ecs-c9bf openGauss]# ls

clusterconfig.xml openGauss-Package-bak_392c0438.tar.gz

lib script

openGauss-1.1.0-openEuler-64bit-all.tar.gz simpleInstall

openGauss-1.1.0-openEuler-64bit-om.sha256 upgrade_sql.sha256

openGauss-1.1.0-openEuler-64bit-om.tar.gz upgrade_sql.tar.gz

openGauss-1.1.0-openEuler-64bit.sha256 version.cfg

openGauss-1.1.0-openEuler-64bit.tar.bz2

使用gs_preinstall准备好安装环境,切换到gs_preinstall命令所在目录。

[root@ecs-c9bf openGauss]# cd /opt/software/openGauss/script/

[root@ecs-c9bf script]# python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml

Are you sure you want to create trust for root (yes/no)? yes

Please enter password for root.

Password: --说明:此处输入密码时,屏幕上不会有任何反馈,不用担心,这是LINUX操作系统对密码的保护.

Creating SSH trust for the root permission user.

创建操作系统omm用户,并对omm创建trust,并设置密码

Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes

Please enter password for cluster user.

Password:

Please enter password for cluster user again.

Password:

Successfully created [omm] user on all nodes.

10、执行安装

[root@ecs-c9bf script]# chmod -R 755 /opt/software/openGauss/script

[root@ecs-c9bf script]# su - omm

[omm@ecs-c9bf ~]$ gs_install -X /opt/software/openGauss/clusterconfig.xml --gsinit-parameter="–encoding=UTF8" --dn-guc=“max_process_memory=4GB” --dn-guc=“shared_buffers=256MB” --dn-guc=“bulk_write_ring_size=256MB” --dn-guc=“cstore_buffers=16MB”

数据库使用

[root@ecs-c9bf script]# su - omm

[omm@ecs-c9bf ~]$ gs_om -t start

Starting cluster.

=========================================
Successfully started.
[omm@ecs-c9bf ~]$ gsql -d postgres -p 26000 -r
postgres=# alter role omm identified by ‘Bigdata@123’ replace ‘GaussDB@123’;
postgres=# CREATE USER joe WITH PASSWORD “Bigdata@123”;
postgres=# CREATE DATABASE db_tpcc OWNER joe;
postgres=# \q
[omm@ecs-c9bf ~]$ gsql -d db_tpcc -p 26000 -U joe -W Bigdata@123 -r
db_tpcc=> CREATE SCHEMA joe AUTHORIZATION joe;
db_tpcc=> CREATE TABLE mytable (firstcol int);
CREATE TABLE
db_tpcc=> INSERT INTO mytable values (100);
db_tpcc=> SELECT * from mytable; firstcol ---------- 100 (1 row)

三、实验结果
1.启动服务。
1B09116E7BBB4DEB85E8BC30F9A71F89.png

2.使用新用户连接到db_tpcc数据库。
77662B2147D448EAA5E67D4FFE24D8DE.png

3.查看表中数据。
3C0F246CE2B544D19BEC15701B67B3A5.png

四、分析总结
通过这个实验,我学习了弹性云服务器(openEuler)上安装部署openGauss数据库,并进行简单的数据库相关操作。
这个实验做的过程中必须严格按照实验指导书上的步骤完成。当操作过程中遇到问题时可以认真查找错误,如果检查不出来就要重头开始做或者重新购买服务器。

参考文献:《数据库指导手册》华为技术有限公司

实验二 openGauss金融场景化实验

一、实验内容
1、内容描述:本实验以金融行业为场景,设计数据库模型,并使用华为openGauss构建金融场景下的数据库。通过对数据库中的对象(表、约束、视图、索引等)创建,掌握基础SQL语法,并通过对表中数据的增删改查,模拟金融场景下的业务实现。
2、实验概览:
062A12550AB346879407798FA0F7ED77.png
实验概览图

F6D430E6CDA840CFB100CCC548CEB832.jpeg
金融数据模型ER图

二、实验过程及结果

1.创建完所有表后,截图查询插入结果,例如select count(*) from bank_card;(挑选2个表)

①对client表进行数据初始化。执行insert操作。查询插入结果。
8ECFC9F225514F0B825AA68402959D85.jpeg

②对bank_card表进行数据初始化。执行insert操作。查询插入结果。
3C2BEB41D16A49098F45535C1C3B6DC0.jpeg

2.截图重新命名索引的过程(重命名语句和成反馈的结果)。
BC54E29640264A7887AF40C140F7F989.jpeg

3.使用JDBC连接数据库的执行结果(查询到websites表中的数据)。
6969C8B19F314849AA51E7B4BFB9AD96.png

三、分析总结
这个实验的前两步比较简单,我在做第三步的时候遇到了很多困难。
1.当我做到要使用gs_ctl将策略生效时,输入gs_ctl reload -D /gaussdb/data/db1/,此时服务器告诉我数据库里名为“postmaster.pid”的文件不存在,因此我只好购买了一个弹性公网IP地址为“124.70.111.125”的服务器重新安装后,再开始做实验二,顺利解决了问题。
7900AF029BC1477EA8FB2E24FB866807.png
2.接着往下做,我根据实验报告里提供的连接去下载安装了JDK,但等我安好并且配置完环境变量后,我发现本实验要求的是261版本,和我从官网下载的291版本不符合。因此我又花了一番功夫卸载掉JDK291,删掉注册表,并且修改环境变量,最终才把261版本安装好。

3.终于安好了JDK,当我要在cmd里对Java程序编译时,总是提醒我“错误:编码utf-8的不可映射字符”,我查询到这是因为我的程序里有中文才会这样,于是我将程序修改为“ANSI”编码,但依然提示错误。最后迫不得已,我将程序中的中文替换成英文,并将不必要的中文注释删除,最后编译成功。
93EBB86EF59F412C9A640E26BE152CC1.png
通过这次实验,我掌握了创建数据表、插入表数据、如何手工插入一条数据、添加约束、查询数据、数据的修改和删除、视图的使用、创建和重命名索引、创建新用户和授权、删除schema、用JDBC连接数据库等等这些操作方法。这都是这个实验本身带给我的一些非常实用的操作方法。
同时,在做第三步时,我还额外学到了怎样把java卸载干净;在重新配置和安装服务器时,我体会到了做实验总是会出现很多意外,一定要有耐心;在编译java时,出现了问题也要尽量去解决,总会有办法的。

实验三 openGauss数据库维护管理

一、实验内容
1、实验内容:本实验适用于 openGauss数据库,通过该实验可以顺利完成对数据库各项日常基本维护管理。本实验主要包括操作系统参数检查、openGauss健康状态检查、数据库性能检查、日志检查和清理、时间一致性检查、应用连接数检查、例行维护表等。
2、实验概览:
274FC44D3F604DEAA933F57C8783BA26.png
实验概览图

二、实验过程及结果

1.操作系统参数检查截图,在参数配置文件(/etc/sysctl.conf)中将参数 vm.min_free_kbytes(表示:内核内存分配保留的内存量) 的值调整为3488后,通过执行gs_checkos -i A --detail 查看更详细的信息。

①首先执行gs_checkos 对系统参数进行检查,可以看到A6为warning。
163A29E3665F4F50913A6B2BF35E1915.png

②修改vm.min_free_kbytes(表示:内核内存分配保留的内存量) 的值调整为3488后,通过执行gs_checkos -i A --detail 查看更详细的信息。
162461686DAB45D0A50A586D693C960D.png

③按详细信息中的修改说明对系统参数进行修改。
vm.min_free_kbytes的值由3488调整为152444
net.ipv4.tcp_retries1的值由3调整为5.
net.ipv4.tcp_syn_retries的值由6调整为5.
net.sctp.path_max_retrans的值由5调整为10
net.sctp.max_init_retransmits的值由8调整为10
执行sysctl -p 命令使刚才修改的参数生效后,再次通过执行gs_checkos -i A 查看系统参数检查是否能通过。可以看到此时A6为Normal。
D282D0B702394126A371AC9077F5D289.jpeg

2.设置最大连接数,在omm 用户环境下通过gs_guc工具来增大参数值的过程(语句和反馈结果)。
①语句和反馈结果
F0B67253D71448C08380B8DD7FF84CE4.jpeg

②验证是否为设置后的最大连接数
BB4B64E1BA4E4DEFB3D2347F2B9E1316.jpeg

3.例行表、索引的维护,截图查看特定表的统计信息。(查询pg_stat_all_tables这张表的信息)
B7AB12DA600B4005A4A6216493FCE40C.jpeg

三、分析总结
通过这个实验,我掌握了操作系统参数检查、openGauss健康状态检查、数据库性能检查、日志检查、最大连接数的设置、例行表和索引的维护等等操作方法。
我在这个实验中遇到的问题和收获有:
1.在调整系统参数值时,直接复制了实验指导书中的“vm.min_free_kbytes = 348844”,因此在检查系统参数的调整能否通过时一直显示Abnormal,后来我通过执行“gs_checkos -i A --detail”查看更详细的信息,发现应当将“vm.min_free_kbytes”的值调整为152444,经过修改并且使修改的参数生效后,A6终于显示为Normal。

2.在进行openGauss健康状态检查、数据库性能检查实验时,要注意数据库服务什么时候该启动和关闭。分别使用“gs_om -t stop;”和“gs_om -t start;”来控制数据库的normal和unavailable状态。有的时候会提示你需要restart,此时需要用“gs_om -t restart;”来重启数据库。

3.在设置最大连接数时,我掌握了两种方法来设置。一种是在omm 用户环境下通过gs_guc工具来增大参数值,一种是用alter system set 语句来设置此参数。

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gauss松鼠会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值