达梦8从安装到启动

第一章 安装达梦的准备工作

1. 准备工作1

# 获取系统位数
getconf LONG_BIT
# 查看系统release信息
cat /etc/redhat-release
# 查询系统信息
cat /etc/issue
# 查看glibc
rpm -qa | grep glibc

操作系统要求:

Linux(glibc2.3 以上,内核 2.6, 已安装 KDE/GNOME 桌面环境)

2. 准备工作2—ulimit调优

file-max在centos7中默认有 377861 ,所以可以不用管

https://www.cnblogs.com/sunsky303/p/8359592.html

概述

centos7默认的open files数目为1024,使用过程中可能会导致出现Too many open files的错误。这时候就需要修改ulimitfile-max

区别

ulimit和file-max的区别:

  • file-max
    1. file-max设置的是系统所有进程一共可以打开的文件数量
    2. 如果得到大量使用完文件句柄的错误信息,是应该增加这个值
    3. 这项设置是系统级别的
  • ulimit
    1. 设置当前的shell以及由它自动的进程的资源限制

所以显然,对于一台服务器来说,file-max和ulimit都需要设置,否则可能会出现文件描述符用尽的问题。

修改

  1. 修改file-max

    # 方法1和2在机子重启之后会恢复默认值
    echo 6553560 > /proc/sys/fs/file-max # 方法1
    sysctl -w "fs.file-max=6553560" # 方法2
    
    # 方法3,重启即可永久生效
    vim /etc/sysctl.conf #加入下方的内容
    fs.file-max = 6553560
    
  2. 修改ulimit

    # 方法1,只在当前终端有效,切换终端就变为默认值
    # 当然也可以写到/etc/profile中,因为每一次登录终端都会执行这个文件
    ulimit -HSn 102400 # HS可以不加
    
    # 方法2,重启即可永久生效
    vim /etc/security/limits.conf #加入下方内容
    * soft nofile 65537
    * hard nofile 65537
    

    ulimit语法:https://www.runoob.com/linux/linux-comm-ulimit.html

附录

  1. 为了让一个程序的open files数目扩大,可以在启动脚本前面加上ulimit -HSn 102400命令。但当程序是一个daemon时,可能这种方法无效,因为没有终端。
  2. 如果某项服务已经启动,再动态调整ulimit是无效的,特别是涉及到线上业务就更麻烦了。
    这时,可以考虑通过修改/proc/’程序pid’/limits来实现动态修改!!!

3. 准备工作3—用户

为了减少对操作系统的影响,不推荐使用root用户来安装DMDB。所以在安装之前必须要创建一个专用的系统用户。

  1. 创建用户组

    groupadd dinstall
    
    # 查看创建是否成功
    cat /etc/group 
    cat /etc/group | grep dinstall
    
    # 删除用户组
    groupdel dinstall
    
  2. 创建安装用户

    useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
    #或者
    useradd -g dinstall dmdba
    
    # 查看用户信息
    cat /etc/passwd
    
  3. 初始化用户密码

    passwd dmdba
    
  4. 切换用户

    su dmdba
    

4. 准备工作4—内存与空间

  1. 检查内存

    为了保证 DM 的正确安装和运行,要尽量保证操作系统至少 1GB 的可用内存(RAM)。

    # 获取内存总大小
    grep MemTotal /proc/meminfo
    # 获取交换分区大小
    grep SwapTotal /proc/meminfo
    # 获取内存使用详情
    free
    
  2. 检查空间

    1. DM安装需要1GB的空间,必须要提前规划好

      # 查看目录可用空间
      df -h <path>
      
    2. DM安装时的临时文件也需要1GB的存储空间,默认是/tmp下通过上面的命令可查看空间剩余。

      如果空间不足,可以物理扩展或者更改临时文件存储目录,命令如下:

      # bash
      mkdir -p /usr/tmp_dm8
      DM_INSTALL_TMPDIR=/usr/tmp_dm8
      export DM_INSTALL_TMPDIR
      
      # 配置文件,没有真正操作过,但是按照经验,没问题
      vim /etc/profile #加入以下内容
      export DM_INSTALL_TMPDIR=/usr/tmp_dm8
      
      # 然后source即可临时生效,或者重启永久生效
      

