达梦数据库状态说明

DM 数据库包含以下几种状态:

  1. 配置状态(MOUNT):不允许访问数据库对象,只能进行控制文件维护、归档配置、数据库模式修改等操作;
  2. 打开状态(OPEN):不能进行控制文件维护、归档配置等操作,可以访问数据库对象,对外提供正常的数据库服务;
  3. 挂起状态(SUSPEND):与 OPEN 状态的唯一区别就是,限制磁盘写入功能;一旦修改了数据页,触发 REDO 日志、数据页刷盘,当前用户将被挂起。
    OPEN 状态与 MOUNT 和 SUSPEND 能相互转换,但是 MOUNT 和 SUSPEND 之间不能相互转换。

select name,status$ from v$database;

status$的值及说明如下:

值为1:表示数据库正在启动

值为2:表示启动redo完成

值为3:表示启动到mount状态

值为4:表示为open状态

值为5:表示数据库为挂起状态

值为6:表示数据库为关闭状态

提示:可以直接查询v$instance视图,更直接地查看数据库的当前状态:

select instance_name,status$ from v$instance;

DM8 达梦数据库查看数据库版本号方法:

在DM7 中,查询数据库版本号的方法和Oracle 一样,通过v$version 视图可以查询。

[dmdba@dmdb ~]$ disql SYSDBA/SYSDBA@dmdb:5236

Server[dmdb:5236]:mode is normal, state is open

login used time: 9.988(ms)

disql V7.6.0.145-Build(2019.03.20-104220)ENT

SQL> select * from v$version;

LINEID     BANNER                                                         

---------- ---------------------------------------------------------------

1          DM Database Server x64 V7.6.0.145-Build(2019.03.20-104220)ENT 

2          DB Version: 0x7000a

used time: 7.566(ms). Execute id is 2107.

SQL>

在达梦8中,查看版本号的方法发生了变化,v$version 视图不能显示具体的版本号信息:

[root@dmdb ~]# su - dmdba

[dmdba@dmdb ~]$ disql SYSDBA/SYSDBA

服务器[LOCALHOST:5236]:处于普通打开状态

登录使用时间: 7.252(毫秒)

disql V8

SQL> select * from v$version;

行号     BANNER

---------- -------------------------

1          DM Database Server 64 V8

2          DB Version: 0x7000a

已用时间: 12.030(毫秒). 执行号:6222.

达梦DM8中,查看具体的版本号(准确说是发布日期)使用的是select id_code;命令,具体如下

SQL> select id_code;

行号     ID_CODE

---------- ---------------------------

1          1-1-48-19.11.29-116408-ENT

已用时间: 6.656(毫秒). 执行号:6223.

SQL>

其实通过对比,DM8里要想查清楚版本号,即达梦的大版本和发布日期需要结合 v$version 和select id_code;命令。

    1. DM DB的启动过程

DM的启动主要按如下三个步骤进行:

1.读取配置文件(.ini)

2.读取控制文件(dm.ctl)

3.读取重做日志文件(.log)和数据文件(*.DBF)

    1. DM DB的模式

DM 数据库包含以下几种模式:

  1. 普通模式(NORMAL):用户可以正常访问数据库,操作没有限制;
  2. 主库模式(PRIMARY):用户可以正常访问数据库,所有对数据库对象的修改强制生成 REDO 日志,在归档有效时,发送 REDO 日志到备库;
  3. 备库模式(STANDBY):接收主库发送过来的 REDO 日志并重做。数据对用户只读。

三种模式只能在 MOUNT 状态下设置,模式之间可以相互转换。
对于新初始化的库,首次启动不允许使用 mount 方式,需要先正常启动并正常退出,然后才允许 mount 方式启动。
一般情况下,数据库为 NORMAL 模式,如果不指定 MOUNT 状态启动,则自动启动到 OPEN 状态。
在需要对数据库配置时(如配置数据守护、数据复制),服务器需要指定 MOUNT 状态启动。当数据库模式为非 NORMAL 模式(PRIMARY、STANDBY 模式),无论是否指定启动状态,服务器启动时自动启动到 MOUNT 状态。

    1. DM DB的三种启动和关闭方式
      1. DM服务查看器

Windows可以通过菜单目录查看。 Linux 平台需要运行/dm/dmdbms/tool/dmservice.sh 启动。 如下图:

      1. 系统服务

在实例安装结束之后会创建,在操作系统直接对实例服务进行操作。Windows 则是直接在服务窗口进行。

启动:systemctl start DmServicedmdb.service
关闭:systemctl stop DmServicedmdb.service

这里的测试平台是Linux7,Linux 6和7的在服务这块有一点区别:

在Linux 6中,服务是放在/etc/rc.d/init.d目录下,会有一个”DmService+实例名”的文件服务文件,启动和关闭是执行service“DmServer+实例名”stop|start。

在Linux 7中,服务文件存放在/usr/lib/systemd/system目录下,名称改成:DmServicedmdb.service。

如:

DmServicedmdb start

DmServicedmdb stop

      1. 命令行模式

命令行模式使用dmserver命令来启动和关闭实例。该命令在DM_HOME/bin目录下。

命令行方式启动参数如下:

dmserver [ini_file_path] [-noconsole] [mount]
说明:
1. Dmserver 命令行启动参数可指定 dm.ini 文件的路径,非控制台方式启动及指定数据库是否以 MOUNT 状态启动。
2. Dmserver 启动时可不指定任何参数,默认使用当前目录下的 dm.ini 文件,如果当前目录不存在 dm.ini 文件,则无法启动;
3. Dmserver 启动时可以指定-noconsole 参数。如果以此方式启动,则无法通过在控制台中输入服务器命令。 
 
 
当不确定启动参数的使用方法时,可以使用 help 参数,将打印出格式、参数说明和使用示例。使用方法如下: 
dmserver help 
当以控制台方式启动 Dmserver 时,用户可以在控制台输入一些命令,服务器将在控制台打印出相关信息或执行相关操作。
[dmdba@dmdb ~]$ dmserver help 
format: ./dmserver [ini_file_path] [-noconsole] [mount] [path=ini_file_path] [dcr_ini=dcr_path]
example: 
./dmserver path=/opt/dmdbms/bin/dm.ini
./dmserver /opt/dmdbms/bin/dm.ini
Keyword             Explanation
--------------------------------------------------------------------------------
path                the absolute path of dm.ini or the current directory
dcr_ini             the absolute path of dmdcr.ini or the current directory
-noconsole          start in service mode
mount               start in mount status
help                print help information

    1. 切换实例状态

SQL> select status$ from v$database;

Server[LOCALHOST:5236]:mode is normal, state is open

connected

LINEID     STATUS$   

---------- -----------

1          4

used time: 7.105(ms). Execute id is 3.

SQL> alter database mount;

executed successfully

used time: 00:00:01.878. Execute id is 0.

SQL> select status$ from v$database;

LINEID     STATUS$   

---------- -----------

1          3

used time: 2.155(ms). Execute id is 4.

SQL>

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值