暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM7数据库的启动与关闭

半个IT人 2020-05-27
494

# 一 基础知识

## 1.1 数据库的状态

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

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

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

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

OPEN 状态与 MOUNT 和 SUSPEND 能相互转换,但是 MOUNT 和 SUSPEND 之间不能相互转换。

数据库的状态是可以进行切换的,切换方式如下:

```

ALTER DATABASE <修改数据库语句>;

<修改数据库语句>::= 

RESIZE LOGFILE <文件路径> TO <文件大小>|

ADD LOGFILE <文件说明项>{,<文件说明项>}|

RENAME LOGFILE <文件路径>{,<文件路径>} TO <文件路径>{,<文件路径>}|

MOUNT |

SUSPEND |

OPEN [FORCE] |

NORMAL |

PRIMARY|

STANDBY |

ARCHIVELOG |

NOARCHIVELOG |

<ADD|MODIFY|DELETE> ARCHIVELOG <归档配置语句> |

ARCHIVELOG CURRENT

<文件说明项> ::= <文件路径>SIZE <文件大小>

<归档配置语句>::= 'DEST = <归档目标>,TYPE = <归档类型>'

<归档类型>::=

LOCAL [<文件和路径设置>] |

REALTIME|

SYNC |

ASYNC ,TIMER_NAME = <定时器名称> | 

REMOTE ,ARCH_INCOMING_PATH = <远程归档路径>[<文件和路径设置>]| 

TIMELY

<文件和路径设置>::=[,FILE_SIZE = <文件大小>][,SPACE_LIMIT = <空间大小限制>]

```

具体参数参见达梦官方文档《DM7_SQL语言使用手册》中的3.1 数据库修改语句一节;

比如:

由mount切换到open:

alter database open ;

由open切换到mount:

alter database mount; 

数据库的状态查看,可以通过如下SQL:

Select status$ from v$database;

```

[dmdba@dm3 桌面]$ disql sysdba/SYSDBA

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

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

disql V7.6.0.171-Build(2019.07.02-109059)ENT 

SQL> select status$ from v$database;

行号     status$    

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

1          4

已用时间: 2.039(毫秒). 执行号:4.

```

可以看到,这里的数据库状态是以数字方式进行显示的,数字的具体含义可以参考《DM7系统管理员手册》中附录2 动态性能视图中的18.v$database中的详细说明:

状态:

1:启动;2:启动,redo 完成;3:MOUNT;4:打开;5:挂起;6:关闭

## 1.2 数据库的模式

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

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

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

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

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

对于新初始化的库,首次启动不允许使用 mount 方式,需要先正常启动并正常退出,然后才允许 mount 方式启动。

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

在需要对数据库配置时(如配置数据守护、数据复制),服务器需要指定 MOUNT 状态启动。当数据库模式为非 NORMAL 模式(PRIMARY、STANDBY 模式),无论是否指定启动状态,服务器启动时自动启动到 MOUNT 状态。

## 1.3 数据库的启动过程

1.down->mount

此过程中会根据配置文件,分配共享内存,启动后台线程;同时根据配置文件(dm.ini dmarch.ini …)找到控制文件的,并打开控制文件。

2.mount->open

此时打开机器上所有的数据文件和重做日志文件,数据库进入open可用状态。

# 二 数据库的启动

DM支持多种操作系统。常用的操作系统基本上可以划分为 Windows 操作系统和 Linux操作系统。下面分别介绍这两种操作系统下启动和关闭 DM 数据库的操作。

## 2.1 Windows平台

### 2.1.1 DM服务查看器

安装 DM 数据库后(默认情况下安装成功后 DM 服务会自动启动),在 Windows 的开始菜单选项中选择如下图所示的菜单项中的 DM 服务查看器可以启动 DM 数据库。

 

点击 DM 服务查看器选项后,会弹出如图所示的界面:

 

在弹出界面中选中所要启动的数据库,点击鼠标右键,在菜单栏中选择启动。

### 2.1.2 服务方式

安装 DM 数据库并且新建一个 DM 实例后。Windows 的服务中会自动增加一项和该实例名对应的服务。例如新建一个实例名为 DMSERVER 的 DM 数据库,Windows 的服务中会增加一项名称为“DmServiceDMSERVER”的服务。打开 Windows 的管理工具,选择“服务”,打开 Windows 服务控制台,如图所示,选择“DmServiceDMSERVER”,用鼠标在工具栏点击启动按钮或者点击鼠标右键,在菜单栏中选择“启动”,启动 DM 数据库。

 