第二章 安装达梦—图形化安装

  1. 在root用户下挂载光盘

    mkdir /mnt/dm8
    mount dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt/dm8/
    
  2. 切换至用户dmdba

    cd /mnt/dm8
    ./DMInstall.bin
    

    可能会出现问题

    [dmdba@yxt-cent7 dm8]$ ./DMInstall.bin 
    解压安装程序..........
    No protocol specified
    初始化图形界面失败,如果当前监视器窗口不支持图形界面,请进入安装文件所在文件夹并使用"./DMInstall.bin -i"进行命令行安装。
    

    解决方法见最后的 /问题解决/1. 图形化界面开不开

  3. 出现安装界面——选择语言与时区

    在这里插入图片描述

    直接点击“确定”进入下一步。

  4. 在这里插入图片描述

  5. 在这里插入图片描述

  6. 在这里插入图片描述

  7. 在这里插入图片描述

  8. 使用root用户给DM规划一个路径

    ## 创建路径
    [root@yxt-cent7 /]# mkdir /dm8
    
    [root@yxt-cent7 /]# ll
    总用量 26
    ## ...
    drwxr-xr-x.   2 root root    6 822 11:04 dm8
    ## ...
    
    ## 修改用户组,使得dmdba有权限操作 /dm8文件夹
    [root@yxt-cent7 /]# chown dmdba:dinstall /dm8
    [root@yxt-cent7 /]# ll
    总用量 26
    ## ...
    drwxr-xr-x.   2 dmdba dinstall    6 822 11:04 dm8
    ## ...
    
  9. 在这里插入图片描述

  10. 在这里插入图片描述

  11. 在这里插入图片描述

  12. 在这里插入图片描述

  13. 在这里插入图片描述

    [root@yxt-cent7 /]# /dm8/script/root/root_installer.sh
    移动 /dm8/bin/dm_svc.conf 到/etc目录
    修改服务器权限
    创建DmAPService服务
    Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
    创建服务(DmAPService)完成
    启动DmAPService服务
    

    然后点击图中的**“确定”**按钮

  14. 在这里插入图片描述

  15. 在这里插入图片描述

第三章 卸载达梦—图形化卸载

  1. 进入dm的安装根目录,执行脚本 uninstall.sh

    cd /dm8
    ./uninstall.sh
    

    然后会弹出图形化界面

    在这里插入图片描述

  2. 在这里插入图片描述

  3. 在这里插入图片描述

    [root@yxt-cent7 dm8]# /dm8/root_uninstaller.sh
    删除DmAPService服务
    Removed symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service.
    删除/etc/dm_svc.conf文件
    

    然后点击图中的**“确定”**按钮

第四章 安装达梦—命令行安装

[dmdba@yxt-cent7 dm8]$ cd /mnt/dm8/
[dmdba@yxt-cent7 dm8]$ ll
总用量 659843
-r-xr-xr-x. 1 root root   3280977 629 14:20 DM8 Install.pdf
-r-xr-xr-x. 1 root root 672397717 629 15:48 DMInstall.bin

[dmdba@yxt-cent7 dm8]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:c
解压安装程序..........
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

# 默认就是中国标准时区,所以可以不用设置
是否设置时区? (Y/y:是 N/n:否) [Y/y]:n

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1088M

# 此处选择之前规划的路径,规划的路径方法在图形化安装中有,第8步
请选择安装目录 [/home/dmdba/dmdbms]:/dm8
可用空间: 40G
是否确认安装路径(/dm8)? (Y/y:是 N/n:否)  [Y/y]:y

安装前小结
安装位置: /dm8
所需空间: 1088M
可用空间: 40G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2020-08-22 11:55:13 
[INFO] 安装达梦数据库...
2020-08-22 11:55:13 
[INFO] 安装 基础 模块...
2020-08-22 11:55:43 
[INFO] 安装 服务器 模块...
2020-08-22 11:55:50 
[INFO] 安装 客户端 模块...
2020-08-22 11:56:03 
[INFO] 安装 驱动 模块...
2020-08-22 11:56:13 
[INFO] 安装 手册 模块...
2020-08-22 11:56:20 
[INFO] 安装 服务 模块...
2020-08-22 11:56:22 
[INFO] 移动ant日志文件。
2020-08-22 11:56:38 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/dm8/script/root/root_installer.sh

安装结束
# 切换root用户执行上面最后要执行的命令
# /dm8/script/root/root_installer.sh

[root@yxt-cent7 dm8]# /dm8/script/root/root_installer.sh
移动 /dm8/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务

第五章 卸载达梦—命令行卸载

