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

休闲思考
0 83

csroad
csroad 举报
06月10日 09:31
数据库的状态

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 |
 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):用户可以正常访问数据库,操作没有限制;
  2. 主库模式(PRIMARY):用户可以正常访问数据库,所有对数据库对象的修改强制生成 REDO 日志,在归档有效时,发送 REDO 日志到备库;
  3. 备库模式(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可用状态。