Informix IDS 11体系打点(918考试)认证指南,第 5 局部: 数据库管事器操作(4)

更改数据库管事器方法

在 Windows 中,数据库管事器作为管事运转。Windows 供应了一个管事控制使用轨范(也称 Services 器械),用于启动、中止和暂停管事。这个管事控制使用轨范在控制面板轨范组中。数据库管事器的管事称号包含数据库管事器称号(ONCONFIG 文件中 DBSERVERNAME 的值)。歧,数据库管事器 windows_iif1110 的静态管事器管事是:

IBM Informix Database Server - windows_iif1110

在 UNIX 或 Linux 中,可以运用 onmonitor 号令更改数据库管事器的方法。

可以运用 Informix Server Administrator (ISA) 更改数据库管事器的方法。(要清楚明明更多关于 ISA 的信息,请参阅 “Informix Server Administrator README”(IBM,2006)。)

离线方法

离线(Offline)方法泄漏暗示管事器没有运转,没有初始化共享内存,DBA 和用户(客户机)都不克不及访谒数据库管事器。

如果初始化了共享内存,则可以实施以下号令将管事器改为离线方法:

	         
 $ onmode -k
  


运用 onmonitor

方法:离线

每当数据库管事器处于离线方法,DBA 试图经过进程实施数据库管事器的某个器械访谒管事器时,DBA 可以看到如下所示的一条消息:

 $ onstat –
 shared memory not initialized for INFORMIXSERVER 'gavea_iif1110_shm'
        


客户机使用轨范可以看到如下所示的错误消息:

 $ dbaccess - run_query
   25588: The appl process cannot connect to the database server gavea_iif1110_shm.











初始化方法

初始化(initialization)方法是一种权且方法,现在始化管事器并将管事器从离线方法切换到静态(quiescent)方法时,就会呈现初始化方法。

清单 2. 运用 onmonitor 从号令行入部脱手初始化

                    
  $ onmonitor      
 Dynamic Server:   Status  Parameters  Dbspaces  Mode  Force-Ckpt  ...
 Change the Dynamic Server operating mode.
 -----------------------------Off-Line------- Press CTRL-W for Help. --------
        



清单 3. 方法:启动
                    
MODES:   Startup  On-Line  singleUser  Graceful-Shutdown  ...
 Bring Dynamic Server to quiescent mode from off-line.
  -----------------------------Off-Line------- Press CTRL-W for Help. --------
              



清单 4. 屏幕施展阐发初始化
                    
 Initializing, please wait ...    
 Press Return to continue.
        



清单 5. 大要运用 oninit 加 -v 选项实施 verbose
                    
$ oninit -v
        Checking group membership to determine server run mode...succeeded
        Reading configuration file 
        '/usr3/informix/iif11.10/etc/onconfig.gavea_iif1110'...succeeded
        Creating /INFORMIXTMP/.infxdirs...succeeded
        Creating infos file 
        "/usr3/informix/iif11.10/etc/.infos.gavea_iif1110_tcp"...succeeded
        Linking conf file 
        "/usr3/informix/iif11.10/etc/.conf.gavea_iif1110_tcp"...succeeded
        Writing to infos file...succeeded
        Checking config parameters...succeeded
        Allocating and attaching to shared memory...succeeded
        Creating resident pool 1742 kbytes...succeeded
        Allocating 2016 kbytes for buffer pool of 2K page size...succeeded
        Allocating 4016 kbytes for buffer pool of 4K page size...succeeded
        Allocating 16016 kbytes for buffer pool of 16K page size...succeeded
        Initializing rhead structure...succeeded
        Initializing ASF...succeeded
        Initializing Dictionary Cache and SPL Routine Cache...succeeded
        Bringing up ADM VP...succeeded
        Creating VP >

这种方法老是必需的。在这种方法时期,会孕育发生发火共享内存初始化,并且可以包含磁盘初始化。

删除权且表空间