[dmdba@yxt-cent7 dm8]$ /dm8/uninstall.sh -i
请确认是否卸载达梦数据库(/dm8/)? (y/Y:是 n/N:否):y

是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y

正在删除所有数据库库服务
删除数据库服务DmJobMonitorService
删除数据库服务DmInstanceMonitorService
删除数据库服务DmAuditMonitorService
删除数据库服务DmAPService
删除所有数据库库服务完成
正在删除数据库目录
删除bin目录
删除bin目录完成
删除bin2目录
删除bin2目录完成
删除include目录
删除include目录完成
删除desktop目录
删除desktop目录完成
删除doc目录
删除doc目录完成
删除drivers目录
删除drivers目录完成
删除jdk目录
删除jdk目录完成
删除jar目录
删除jar目录完成
删除samples目录
删除samples目录完成
删除script目录
删除script目录完成
删除tool目录
删除tool目录完成
删除web目录
删除web目录完成
删除uninstall目录
删除uninstall目录完成
删除license_en.txt文件
删除license_en.txt文件完成
删除license_zh.txt文件
删除license_zh.txt文件完成
删除uninstall.sh文件
删除uninstall.sh文件完成
删除数据库目录完成

使用root用户执行命令:
/dm8/root_uninstaller.sh
# 切换root用户执行上面最后要执行的命令
# /dm8/root_uninstaller.sh

[root@yxt-cent7 dm8]# /dm8/root_uninstaller.sh
删除DmAPService服务
Removed symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service.
删除/etc/dm_svc.conf文件

第六章 达梦安装—静默安装

第七章 创建数据库实例—图形化

  1. 配置达梦环境变量,不配也没事儿,配了就方便点

    [dmdba@yxt-cent7 ~]$ vim ~/.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 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
    export DM_HOME="/dm8"
    
    # 添加这一行,如果上面的两句话没有的话就使用 su - dmdba来切换到dmdba用户即可
    export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
    
  2. 通过命令开启达梦数据库配置助手

    [dmdba@yxt-cent7 ~]$ dbca.sh
    # 因为上面设置了环境变量,所以可以直接输入;否则要到达梦的bin目录下才可以
    
  3. 在这里插入图片描述

  4. 在这里插入图片描述

  5. 在这里插入图片描述

  6. 在这里插入图片描述

  7. 在这里插入图片描述

  8. 在这里插入图片描述

  9. 在这里插入图片描述

  10. 在这里插入图片描述

  11. 在这里插入图片描述

    [root@yxt-cent7 dm8]# mv /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
    [root@yxt-cent7 dm8]# systemctl enable DmServiceDMSERVER.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
    [root@yxt-cent7 dm8]# systemctl start DmServiceDMSERVER.service
    

第八章 创建数据库实例—命令行(包含创建和删除数据库服务)

8.1 创建实例

通过 dminit 即可创建数据库实例

[dmdba@yxt-cent7 ~]$ dminit help
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2021-06-24
格式: ./dminit     KEYWORD=value

例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16

关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE                   日志文件大小(256),单位为:M,范围为:64M ~ 2G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
BUFFER                     系统缓存大小(100),单位M
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(0),可选值:0/1/2
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENC_FLAG              设置日志文件是否加密(N),可选值:Y/N,1/0
USBKEY_PIN                 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE        设置页加密分片大小,可选值:512、4096,单位:Byte
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
DCP_MODE                   是否是DCP代理模式(0)
DCP_PORT_NUM               DCP代理模式下管理端口
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                ECS模式下AP协同工作的监听端口
DFS_FLAG                   初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH                   启用dfs时指定数据文件的缺省路径
DFS_HOST                   指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT                   指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM               指定分布式系统的副本数(3)
DFS_DB_NAME                指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG                 指定分布式系统中该数据库的共享属性(0)
REGION_MODE                指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA            是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE          是否生成HUGE表REDO日志(0) 1:是 0:否
HELP                       打印帮助信息
[dmdba@yxt-cent7 ~]$ dminit path=/dm8/data db_name=DMTEST instance_name=DMTEST port_num=5237
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2021-06-24

 log file path: /dm8/data/DMTEST/DMTEST01.log


 log file path: /dm8/data/DMTEST/DMTEST02.log

write to dir [/dm8/data/DMTEST].
create dm database success. 2020-08-22 16:20:06
[dmdba@yxt-cent7 ~]$ ll /dm8/data/
总用量 4
drwxr-xr-x. 6 dmdba dinstall 4096 822 15:32 DAMENG
drwxr-xr-x. 5 dmdba dinstall  238 822 16:20 DMTEST

