DM8实例相关知识总结

DM8实例相关知识总结

一、数据库和实例

在 DM7 之前版本的 DM 数据库中,“数据库”和“实例”这两个术语经常可以互相替换, 意义也很相近。在 DM7 以及之后版本的数据库中,“数据库”和“实例”这两个概念之间有 着很大的差别,甚至可以说它们是两个完全不同的实体。

1、数据库

单独提到 DM 数据库时,可能 指的是 DM 数据库产品,也有可能是正在运行的 DM 数据库实例,还可能是 DM 数据库运行中 所需的一系列物理文件的集合等。

当同时出现 DM 数据库和实例时,DM 数据库指的是 磁盘上存放在 DM 数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及 临时数据文件等。

2、实例

实例一般是由一组正在运行的 DM 后台进程/线程以及一个大型的共享内存组成。简单来 说,实例就是操作 DM 数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。DM 数据库存储在服务器的磁盘上,而 DM 实例则存储于服务器的内存中。通过运行 DM实例,可以操作 DM 数据库中的内容。在任何时候,一个实例只能与一个数据库进行关联(装载、打开或者挂起数据库)。在大多数情况下,一个数据库也只有一个实例对其进行操作。但是在 DM 共享存储集群(DMDSC)中,多个实例可以同时装载并打开一个数据库(位于一组由多台服务器共享的物理磁盘上)。此时,我们可以同时从多台不同的计算机访问这个数据库。

二、数据库的状态与模式相关知识

1、数据库状态

1. 配置状态(MOUNT):不允许访问数据库对象,只能进行控制文件维护、归档配置、 数据库模式修改等操作;

2. 打开状态(OPEN):不能进行控制文件维护、归档配置等操作,可以访问数据库对象,对外提供正常的数据库服务;

3. 挂起状态(SUSPEND):与 OPEN 状态的唯一区别就是,限制磁盘写入功能;一旦修改了数据页,触发 REDO 日志、数据页刷盘,当前用户将被挂起。

2、数据库模式

1. 普通模式(NORMAL):用户可以正常访问数据库,操作没有限制;

2. 主库模式(PRIMARY):用户可以正常访问数据库,所有对数据库对象的修改强制

生成 REDO 日志,在归档有效时,发送 REDO 日志到备库;

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

3、数据库模式之间的转换

Shutdown —— mount

Shutdown —— open

Mount ——open

Open ——mount

Open ——suspend

Open ——shutdown

Suspend ——open

4、示例

查询数据库状态:select INSTANCE_NAME,STATUS$ from v$instance;

首先启动数据库,两种方式

1、Shutdown —— mount

2、Shutdown —— open

直接启动

3、Mount---open

4、open—Suspend

5、总结

三种模式

Normal 模式:用户可以正常访问数据库,操作没有限制。正常生成本地归档,但不发送实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。

Primary 模式:用户可以正常访问数据库,操作有极少限制。对临时表空间以外的所有的数据库对象的修改操作都强制生成 Redo 日志。正常生成本地归档,支持实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。 在归档有效时,发送 REDO 日志到备库;该模式下部分功能受限,包括:不支持修改表空间文件名、不支持修改 arch_ini 参数。正常生成本地归档,支持实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。

Standby 模式:可以执行数据库备份(不能执行数据库作业备份)、查询等只读数据库操作。接收主库发送过来的REDO 日志并重做。正常生成本地归档,正常发送异步归档日志;但实时归档(Realtime)、即时归档(Timely)均强制失效。该模式下时间触发器、事件触发器等都失效。另外,还支持临时表的 Insert/Delete/Update 操作。因为临时表数据的修改不会产生 Redo 日志,所以同样主库对临时表的修改无法同步到备库。

1、三种模式只能在 MOUNT 状态下设置,模式之间可以相互转换。

3、一般情况下,数据库为 NORMAL 模式,如果不指定 MOUNT 状态启动,则自动启动到 OPEN状态。

4、在需要对数据库配置时(如配置数据守护、数据复制),服务器需要指定 MOUNT 状态启动。

5、当数据库模式为非 NORMAL 模式(PRIMARY、 STANDBY 模式),无论是否指定启动状态,服务器启动时自动启动到 MOUNT 状态。

四种状态

Mount 状态:数据库在 Mount 状态下,不能修改数据,不能访问表、视图等数据库对象,但可以执行修改归档配置、控制文件和修改数据库模式等操作,也可以执行一些不修改数据库内容的操作,比如查询动态视图或者一些只读的系统过程。由于 Mount 状态不生成 PWR 日志,因此数据页可以正常刷盘,也正常推进检查点。系统从 Open 状态切换为 Mount 状态时, 会强制回滚所有活动事务,但不会强制清理(Purge)已提交事务,不会强制断开用户连接,也不会强制 Buffer 中的脏页刷盘。

Open 状态:可以访问数据库对象,对外提供正常的数据库服务,不能进行控制文件维护、归档配置等操作。

Suspend 状态数据库在 Suspend 状态下,可以访问数据库对象,甚至可以修改数据,但限制 Redo 日志刷盘。相比 Open 到 Mount 的状态切换, Open 到 Suspend 的状态切换更加简单、高效,不会回滚任何活动事务,在状态切换完成后,所有事务可以继续执行。

Shutdown 状态:实例正常退出时设置为 Shutdown 状态。

状态切换

Open 状态与 Mount 状态可以相互切换;

Open 状态与 Suspend 状态可以相互切换;

Mount 和 Suspend 状态不能直接转换;

其他状态为系统内部状态,用户不能主动干预。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。icon-default.png?t=LA92https://eco.dameng.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值