在初始化历程中,数据库管事器搜索扫数数据库空间,以创造权且表空间。这些权且表空间是由被异常中止的用户历程留下的,不克不及实施得当的打扫。数据库管事器删除扫数权且表空间,并回收(reclaim)磁盘空间。

默许形状下,初始化历程搜索和删除扫数权且表空间。如果运用 oninit–p 选项初始化数据库管事器,则数据库管事器省略这个步调。如答允以加速初始化历程;然则,扫数被运用的权且表空间和空间依旧留在管事器上,直到下一次在不运用 oninit–p 选项的形状下截止初始化。









恢复方法

每当管事器从离线方法切换至静态方法、单用户(single-user)方法、或联机(online)方法时,管事器检查物理日志,确定管事器之前能否被适外埠封闭。如果物理日志不为空,则疏解管事器不是适外埠离线的,数据库管事器入部脱手疾速恢复。如果物理日志为空,则疏解管事器是适外埠离线的,不需求疾速恢复。

数据库坚持疾速恢复方法,直到逻辑与物理相分歧。这大要需求花点光阴,DBA 只能守候。

疾速恢复

疾速恢复在孕育发生发火任何招致用于数据库管事器的内存的内容损失的毛病之后,将数据库管事器恢复至物理与逻辑相分歧的形状。

在共享内存初始化历程中,数据库管事器检查物理日志的内容。如果数据库管事器是正常封闭的,则物理日志为空。从离线方法切换至静态方法时包含一个检查点,以改良物理日志。因而,如果数据库管事器创造物理日志中存在页面,则疏解数据库管事器是在失控形状下离线的,因而入部脱手疾速恢复。

检查点之后的疾速恢复

在共享内存初始化历程中,疾速恢复使数据库管事器前去到分歧形状。扫数被提交的事务将被恢复,扫数未提交的事务则回滚。疾速恢复的步调如下:

  1. 数据库管事器运用物理日志中的数据使扫数磁盘页面前去到最近检查点时的形状。这称作物理分歧。
  2. 数据库管事器找到逻辑日志文件中的最近检查点记载。
  3. 数据库管事器将最近检查点记载之后写入的扫数逻辑日志记载回滚。
  4. 数据库管事器回滚扫数已提交的事务。有些 XA 事务在 XA 本钱打点器可用之前大如果未决的。

在疾速恢复的着末,从最近检查点到孕育发生发火失控封闭这段光阴内数据库上的扫数更改都被使用到扫数数据库空间。扫数未提交的更改从逻辑日志回滚到磁盘(数据库空间)。

至此,数据库管事器已完成疾速恢复并处于分歧形状(物理和逻辑都分歧),并切换至静态方法、单用户方法或联机方法。









静态方法

共享内存初始化已完成,oninit 历程也在运转,共享内存本钱曾经分拨,然则体系还不承诺数据库用户的访谒。

打点员运用这种方法来实施不需求实施 SQL 号令(DDL 和 DML 语句)的维护功能。

寄望: 关于限定其他用户访谒,且需求实施 DDL 和 DML 语句的任务, 请参阅 “单用户方法” 大节。

实施以下号令,将数据库管事器从离线方法切换至静态方法:

清单 6. 将数据库管事器从离线方法切换至静态方法

                    
$ oninit -sv
Checking group membership to determine server run mode...succeeded
Reading configuration file 
'/usr3/informix/iif11.10/etc/onconfig.gavea_iif1110'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Creating infos file 
"/usr3/informix/iif11.10/etc/.infos.gavea_iif1110_tcp"...succeeded
Linking conf file "/usr3/informix/iif11.10/etc/.conf.gavea_iif1110_tcp"...succeeded
Writing to infos file...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 1742 kbytes...succeeded
Allocating 2016 kbytes for buffer pool of 2K page size...succeeded
Allocating 4016 kbytes for buffer pool of 4K page size...succeeded
Allocating 16016 kbytes for buffer pool of 16K page size...succeeded
Initializing rhead structure...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP >


清单 7. 运用 onmonitor。方法:启动
                    
