DCA培训心得笔记(一)

引文

这个月十分荣幸参加了为期三天的第27期DCA培训,不仅对国产数据库的发展与未来进行探讨,也对达梦公司的发展历程以及DM8和衍生工具进行了学习与使用。本次培训的操作系统也选择的是国内的银河麒麟V10虚拟机,数据库选择的是DM8企业版,以下是这次培训的一些笔记,记录了自己在培训课程和实操过程中遇到的一些要点:

国内外数据库现状及未来

关系型数据库

国外:

Oracle:具有规模4000人的研发团队。

Mysql:有社区版免费版本、PostgreSQL: 华为的高斯基于PostgreSQL研发。(这二者都是开源的代表,也是国内很多数据库厂商二次开发的基础)

Mysql更适合实验环境以及小规模的数据存储,当数据量越大时,相较于Mysql,Oracle越能在性能上体现出优势。

Informix、Sybase、DB2
国内:

武汉达梦(自主原创)

人大金仓、南大通用、神州通用

华为高斯、阿里 PolarDB、蚂蚁金服 Oceanbase

腾讯 TDSQL

其他数据库

关系型数据库作为传统的数据库,在很多场景下使用的效率并不高,在这种场景下逐渐衍生出更多不同类型的数据库。
文档数据库:Mongodb

缓存数据库:Redis

内存数据库:Memcached 、Timesten oracle

时序数据库

图数据库(主要用于社交关系网络,存储的线和点):蜀天梦图数据库

分布式集合数据库:Hadoop 、HBASE

发展与机遇

OLTP的全称是On-line Transaction Processing,中文名称是联机事务处理。其特点是会有高并发且数据量级不大的查询,是主要用于管理事务(transaction-oriented)的系统。
OLAP的全称是 On-line Analytical Processing,中文名称是联机分析处理。其特点是查询频率较OLTP系统更低,但通常会涉及到非常复杂的聚合计算。
现如今传统行业逐渐步入大数据和云计算的时代,诞生出OLTP和OLAP混合负载的需求。传统的事务、分析以及互联网应用都基于传统的关系型数据库不足以支持,多架构的数据库融合成为新的发展路线:数据存储与管理采用关系型数据库,数据分析与集成采用NewSQL,数据展现与移动化采用NoSQL的多元架构是数据库行业对应大数据的基本思路。
数据库行业的突破口:基于云计算的云数据库、细分数据产品线、提高数据库安全水平…

DM8产品使用

DM8技术特性

国际标准符合:SQL92、ODBC3、JDBC3、OLEDB
支持主流的中间件和开发工具:Weblogic、tomcat、Eclipse…
支持主流的软硬件平台:Windows、Linux、AIX、X86-32/64、安腾、龙芯…
增强Oracle兼容性
提供最多8个节点的共享存储集群
提供分布式文件接口库DDFSLIBS以增强可用性
查询优化器增强:支持多维统计信息

DM8版本差异

开发版、标准版、企业版、安全版
开发版有使用时间的限制 1年
标准版不支持集群
安全版在企业版上增加了安全机制

DM官网描述:

DM8各个版本的差异体现在产品的功能组件上,从产品技术的角度讲,差异如下:
​ 标准版有限制,不支持扩展组件(各种集群、DMHS同步),不支持DBLINK、HUGE表、分区表、并行查询,不支持小型机,不支持多于2CPU的平台,单表不超过1亿条,总空间不超过500G,并发不超过25。
企业版和安全版则都是支持高级特性,但安全版较企业版增加了高级安全功能,利于多权分立、通讯加密等操作,故有明确等保、分保要求时,必须选用安全版。

DM8安装要求

安装包选择:
如果是国产 CPU,比如鲲鹏、飞腾等 ARM 架构的需要下载官网对应 ARM 架构的安装包,龙芯 CPU 下载龙芯版本的安装包,海光、兆芯的是 x86 架构,直接使用 x86 版本即可。

操作系统要求:
Linux上:glibc 2.3 以上,内核 2.6 以上

内存要求:
CentOS至少1G,中标麒麟要求2G,银河麒麟的话内存要求3G

磁盘要求:
虚拟机大致分配 25G 空间,临时空间tmp大小大于1.5G空间
请添加图片描述

如果 tmp 目录不足,安装会失败,可以指定 DM_INSTALL_TMP 参数指定到其他目录下,参考《DM8安装手册》
解决tmp不足方法:
解决方法1:拓展tmp

vim /etc/fstab
#添加
tmpfs  /tmp  tmpfs  nodev,nosuid,size=2G  0  0
#重启
reboot

解决方法2:拓展tmp

mount -o remount,size=3G /tmp

解决方法三:修改DM_INSTALL_TMP 参数

#以 BASH 为例:
mkdir -p /mount_point/dir_name
DM_INSTALL_TMPDIR=/mount_point/dir_name
export DM_INSTALL_TMPDIR

网络要求:
非生产环境关闭防火墙以及selinux、生产环境开放相应数据库端口以及关闭selinux。
注:开放端口添加–permanent可以永久生效、同时需要载入生效

#添加开放端口 permanent为永久生效参数
firewall-cmd --add-port=5236/tcp --permanent
# !!!载入
firewall-cmd --reload
success
#再次查看
firewall-cmd --list-ports
5236/tcp

