达梦数据库模式及状态转化介绍

一、数据库状态

达梦数据库实例存在三种主要状态

1、配置状态(mount)

在该状态下不允许访问数据库对象,只能进行控制文件的维护、归档配置和修改数据库模式等状态。

我们打开DM管理工具,右键实例,选择管理服务器,可以看到,当我们将数据库的状态切换为配置之后,可以进行模式的切换,而左侧的实例管理不再可以访问数据库对象,也不可对表空间进行修改等操作。平常我们在搭建达梦数据库的集群时,修改OGUID值时需要以mount方式登录实例,否则会对表空间进行修改,破坏主备库的数据一致性。

处于mount状态的数据库实例可以切换为open(打开)状态,不可挂起。

 2、打开状态(open)

打开状态是数据库最常用的状态,该状态下不能进行控制文件维护、归档配置等操作,可以访问数据库对象,对外提供正常的数据库服务; 

打开状态下不可以进行模式切换,可以自由对数据库实例进行操作,包括增删改查。在数据库集群中,数据库以mount方式启动,守护进程(dmwatcher)会自动将实例拉起,进入open状态,进行数据库对象的读写操作。

 3、挂起状态(suspend)

 挂起状态与open状态类似,唯一区别就是,限制磁盘写入功能;一旦修改了数据页,触发REDO 日志、数据页刷盘,当前用户将被挂起。

挂起状态同样可以进行数据库数据的查询,但是限制了写入功能。如下图:

在挂起状态下, 我们向表中添加数据,可以看到commit提交事务之后并没有立即执行成功,说明此时数据库实例对象的写入功能被限制了。

执行select语句,发现insert语句并没有执行成功。此时再切换到open状态,执行select语句,在挂起状态下的insert语句被执行了,说明数据库切换到open状态之后,之前在挂起状态未提交的事务会全部提交。

挂起状态下的数据库实例可以向打开状态进行转化。

 二、数据库模式

当数据库处于配置状态时,可以进行数据库模式的切换,达梦数据库共有三种模式。

1、普通模式(NORMAL)

普通模式下的数据库提供正常的服务,操作没有限制。

2. 主库模式(PRIMARY):用户可以正常访问数据库,所有对数据库对象的修改强制生成REDO 日志,在归档有效时,发送 REDO日志到备库。

3. 备库模式(STANDBY):接收主库发送过来的 REDO 日志并重做。数据对用户只读。

主库模式(PRIMARY)和备库模式(STANDBY)顾名思义,在配置数据守护时,需要指定主库的状态为PRIMARY,备库的状态为STANDBY。

模式切换的SQL语句:

#将数据库切换为 Primary 模式:
ALTER DATABASE PRIMARY;
#将数据库切换为 Standby 模式:
ALTER DATABASE STANDBY;
#将数据库切换为 Normal 模式:
ALTER DATABASE NORMAL;

想了解更多关于达梦数据库的相关信息,欢迎访问达梦云适配中心https://eco.dameng.com/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值