$ onmonitor
Dynamic Server:   Status  Parameters  Dbspaces  Mode  Force-Ckpt  ...
Status menu to view Dynamic Server.
-----------------------------Off-Line------- Press CTRL-W for Help. --------



清单 8. 初始化之后
                    
MODES:   Startup  On-Line  singleUser  Graceful-Shutdown  ...
Bring Dynamic Server to quiescent mode from off-line.
-----------------------------Quiescent------- Press CTRL-W for Help. --------


收回 IMMEDIATE SHUTDOWN 号令,将数据库管事器从离线方法或单用户方法切换至静态方法:

清单 9. 运用 onmode

                    
$ onstat -
IBM Informix Dynamic Server Version 11.10.UB4TL 
-- On-Line -- Up 00:15:12 -- 44724 Kbytes
$ onmode -u
This will perform an IMMEDIATE SHUTDOWN -
Do you wish to continue (y/n)? y
There are 0 user threads that will be killed.
Do you wish to continue (y/n)? y
$ onstat -
IBM Informix Dynamic Server Version 11.10.UB4TL 
-- Quiescent -- Up 00:16:33 -- 44724 Kbytes
$
		



清单 10. 运用 onmonitor。方法:立刻封闭
                    
 $ onmonitor
 Dynamic Server:   Status  Parameters  Dbspaces  Mode  Force-Ckpt  ...
 Change the Dynamic Server operating mode.
 -----------------------------On-Line------- Press CTRL-W for Help. --------
 MODES:   ...  Immediate-Shutdown  Take-Offline  Add-Proc  Drop-Proc  ...
 Bring Dynamic Server to quiescent mode immediately.
 -----------------------------On-Line------- Press CTRL-W for Help. --------
 Do you really want to shutdown? (y/n)
 y
 -----------------------------On-Line------- Press CTRL-W for Help. --------
 There are no user threads except the DAEMONS and ONMONITOR.
				


实例进入静态方法:

清单 11. 静态方法

                    
MODES:   ...  Immediate-Shutdown  Take-Offline  Add-Proc  Drop-Proc  ...
Bring Dynamic Server to quiescent mode immediately.
-----------------------------Quiescent------- Press CTRL-W for Help. --------
        


寄望: 一旦管事器运用了着末一个毗连,数据库管事器竣事扫数行为会话,然落伍入静态方法。要清楚明明更多选项,请参阅 “其他数据库管事器方法 ” 大节中的封闭方法。









单用户方法

只需打点员(用户 informix)可以访谒数据库管事器。

打点员运用单用户方法来实施维护任务,包含需求实施 SQL(DML 和 DDL 语句)的任务。打点员还可以在联机方法下实施扫数其他功能。

欲将数据库管事器从离线方法切换至单用户方法,可收回以下号令:

清单 12. 运用 oninit

                    
$ oninit -j
$ onstat -
IBM Informix Dynamic Server Version 11.10.UB4TL 
-- Single-User -- Up 00:00:17 -- 52916 Kbytes
$



清单 13. 运用 onmonitor。方法:启动:单用户
                    
$ onmonitor
MODES:   Startup  On-Line  singleUser  Graceful-Shutdown  ...
Bring Dynamic Server to quiescent mode from off-line.
-----------------------------Off-Line------- Press CTRL-W for Help. --------
The server goes to quiescent mode, then you chooses singleUser
MODES:   Startup  On-Line  singleUser  Graceful-Shutdown  ...
Bring Dynamic Server to Single-User mode from On-Line or quiescent.
-----------------------------Single-User------- Press CTRL-W for Help. --------
        











联机方法

联机方法是数据库管事器的老例操作方法。任何经受权的用户都可以毗连到数据库管事器,以及实施扫数数据库行为。

欲将数据库管事器从离线方法切换至联机方法,可收回以下号令:

