DCA 学习笔记

本文档详细介绍了达梦数据库的安装过程,包括软硬件信息收集、安装环境规划、数据库创建与管理、表空间规划及维护、用户管理和权限规划、SQL语言基础,以及备份与还原策略。内容涵盖从数据库安装到日常运维的各个环节,旨在帮助读者全面掌握达梦数据库的使用。
摘要由CSDN通过智能技术生成

文章目录

0 行业状况

关系型数据库

国外数据库
  • Oracle:最新版本19C,私有软件,占有54.6% 市场份额
  • MySQL:最新版本8.0,开源软件,使用最多的是版本5.6、5.7占有30%左右份额。互联网行业很多使用MySQL,阿里云核心代码使用MySQL;腾讯云TDSQL
  • PostgreSQL:最新版本为11,学术氛围比较强。
  • MS SQL Server:最新版本2017,私有软件,政府部门多使用2008。
国内数据库
  • 金仓:基于PostgreSQL
  • 达梦:自主代码
  • 南大:MySQL sec edition, PostgreSQL, Infomix
  • 阿里:oceabase支付宝、蚂蚁金服,polar db,xdb天猫等
  • 神通

非关系型数据库

  • Hbase:分布式列存储数据库,来源于Hadoop,HDFS、MapReduce、big table。适合做分析运算。不能完全解决大字段问题。
  • MangoDB :文档性数据库。定位于工业物联网.
  • redis:key-value 内存数据库,缓存加速。
  • HANA:内存数据库,spa,农夫山泉、苏宁应用。
  • 巨杉:上海,文档型,分布式,参考MangoDB写的。
  • 易鲸捷:分布式,贵州银行。
  • TiDB:PingCAP,100%兼容MySQL。定位于证券、银行,但不能完全保证需求。
  • 高思:华为,PostgreSQL MPP

一款数据库不能完全满足所有需求。

1 安装

1.1 收集软硬件信息

1.1.1 硬件
  • CPU

    Linux下使用 cat /proc/cpuinfo 查看CPU架构,区分x86、ARM、Power、MIPS等。国产芯片有龙芯、飞腾(arm)、申威、海光、鲲鹏(arm),与国外产品差距主要在制造工艺方面。

  • 内存

    主要关注剩余内存、内存使用率、交换空间等。

    cat /proc/vm/overcommit_ratio
    cat /proc/vm/overcommit_memery
    # Out of Memery(出现此问题要看内核日志,/var/log,w wtmp)
    sysctl -p
    kernel.msgmnb
    kernel.msgmax
    kernel.shmmax
    kernel.shmall
    
  • 存储
    使用 fdisk -l、parted、df等命令查看硬盘分区情况。可分为以下类型:

    • lvm (physical volume – pv,virtual group – vg,logical volume – lv)
    • raid(0, 1, 5, 6等级别,华为推荐使用raid 6,教员推荐使用raid 10)
  • 网络

/etc/udev/rules.d/70-net.rules

# 探测mac-ip
arping

# 查看防火墙状态
iptables -L

# SeLinux
getenforce
1.1.2 软件信息

发行版信息可以用 cat /etc/issue、uname -r等命令查看。

同时要求glibc > 2.6, 可以使用rpm -qa|grep glibc查看。

1.2 准备安装软件

可以从达梦官网下载开发版,此版本并发数有限制;销售版本与销售代表联系。

1.3 规划安装环境

1.3.1 数据库软件

一般与OS在同一存储。

1.3.2 数据文件

一般使用单独存储。

# 本例中创建 /dm,用来存储数据程序和数据文件
[root@dca dmdba]# mkdir /dm
1.3.3 规划OS用户。

一般情况不要使用管理员权限。

# 示例,创建 dinstall 组
$ groupadd dinstall
# 显示组
$ cat /etc/group
# 创建用户 dmdba,之后主要使用此用户进行安装、维护
$ useradd -g dinstall dmdba
# 查看现有用户
$ cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
# 查看用户ID和组信息
$ id dmdba
1.3.5 文件系统权限分配
# 给用户dmdba 读取/dm7的权限
chown dmdba.dinstall -R /dm7
1.3.6 配置环境变量
vi /home/dba/.bash_profile
export DM_HOME=
export PATH=$DM_HOME/bin:.......

# 使环境变量生效
. .bash_profile
# or
source .hash_profile
1.3.7 改善性能(Linux only)
# 查看当前系统限制
ulimit -a

# 临时修改文件打开数限制。ulimit 作为对资源使用限制的一种工作,其作用范围是当前 shell 进程以及其派生的子进程。
ulimit -n 65536

