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

Opengauss实践总结学习心得

原创 poohanyuzuru 2021-07-04
1601

Opengauss实践总结

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

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

2、实验概览:

实验概览图

二、实验过程
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]

#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: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.启动服务。

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

3.查看表中数据。

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

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

实验二 openGauss金融场景化实验

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

实验概览图

金融数据模型ER图
二、实验过程及结果

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

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

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

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

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

三、分析总结
这个实验的前两步比较简单,我在做第三步的时候遇到了很多困难。
1.当我做到要使用gs_ctl将策略生效时,输入gs_ctl reload -D /gaussdb/data/db1/,此时服务器告诉我数据库里名为“postmaster.pid”的文件不存在,因此我只好购买了一个弹性公网IP地址为“124.70.111.125”的服务器重新安装后,再开始做实验二,顺利解决了问题。

2.接着往下做,我根据实验报告里提供的连接去下载安装了JDK,但等我安好并且配置完环境变量后,我发现本实验要求的是261版本,和我从官网下载的291版本不符合。因此我又花了一番功夫卸载掉JDK291,删掉注册表,并且修改环境变量,最终才把261版本安装好。

3.终于安好了JDK,当我要在cmd里对Java程序编译时,总是提醒我“错误:编码utf-8的不可映射字符”,我查询到这是因为我的程序里有中文才会这样,于是我将程序修改为“ANSI”编码,但依然提示错误。最后迫不得已,我将程序中的中文替换成英文,并将不必要的中文注释删除,最后编译成功。

通过这次实验,我掌握了创建数据表、插入表数据、如何手工插入一条数据、添加约束、查询数据、数据的修改和删除、视图的使用、创建和重命名索引、创建新用户和授权、删除schema、用JDBC连接数据库等等这些操作方法。这都是这个实验本身带给我的一些非常实用的操作方法。
同时,在做第三步时,我还额外学到了怎样把java卸载干净;在重新配置和安装服务器时,我体会到了做实验总是会出现很多意外,一定要有耐心;在编译java时,出现了问题也要尽量去解决,总会有办法的。

实验三 openGauss数据库维护管理

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

实验概览图

二、实验过程及结果

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

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

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

③按详细信息中的修改说明对系统参数进行修改。
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。

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

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

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

三、分析总结
通过这个实验,我掌握了操作系统参数检查、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 语句来设置此参数。

实验四 GaussDB(for MySQL)
多用户访问同一数据库实例

一、实验内容
1、实验内容:本实验主要内容为二个用户访问同一数据库GaussDB(for MySQL)实例。具体规划如下:

2、实验概览:

实验概览图

二、实验过程及结果

1.GaussDB(for MySQL)数据库实例购买成功对数据库实例列表截图。

(创建中)

(创建完成)

4.执行INITUSER存储过程后,对自动创建出的用户列表进行截图。

5.GaussDB(for MySQL)数据库实例删除成功截图。

三、分析总结
通过这个实验,我学会了购买数据库,通过DAS服务登录数据库并进行管理,开通华为云IAM用户。
通过DAS服务登录数据库并进行管理的具体操作是,用root用户登录指定数据库,创建trans数据库,在trans库下通过存储脚本来批量创建其他数据库以及数据库用户。
开通华为云IAM用户的具体操作有:用户组创建以及权限设置,用户创建,将用户加入用户组。
本实验较为简单,操作过程中未遇到问题,需要注意做完实验后记得删除数据库。

实验五 GaussDB(for MySQL)数据库开发
一、实验内容
1、实验内容:本实验通过用户管理、表管理、数据库对象等管理的操作,介绍在DAS环境下如何使用GaussDB(for MySQL)。
2、实验概览:

实验概览图

二、实验过程及结果

1.选择“对象列表”,查看创建完的表t_student 截图

2.查询分区P_15 截图,语句如下: SELECT * FROM staffs_p PARTITION(P_15);

3.调用insert_data存储过程后,查询表内容截图,语句如下:SELECT * FROM t_test;

三、分析总结

通过这个实验,我学会了创建用户并授予权限,新建数据库,使用DAS创建用户并授予权限,使用SQL语句创建用户并授予权限,创建和管理表,创建和管理其他数据库对象,创建和管理分区表,创建和管理索引,创建和管理视图,创建和管理存储过程等操作。
本实验较为简单,操作过程中未遇到问题,需要注意做完实验后记得删除数据库。

实验六 GaussDB(for MySQL)
场景化综合应用实验

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

实验概览图

二、实验过程及结果

1.创建完所有表后,对查询property表结果截图,语句如下:select count(*) from property;

2.创建完 v_client视图后,对视图进行查询结果截图,语句如下:SELECT * FROM v_client;

3.在demo库下创建测试表websites。

创建表websites;

插入表数据;

三、分析总结
通过这个实验,我复习了初始化数据库,表的创建,表数据的插入,手工插入一条数据,添加约束,查询数据,创建和管理索引,创建和管理视图,数据的修改和删除等操作。并学习了新用户的创建和授权,新用户连接数据库等操作。
本实验较为简单,操作过程中未遇到问题,需要注意做完实验后记得删除数据库。

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

评论