设置图形化

由于操作DM数据库往往不是使用root用户,而创建dmdba等数据库操作用户可能会因为没有设置图形化导致无法图形化操作数据库。
第一次开机登录,需要设置图形化

xhost +
access control disabled,clients can connect from any host
echo $DISPLAY
:0.0 #这个值可能因为实际情况而不同
#切换dmdba用户
su - dmdba
echo $DISPLAY
# 手动赋值DISPLAY仅对当前会话生效,退出后失效
export DISPLAY=:0.0

同时图形化界面打不开也可能是权限不足,其原因在于使用rot打开过图形化工具,解决方法为:

chown -R dmdba:dinstall /dm8/tool

安装报错:/usr/share/themes/kylin-black-theme/gtk-2.0/gtkrc:817: 找不到包含文件:“apps/caja.rc”

实际使用过程中该错似乎没有影响,但可以通过修改gtkrc文件注释include “apps/caja.rc” 解决报错。

#打开安装文件路径
cd /mnt/dm
ll
-r-xr-xr-x 1 root root   2802237  525 15:31 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 951385360  525 15:37  DMInstall.bin
#执行安装
./DMInstall.bin
#报错
/usr/share/themes/kylin-black-theme/gtk-2.0/gtkrc:817: 找不到包含文件:“apps/caja.rc”

tail /usr/share/themes/kylin-blue-theme/gtk-2.0/gtkrc
### EXTERNAL FILES ###
#include "apps/chromium.rc"	# Chromium styling
#include "apps/thunar.rc"	# PCManFM styling
#include "apps/caja.rc"		# Caja styling
#include "apps/pluma.rc"		# Pluma styling
include "apps/kylinmenu.rc"     # Kylin startup-menu styling
include "apps/mate-terminal.rc"
include "apps/kylincc.rc"     # Kylin control center styling

生产环境下修改最大文件打开数

最大文件打开数默认为1024,在生产环境中当业务并发量较大时,数据库无法创建新的连接。所以现网 open files 参数可以设置较大。

#查看最大打开文件数
ulimit -a
...
open files                      (-n) 1024
...
#修改文件打开数,添加四行
vim /etc/security/limits.conf
dmdba soft nofile 102400
dmdba hard nofile 204800
root soft nofile 102400
root hard nofile 204800

采用命令行操作为disql和dmrman添加上下翻滚

安装rlwrap:

1.将安装包放在/opt下

在root用户下:

2.yum两个依赖

yum -y install readline*
yum -y install libtermcap-devel

3.解压安装

tar -zxvf rlwrap-0.37.tar.gz
#rlwrap-0.37目录下
./configure
make
make install

修改配置

#查看
vim .bash_profile
#修改为

# Source /root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME="/dm8"

export DISPLAY=:0

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
alias disql="rlwrap disql"
alias dmrma="rlwrap dmrman"
#=两侧不能有空格,不然报错·:

#生效
. .bash_profile

dminit 命令行方式创建数据库

相较于图形化安装,dminit的安装需要更仔细,因为dminit 创建数据库,默认没有注册数据库服务;也正因于此,没有注册服务时可以进入data目录直接rm -rf 删除文件的方式删除数据库。

#打开路径
cd /dm8/bin
./dminit help
#创建
./dminit path=/dm8/data PAGE_SIZE=16 SYSDBA_PWD=dameng123 DB_NAME=DMOA INSTANCE_NAME=DMOASERVER port_num=5238
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-05-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /dm8/data/DMOA/DMOA01.log


 log file path: /dm8/data/DMOA/DMOA02.log

write to dir [/dm8/data/DMOA].
create dm database success. 2022-08-26 02:08:52

数据文件的迁移和归档文件的启动关闭需要先转换数据库状态

#数据文件迁移
alter tablespace tbs offline;    #先脱机
alter tablespace tbs RENAME DATAFILE 'TBS01.DBF' to '/dm8/data/DAMENG/TBS/TBS01.DBF';
alter tablespace tbs RENAME DATAFILE 'TBS02.DBF' to '/dm8/data/DAMENG/TBS/TBS02.DBF';
alter tablespace tbs online;     #再联机

#开启归档
alter database mount;
alter database ARCHIVELOG;
alter database add ARCHIVELOG 'type=local, dest=/dm8/arch, file_size=64,space_limit=10240';
alter database open;
#关闭归档:
alter database mount;
alter database NOARCHIVELOG;
alter database delete ARCHIVELOG 'type=local, dest=/dm8/arch, file_size=64,space_limit=10240';
alter database open;

create any table权限默认不能转授

在这里插入图片描述

ENABLE_DDL_ANY_PRIV控制create any table能否转授。

#错误
grant create any table to user;
#正确
grant resource to user;

DBA:系统管理员角色,拥有除审核、安全外的所有权限
RESOURCE:具有在当前用户模式下定义对象的权限,例如create table等
PUBLIC:具有在当前用户模式下数据操作的权限,例如insert table等
SOI:系统表(SYS为前缀)的访问权限
SVI:系统视图(VSYS为前缀)的视图权限
VTI:动态视图的访问权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值