### 2.1.3 命令行方式

进入 DM 安装目录下的 bin 目录,直接打开应用程序 dmserver 就可以启动 DM 数据库。或者先打开 Windows 命令提示符工具,在命令工具中执行命令进入 DM 服务器的目录,再执行 dmserver 的命令启动 DM 数据库,如图所示。

 

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

dmserver [ini_file_path] [-noconsole] [mount]

说明:

1. Dmserver 命令行启动参数可指定 dm.ini 文件的路径,非控制台方式启动及指定

数据库是否以 MOUNT 状态启动。关于数据库状态见下一节介绍;

2. Dmserver 启动时可不指定任何参数,默认使用当前目录下的 dm.ini 文件,如果

当前目录不存在 dm.ini 文件,则无法启动;

3. Dmserver 启动时可以指定-noconsole 参数。如果以此方式启动,则无法通过在

控制台中输入服务器命令。

当不确定启动参数的使用方法时,可以使用 help 参数,将打印出格式、参数说明和使

用示例。使用方法如下:

dmserver help

当以控制台方式启动 Dmserver 时,用户可以在控制台输入一些命令,服务器将在控制

台打印出相关信息或执行相关操作。支持的命令见下表。

命令 操作

EXIT 退出服务器

LOCK 打印锁系统信息

TRX 打印等待事务信息

CKPT 设置检查点

BUF 打印内存池中缓冲区的信息

MEM 打印服务器占用内存大小

SESSION 打印连接个数

DEBUG 打开 DEBUG 模式

## 2.2 Linux平台

### 2.2.1 DM服务查看器

安装 DM 数据库后(默认情况下安装成功后 DM 服务会自动启动),在 Linux 的开始菜单选项中选择启动服务器菜单项可以启动 DM 数据库。启动方式类似 Windows。

### 2.2.2 服务方式

安装 DM 数据库后,在/etc/rc.d/init.d 中有名称为 DmService 开头的文件,文件全名为 DmService+实例名(例:如果实例名为 DMSERVER,则相对应的服务文件为DmServiceDMSERVER )。以 实 例 名 为 DMSERVER 为 例 , 在 终 端 输入./DmServiceDMSERVER start 或者 service DmServiceDMSERVER start 即可启动 DM 数据库。

### 2.2.3 命令行方式

在终端进入 DM 安装目录下的 bin 目录,执行./dmserver 启动 DM 数据库,参数选项同 Windows。

# 三 数据库的关闭

## 3.1 Windows平台

### 3.1.1 DM服务查看器

在 Windows 的开始->程序菜单中选择达梦数据库->DM 服务查看器,在弹出的界面中,选中要关闭的数据库,点击鼠标右键,在菜单栏中选择停止。

### 3.1.2 服务方式

安装 DM 数据库并且新建一个 DM 实例后。Windows 的服务中会自动增加一项和该实例名对应的服务。例如新建一个实例名为 DMSERVER1 的 DM 数据库,Windows 的服务中会增加一项名称为“DmServiceDMSERVER1”的服务。打开 Windows 的管理工具,选择服务,打开 Windows 服务控制台,如图所示,选择DmServiceDMSERVER1”,用鼠标在工具栏点击停止按钮或者点击鼠标右键,在菜单栏中选择停止,关闭 DM 数据库。

### 3.1.3 命令行方式

在启动数据库的命令工具中输入 exit,然后回车,关闭 DM 数据库。如图所示。

## 3.2 Linux平台

### 3.2.1 DM服务查看器

在 Linux 的开始菜单中选择关闭数据库的菜单项可以关闭 DM 数据库。关闭方式类似Windows。

### 3.2.2 服务方式

进入/etc/rc.d/init.d,以实例名为 DMSERVER 为例,在命令行工具中输入./DmServiceDMSERVER stop 即可关闭 DM 数据库。

### 3.2.3 命令行方式

在启动数据库的命令工具中输入 exit,然后回车,退出 DM 数据库。关闭方式类似Windows。


文章转载自半个IT人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论