8.2 注册数据库服务

完成上面的步骤之后,输入两个命令,发现DMTEST并没有启动和被管理

[dmdba@yxt-cent7 ~]$ dmservice.sh

在这里插入图片描述

[dmdba@yxt-cent7 ~]$ ps -ef | grep dmserver
dmdba     15536      1  1 15:29 ?        00:00:46 /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini -noconsole
dmdba     16404   3211  0 16:28 pts/1    00:00:00 grep --color=auto dmserver

此时就需要先将实例注册为系统服务

8.2.1 图形化

  1. dbca.sh 打开达梦数据库配置助手

  2. 在这里插入图片描述

  3. 在这里插入图片描述

  4. 在这里插入图片描述

    [root@yxt-cent7 dm8]# mv /dm8/bin/DmServiceDMTEST.service /usr/lib/systemd/system/DmServiceDMTEST.service
    [root@yxt-cent7 dm8]# systemctl enable DmServiceDMTEST.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMTEST.service to /usr/lib/systemd/system/DmServiceDMTEST.service.
    [root@yxt-cent7 dm8]# systemctl start DmServiceDMTEST.service
    

此时再查看服务即可发现注册并启动成功

在这里插入图片描述

8.2.2 命令行

一定要root用户执行

[root@yxt-cent7 /]# cd /dm8/script/root/
[root@yxt-cent7 root]# ll
总用量 44
-rwxr-xr-x. 1 dmdba dinstall 27023 822 15:06 dm_service_installer.sh
-rwxr-xr-x. 1 dmdba dinstall  8736 822 15:06 dm_service_uninstaller.sh
-rwxr-xr-x. 1 dmdba dinstall   579 822 15:06 root_installer.sh
[root@yxt-cent7 root]# ./dm_service_installer.sh -h
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]
        [-watch_ini watch_ini_file ] [-wmon_ini wmon_ini_file] [-rww_ini rww_ini_file]
        [-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]
        [-dfs_ini dfs_ini_file] [-dcr_ini dcr_ini_file]
        [-dss_ini dss_ini_file] [-drs_ini drs_ini_file] [-dras_ini dras_ini_file] [-dcs_ini dcs_ini_file] [-server server_info]
        [-m open|mount] [-y dependent_service] [-auto true|false]
  or dm_service_installer.sh [-s service_file_path]
  or dm_service_installer.sh -h

   -t               服务类型,包括dmimon,dmap,dmserver,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr,dmdcs,dmdrs,dmdras,dmdss
   -p               服务名后缀,对于dmimon,dmap服务类型无效
   -dm_ini          dm.ini文件路径
   -watch_ini       dmwatch.ini文件路径.
   -wmon_ini        dmwmon.ini文件路径.
   -rww_ini         dmrww.ini文件路径.
   -watcher_ini     dmwatcher.ini文件路径.
   -monitor_ini     dmmonitor.ini文件路径.
   -dcr_ini         dmdcr.ini文件路径.
   -cssm_ini        dmcssm.ini文件路径.
   -dss_ini         dss.ini文件路径.
   -drs_ini         drs.ini文件路径.
   -dras_ini        dras.ini文件路径.
   -dcs_ini         dcs.ini文件路径.
   -dfs_ini         dfs.ini文件路径.
   -server          服务器信息(IP:PORT)
   -auto            设置服务是否自动启动,值为true或false,默认true.
   -m               设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选
   -y               设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效
   -s               服务脚本路径,设置则忽略除-y外的其他参数选项
   -h               帮助
   
[root@yxt-cent7 root]# ./dm_service_installer.sh -t dmserver -p DMTESTSERVER -dm_ini /dm8/data/DMTEST/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMTESTSERVER.service to /usr/lib/systemd/system/DmServiceDMTESTSERVER.service.
创建服务(DmServiceDMTESTSERVER)完成

此时可以通过DM服务查看器查看到已经创建成功,只是还没有启动

此时再执行

[root@yxt-cent7 dm8]# systemctl start DmServiceDMTEST.service

即可

8.3 删除数据库服务

8.3.1 图形化

  1. root用户使用dmservice.sh打开DM服务查看器

  2. 停止要删除的服务

    在这里插入图片描述

  3. dbca.sh 命令打开达梦数据库配置助手

  4. 在这里插入图片描述

  5. 在这里插入图片描述

  6. 在这里插入图片描述

  7. 在这里插入图片描述

    [root@yxt-cent7 dm8]# systemctl disable DmServiceDMTEST.service
    Removed symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMTEST.service.
    [root@yxt-cent7 dm8]# rm -f /usr/lib/systemd/system/DmServiceDMTEST.service
    