# 永久修改
# 修改 /etc/security/limits,添加以下内容
soft nofile 65536
hard nofile 65536

1.4 安装软件

  • GUI

  • CLI
# 挂载达梦7安装镜像
mount -o loop dm7_setup_rh6_ent.iso /mnt/dm/

# 配置环境变量
vim /home/dmdba/.bash_profile
export DM_HOME=/dm7
export PATH=$DM_HOME/bin:$PATH:$HOME/bin

# 使环境变量生效
source .bash_profile
# 或者
. .bash_profile

# 运行DMInstall.bin
./DMInstall.bin
  • 回退方案

    • Windows:利用自带的卸载程序卸载后,再删除达梦相关的服务
    • Linux:删除安装目录、系统服务和环境变量

2 创建数据库

  • GUI
    数据库配置助手 dbca.sh

  • CLI

    达梦数据库是通过端口来区分每个数据库实例的。

    sudo /dm7/bin/dminit path=/dm7/data port_name=5239 db_name=TEST instance_name=DM
    # path=数据文件存放位置
    # port_num端口号
    # db_name=数据库名
    # instance_name=实例名
    
    # 注册数据库到OS
    sudo /dm7/script/root/dm_service_installer.sh -t dmserver -i /dm7/data/TEST/dm.ini -p DM
    
    -- 查看版本信息
    select * from v$version;
    -- 查看授权信息
    select * from v$license;
    -- 视图
    desc v$license;
    

3 管理实例

数据库的打开和关闭。

3.1 查看状态

select name,status$ from v$database;
-- 4 - open, 3 - mount, 1 - start, 6 - shutdown
select status$ from v$instance;

3.2 状态转换

  • shut --> mount
cd /dm7/bin
./dmserver /dm7data/DAMeng/dm.ini mount
  • mount --> open
alter database open;
  • open --> mount
alter database mount;

集群中还有两个状态,primary,standby

非集群normal,

3.3 状态切换

3.3.1 shut --> mount
-- 分配共享内存,启动后台进程或线程
-- 根据 DM.ini配置,打开控制文件
3.3.2 mount --> open
-- 根据控制文件,打开所有的数据文件和重做日志文件

3.4 打开方式

  • 前台启动(dmserver)

    用作调试,生产环境下不推荐。

cd /home/dmdba/dmdbms/bin
./dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini
  • 后台启动

    • 利用达梦服务查看器

    • 利用注册到OS的脚本

      # 查看服务名
      chkconfig --list |grep DmServiceInstanceName
      # DmServiceInstanceName 命名规范:DmService + 实例名
      
      # rhel6:
      /etc/rc.d/init.d/
      # rhel7:
      $DM_HOME/bin/DmService... start
      /lib/systemd/system/
      

不能使用kill,killall结束进程。

4 体系结构

DM服务器构成: C/S

4.1 服务器

数据库正确工作需要的文件

4.1.1 数据文件

用以存放真实数据

-- 查询数据文件存放位置
SQL> select path from v$datafile;
4.1.2 重做日志文件

记录改变的数据信息。特点是循环写、重复写。

-- 查询日志文件存放位置
SQL> select path from v$rlogfile;

-- 查询日志文件大小
SQL> select path,rlog_size from v$rlogfile;

-- 改变log文件大小,默认单位为M。日志文件大小要一致,否则会有性能问题
SQL> alter database resize logfile 'file_path' to 500;

-- 增加日志文件,大小为500M。一般生产环境需要3-5个日志文件。
SQL> alter database add logfile 'file_path' size 500;

-- 查询log相关的视图或者字典
SQL> select name from sysobject where name like '%LOG%';
4.1.4 控制文件

存储架构信息、数据库版本、创建时间等,无法重建

select para_name,para_value from v$dm_ini where para_name ='CTL_PATH'
select para_name,para_value from v$dm_ini where para_name  like 'CTL_%'
4.1.5 配置文件

dm.ini,存储配置参数信息。在disql中使用sp_set_para_value设置。

SQL> v$dm_ini
SQL> v$parameter

-- 查询判断参数类型
SQL> select para_name,para_value,para_type from v$dm_ini where para_name='CTL_BAK_NUM';
-- sys,session 动态参数,可同时修改ini文件和内存
-- IN FILE 静态参数,只能改参数文件,重启数据库生效
-- READ ONLY 数据库运行不能修改。

-- 设置参数
SQL> sp_set_para_value(RANGE,'para_NAME',PARA_NUM)
SQL> sp_set_para_value(1,'CTL_BAK_NUM',5)
/*
RANGE,范围。1:内存和配置文件,2&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值