清单 14. 运用 oninit

                    
$ oninit -v
Checking group membership to determine server run mode...succeeded
Reading configuration file 
'/usr3/informix/iif11.10/etc/onconfig.gavea_iif1110'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Creating infos file 
"/usr3/informix/iif11.10/etc/.infos.gavea_iif1110_tcp"...succeeded
Linking conf file "/usr3/informix/iif11.10/etc/.conf.gavea_iif1110_tcp"...succeeded
Writing to infos file...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 1742 kbytes...succeeded
Allocating 2016 kbytes for buffer pool of 2K page size...succeeded
Allocating 4016 kbytes for buffer pool of 4K page size...succeeded
Allocating 16016 kbytes for buffer pool of 16K page size...succeeded
Initializing rhead structure...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP >


清单 15. 运用 onmonitor。方法:启动:联机
                    
$ onmonitor
Dynamic Server:   Status  Parameters  Dbspaces  Mode  Force-Ckpt  ...
Change the Dynamic Server operating mode.
-----------------------------Off-Line------- Press CTRL-W for Help. --------
After selecting Startup:
MODES:   Startup  On-Line  singleUser  Graceful-Shutdown  ...
Bring Dynamic Server to quiescent mode from off-line.
-----------------------------Quiescent------- Press CTRL-W for Help. --------
 Then Select On-Line
 MODES:   Startup  On-Line  singleUser  Graceful-Shutdown  ...
 Bring Dynamic Server to on-line mode from quiescent or Single-User.
 -----------------------------On-Line------- Press CTRL-W for Help. --------
 


欲将数据库管事器从静态方法或单用户方法切换至联机方法,可运用以下号令:

清单 16. 运用 onmode

                    
$ onstat -
IBM Informix Dynamic Server Version 11.10.UB4TL 
-- Quiescent -- Up 00:06:56 -- 44724 Kbytes
$ onmode -m
$ onstat -
IBM Informix Dynamic Server Version 11.10.UB4TL 
-- On-Line -- Up 00:07:07 -- 44724 Kbytes
        











其他数据库管事器方法

此外,数据库管事器还可以处于以下几种方法之一:

只读

只读方法是 HDR 对中的副手数据库管事器的老例操作方法。

数据库管事器不是经过进程实施某个号令,而是经过进程设置 HDR 进入此方法的。

封闭方法

封闭方法是一种历久的方法。当数据库管事器从离线方法或单用户方法切换至静态方法时,就会呈现封闭方法。在此方法下,当前用户可以访谒体系,然则新用户不克不及访谒体系。封闭方法一旦入部脱手就不克不及勾销。当着末一个毗连被中止(断开)后,管事器从封闭方法切换至静态方法。

清单 17. 运用 onmode

                    
$ onstat -g ses
IBM Informix Dynamic Server Version 11.10.UB4TL
-- On-Line -- Up 00:24:10 -- 44724 Kbytes
session                                      #RSAM    total      used       dynamic
id       user     tty      pid      hostname threads  memory     memory     explain
32       informix -        0        -        0        12288      8504       off
31       informix 4        6457     gavea.us 1        77824      72064      off
30       informix -        0        -        1        241664     201872     off
28       informix -        0        -        1        249856     203040     off
26       informix -        0        -        1        204800     163776     off
9        informix -        0        -        0        12288      8504       off
8        informix -        0        -        0        12288      8504       off
6        informix -        0        -        0        12288      9720       off
5        informix -        0        -        0        12288      9720       off
4        informix -        0        -        0        12288      8504       off
3        informix -        0        -        0        12288      8504       off
2        informix -        0        -        0        12288      8504       off
See session 31 is connected to the instance
Execute onmode to take instance to Shutdown mode
$ onmode -sy
Option  -y answers yes automatically
$ onstat -
IBM Informix Dynamic Server Version 11.10.UB4TL 
-- Shutting Down -- Up 00:26:39 -- 44724 Kbytes
	


寄望: 如果存内行为毗连,数据库管事器将坚持封闭方法,直到着末一个毗连断开。如果没有行为毗连,管事器将立刻切换至静态方法。



版权声明: 原创作品,承诺转载,转载时请务必以超链接方法标明文章 原始来因 、作者信息和本声明。否则将追究功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1973022.html