![达梦数据库运维实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/135/40795135/b_40795135.jpg)
1.4 实例的启动与关闭
DM实例的启动和关闭有以下3种方法。
(1)通过dmserver命令。
(2)通过DM服务查看器。
(3)通过系统服务。
1.4.1 通过dmserver命令
在没有配置服务的情况下,只能通过dmserver命令来启动实例,该命令在/opt/dmdbms/bin目录下执行。命令帮助如下。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_37_3.jpg?sign=1738879158-UxGFxQPRlrNtP0hDFtl0rngaRf71qjxi-0-880e63318a293a62dfc0e304c4146640)
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_38_1.jpg?sign=1738879158-lvEMqE73pRafwWdKR2A13UTrsCIMvA3S-0-fd1a8f2904f33bdb56b56a44fcd4aa6c)
使用dmserver命令启动实例需要指定dm.ini参数和启动状态。
注意:对于“-noconsole”选项,启动时若添加了该选项,则以服务的方式启动,DMSERVER不接受任何输入的指令,如果未添加该选项,那么可以在DMSERVER控制台输入dmserver操作命令,如表1-2所示。
表1-2 dmserver操作命令
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_38_2.jpg?sign=1738879158-l4eJnsH9h2UzeORxFRVeW40RXvcofRMs-0-668a52e67f728774fa968653ecafb130)
启动DM实例的操作如下。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_38_3.jpg?sign=1738879158-2eFQuYwxKXxMlXkeU4qbxUQAbUwGdpS4-0-f0d1f3fe51c7d8e4435203d8d7427fc4)
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_39_1.jpg?sign=1738879158-Eh7UguAayHuCQCilc2Fiw43eUvXTnImM-0-37954daba8bdb8cc15896b97b1a2a940)
启动完成后,用户可以在控制台执行lock命令,查看当前实例锁的信息,操作如下所示。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_39_2.jpg?sign=1738879158-KUmotNjRDqjtYjkPhPRkyYc1rQ1l2LMp-0-68c08b63056cbaa8cc0a5fd22429be12)
注意:通过dmserver命令启动DM实例时,DMSERVER的窗口不能关闭,若窗口关闭,则DM实例也就停止了。如果要停止所有DM实例,只需要在DMSERVER控制台输入exit指令,或者直接按“Ctrl+C”即可。
1.4.2 通过DM服务查看器
在Linux平台下,运行/dm/dmdbms/tool/dmservice.sh脚本可以启动DM服务查看器。在服务查看器中直接右击对应的服务,可以启动和停止服务,如图1-25所示。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_39_3.jpg?sign=1738879158-9v6l8eWdptnlV643XZM17UBJEmgBHL8O-0-687226094ea280df7cc52cdf2b5ddd7a)
图1-25 DM服务查看器
1.4.3 通过系统服务
如果注册了数据库服务,用户可以在操作系统上直接使用服务来进行操作。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_40_1.jpg?sign=1738879158-clLFMtJHyiYFKJkkL123w0MR8fHobI5h-0-75c47e421b55b01e25681ebf0ca45a37)
1.4.4 DM实例的状态和模式
DM实例有5种状态,可以通过V$DATABASE视图查看当前的状态。查看数据库状态的命令如下。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_40_2.jpg?sign=1738879158-Pg3TIssltar3EkPbVFxAc2pIhLiL2DQe-0-5986af91dfd2c2d3d289a4e530299bd5)
这里显示的是数据库状态对应的数字,数据库状态与数字的对应关系如表1-3所示。
表1-3 数据库状态与数字的对应关系
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_40_3.jpg?sign=1738879158-0EyWmVAXEq861MDPHp9G3GT8Txf2oC4k-0-be0843ca7170edf06aee3c1f41ef6db2)
这5种状态中,可以进行转换的有以下3种。
(1)配置状态(MOUNT):不能对外提供服务,只能进行维护控制文件、配置归档、修改数据库模式等操作。
(2)打开状态(OPEN):可以对外提供服务,但不能进行控制文件维护、归档配置等操作。
(3)挂起状态(SUSPEND):此状态与OPEN状态类似,唯一的区别是限制了磁盘的写入功能;一旦修改了数据页,触发了REDO日志、数据页刷盘,当前用户将被挂起。
可以通过V$INSTANCE视图的MODE$列查看实例的当前模式。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_40_4.jpg?sign=1738879158-FG2i5UCXnfSFQ9pTT4gzGoGKpwc0KQ0c-0-73fdc9727734ced37afad2052e037179)
达梦数据库实例的模式有以下3种。
(1)普通模式(NORMAL):默认模式,用户可以正常访问数据库,操作没有限制。
(2)主库模式(PRIMARY):在数据守护(DW)环境下,用户可以正常访问数据库,所有对数据库对象的修改将强制生成REDO日志,在归档有效时,发送REDO日志到备库。
(3)备库模式(STANDBY):在数据守护(DW)环境下,接收主库发送的REDO日志并重做。数据对用户只读。
可以在MOUNT状态下对这3种模式进行切换。注意这3种模式的启动状态的区别。
(1)NORMAL模式:如果不指定MOUNT状态启动,那么自动启动到OPEN状态。
(2)非NORMAL模式(PRIMARY、STANDBY模式):无论是否指定启动状态,服务器启动时自动启动到MOUNT状态。
DM实例切换状态示例如下。
![](https://epubservercos.yuewen.com/C85BE0/21190707608528806/epubprivate/OEBPS/Images/41701_41_1.jpg?sign=1738879158-nXRNSBKbHknhVaDKFnmJ7oypMAToDVGL-0-1a0f99005197db3f966319ab4ae63e30)