8.3.2 命令行

[root@yxt-cent7 root]# ./dm_service_uninstaller.sh -h
Usage: dm_service_uninstaller.sh [-n service_name]
   -n     服务名,删除指定服务
   -h     帮助
[root@yxt-cent7 root]# ./dm_service_uninstaller.sh -n DmServiceDMTESTSERVER
是否删除服务(DmServiceDMTESTSERVER)?(Y/y:是 N/n:否): y
Removed symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMTESTSERVER.service.
删除服务文件(/usr/lib/systemd/system/DmServiceDMTESTSERVER.service)完成
删除服务(DmServiceDMTESTSERVER)完成

第九章 达梦的启动和关闭

9.1 数据库的启动顺序

在这里插入图片描述

9.2 数据库的三种状态

  • 配置状态(MOUNT)
    • 不允许访问数据库对象和数据,可以访问动态视图;只能进行归档配置、数据库模式修改、数据文件,联机日志文件路径修改等操作
  • 打开状态(OPEN)
    • 不能进行归档配置,数据文件路径修改等操作;可以访问数据库对象,对外提供正常的数据库服务
  • 挂起状态(SUSPEND)
    • 与OPEN状态的唯一区别是:限制磁盘写入功能;一旦修改了数据页,当前用户将被挂起

OPEN与MOUNT和SUSPEND可以互相转换,MOUNT和SUSPEND之间不能互相切换

9.3 数据库服务启动&关闭—前台

适用于数据库实例没有注册系统服务的情况下

启动命令语法:dmserver <要启动的实例的dm.ini的路径>

退出:直接输入 exit 即可

[dmdba@yxt-cent7 ~]$ dmserver /dm8/data/DMTEST/dm.ini
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-88-20.06.24-123627-ENT  startup...
Database mode = 0, oguid = 0
License will expire on 2021-06-24
file lsn: 36295
ndct db load finished
ndct fill fast pool finished
iid page's trxid[4008]
NEXT TRX ID = 4009
pseg_collect_items, collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages
pseg_process_collect_items end, 0 active trx, 0 active pages, 0 committed trx, 0 committed pages
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end
purg2_crash_cmt_trx end, total 0 page purged
set EP[0]'s pseg state to inactive
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end
SYSTEM IS READY.
checkpoint requested, rlog free space, used space is (536760320, 102400)
ckpt_lsn, ckpt_fil, ckpt_off are set as (37555, 0, 7984128)
checkpoint: 0 pages flushed.
checkpoint finished, rlog free space, used space is (536839168, 23552)
# 退出
exit
Server is stopping...
listener closed  and all sessions disconnected
purge undo records in usegs...OK
full check point starting...
generate force checkpoint, rlog free space[536839168], used space[23552]
ckpt_lsn, ckpt_fil, ckpt_off are set as (37555, 0, 8007680)
checkpoint: 0 pages flushed.
checkpoint finished, rlog free space, used space is (536862720, 0)
full check point end.
shutdown audit subsystem...OK
shutdown schedule subsystem...OK
shutdown timer successfully.
pre-shutdown MAL subsystem...OK
shutdown worker threads subsystem...OK
shutdown local parallel threads pool successfully.
shutdown replication subsystem...OK
shutdown sequence cache subsystem...OK
wait for mtsk link worker to exit..OK
shutdown mpp session subsystem...OK
wait for rapply is all over... OK
rapply worker threads exit successfully.
pre ending task & worker threads...OK
shutdown dblink subsystem...OK
shutdown session subsystem...OK
shutdown rollback segments purging subsystem...OK
shutdown rps subsystem...OK
shutdown transaction subsystem...OK
shutdown locking subsystem...OK
shutdown dbms_lock subsystem...OK
ending tsk and worker threads...OK
ckpt2_exec_immediately begin.
ckpt_lsn, ckpt_fil, ckpt_off are set as (37555, 0, 8007680)
checkpoint: 0 pages flushed.
checkpoint finished, rlog free space, used space is (536847360, 15360)
ckpt_lsn, ckpt_fil, ckpt_off are set as (37689, 0, 8023040)
checkpoint: 0 pages flushed.
checkpoint finished, rlog free space, used space is (536862720, 0)
ckpt_lsn, ckpt_fil, ckpt_off are set as (37689, 0, 8023040)
checkpoint: 0 pages flushed.
checkpoint finished, rlog free space, used space is (536862720, 0)
shutdown archive subsystem...OK
shutdown redo log subsystem...OK
shutdown MAL subsystem...OK
shutdown message compress subsystem successfully.
shutdown task subsystem...OK
shutdown trace subsystem...OK
shutdown svr_log subsystem...OK
shutdown plan cache subsystem...OK
shutdown file subsystem...OK
shutdown database dictionary subsystem...OK
shutdown mac cache subsystem...OK
shutdown dynamic login cache subsystem...OK
shutdown ifun/bifun/sfun/afun cache subsystem...OK
shutdown crypt subsystem...OK
shutdown pipe subsystem...OK
shutdown compress component...OK
shutdown slave redo subsystem...OK
shutdown kernel buffer subsystem...OK
shutdown SQL capture subsystem...OK
shutdown control file system...OK
shutdown dtype subsystem...OK
shutdown huge buffer and memory pools...OK
close lsnr socket
DM Database Server shutdown successfully.

启动之后可以通过命令

  1. ps -ef | grep dmserver
  2. lsof -i:[实例端口号]

查看是否启动成功

或者直接使用连接工具连接测试

9.4 数据库服务启动&关闭—DmServiceXXX脚本

适用于注册了系统服务,但是没有权限通过服务查看器打开或者关闭

即,非root用户登录的情况下

语法:DmServiceXXX start|stop|status|restart

[dmdba@yxt-cent7 /]$ cd /dm8/bin
[dmdba@yxt-cent7 bin]$ ll Dm*
-rwxr-xr-x. 1 dmdba dinstall 13993 822 15:06 DmAPService
-rwxr-xr-x. 1 dmdba dinstall 14454 822 15:06 DmAuditMonitorService
-rwxr-xr-x. 1 dmdba dinstall 13630 822 15:06 DmInstanceMonitorService
-rwxr-xr-x. 1 dmdba dinstall 14101 822 15:06 DmJobMonitorService
-rwxr-xr-x. 1 dmdba dinstall 15918 822 15:27 DmServiceDMSERVER
-rwxr-xr-x. 1 dmdba dinstall 15922 822 17:18 DmServiceDMTESTSERVER
[dmdba@yxt-cent7 bin]$ DmServiceDMSERVER status
DmServiceDMSERVER (pid 6345) is running.
[dmdba@yxt-cent7 bin]$ DmServiceDMSERVER stop
Stopping DmServiceDMSERVER:                                [ OK ]
[dmdba@yxt-cent7 bin]$ lsof -i:5236
[dmdba@yxt-cent7 bin]$ DmServiceDMSERVER start
Starting DmServiceDMSERVER:                                [ OK ]
[dmdba@yxt-cent7 bin]$ lsof -i:5236
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dmserver 6607 dmdba    4u  IPv6  79278      0t0  TCP *:padl2sim (LISTEN)

注意:通过这种方法启动的数据库服务无法通过DM的服务查看器查看到,因为这并没有以系统服务的方式启动

9.5 root用户启动&关闭数据库服务

  1. 通过图形化界面dmservice.sh
  2. 通过Linux命令 systemctl start DmServerXXX

9.6 数据库状态的切换

SQL> alter database mount;
操作已执行
已用时间: 00:00:01.768. 执行号:0.

SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          MOUNT

已用时间: 2.533(毫秒). 执行号:7.

SQL> alter database open;
操作已执行
已用时间: 00:00:01.767. 执行号:0.

SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          OPEN

已用时间: 2.369(毫秒). 执行号:8.

SQL> alter database suspend;
操作已执行
已用时间: 107.035(毫秒). 执行号:0.
SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          SUSPEND

已用时间: 1.421(毫秒). 执行号:9.

附录1 问题解决

1. 图形化界面开不开

报错:No protocol specified 初始化图形界面失败,如果当前监视器窗口不支持图形界面

解决方法:

# root用户下:
xhost + # 同意将别的用户的图形程序显示到当前屏幕上
echo $DISPLAY # 查看DISPLAY的值

# dmdba用户下:
export DISPLAY=:0 # :0是上面的DISPLAY的值

# 之后就可以显示图形化界面了,可以通过xclock检验

或者还可以在登录的时候就通过dmdba用户登录,也可以显示

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值