第 5 部分 数据库服务器操作.docx
- 文档编号:28324420
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:21
- 大小:20.83KB
第 5 部分 数据库服务器操作.docx
《第 5 部分 数据库服务器操作.docx》由会员分享,可在线阅读,更多相关《第 5 部分 数据库服务器操作.docx(21页珍藏版)》请在冰豆网上搜索。
第5部分数据库服务器操作
关于本教程
本教程描述IBMInformixDynamicServer11.10使用的操作模式。
学习如何初始化数据库服务器,理解每种模式表示什么,并学习如何更改操作模式。
回页首
目标
完成本教程之后,您应该能够:
∙理解IDS11的操作模式
∙必要时更改操作模式
回页首
系统需求
为了理解和测试本教程中描述的概念,需要:
∙一个运行IDS11的系统(下载一个免费试用版)
∙一个配置好的实例
∙以用户“informix”(最好是这个用户)访问系统的权限
服务器操作模式
数据库服务器的操作模式决定数据库管理员(DBA)和用户可以在数据库上执行什么类型的任务或访问,以及数据库服务器可以提供什么类型的服务。
要查看服务器当前的操作模式,可以使用以下命令:
$onstat-
IBMInformixDynamicServerVersion11.10.UB4TL
--On-Line--Up00:
46:
41--52916Kbytes
在UNIX®或Linux®平台上,onmonitor实用程序在菜单的第三行表明服务器模式:
清单1.onmonitor输出中显示的服务器模式
MODES:
StartupOn-LinesingleUserGraceful-Shutdown...
BringDynamicServertoquiescentmodefromoff-line.
-----------------------------On-Line-------PressCTRL-WforHelp.--------
对于在Microsoft®Windows®上运行的服务器,onmonitor工具不可用。
更改操作模式的用户权限
在UNIX和Linux平台上,以root或informix登录的用户可以更改数据库服务器的操作模式。
如果设置了INF_ROLE_SEP环境变量,则数据库服务器管理员也可以更改数据库服务器的操作模式。
INF_ROLE_SEP环境变量强制分离由运行和审计数据库服务器的用户执行的管理任务。
在Windows平台上,数据库服务器作为服务运行;因此,Administrators组或Informix-Admin组的成员可以启动、停止或暂停数据库服务器的服务。
Informix-Admin组的用户成员还可以使用命令行命令更改数据库服务器的模式。
更改数据库服务器模式
在Windows中,数据库服务器作为服务运行。
Windows提供了一个服务控制应用程序(也称Services工具),用于启动、停止和暂停服务。
这个服务控制应用程序在控制面板程序组中。
数据库服务器的服务名称包括数据库服务器名称(ONCONFIG文件中DBSERVERNAME的值)。
例如,数据库服务器windows_iif1110的动态服务器服务是:
IBMInformixDatabaseServer-windows_iif1110
在UNIX或Linux中,可以使用onmonitor命令更改数据库服务器的模式。
可以使用InformixServerAdministrator(ISA)更改数据库服务器的模式。
(要了解更多关于ISA的信息,请参阅“InformixServerAdministratorREADME”(IBM,2006)。
)
离线模式
离线(Offline)模式表示服务器没有运行,没有初始化共享内存,DBA和用户(客户机)都不能访问数据库服务器。
如果初始化了共享内存,则可以执行以下命令将服务器改为离线模式:
$onmode-k
使用onmonitor
模式:
离线
每当数据库服务器处于离线模式,DBA试图通过执行数据库服务器的某个工具访问服务器时,DBA可以看到如下所示的一条消息:
$onstat–
sharedmemorynotinitializedforINFORMIXSERVER'gavea_iif1110_shm'
客户机应用程序可以看到如下所示的错误消息:
$dbaccess-run_query
25588:
Theapplprocesscannotconnecttothedatabaseservergavea_iif1110_shm.
回页首
初始化模式
初始化(initialization)模式是一种临时模式,当初始化服务器并将服务器从离线模式切换到静态(quiescent)模式时,就会出现初始化模式。
清单2.使用onmonitor从命令行开始初始化
$onmonitor
DynamicServer:
StatusParametersDbspacesModeForce-Ckpt...
ChangetheDynamicServeroperatingmode.
-----------------------------Off-Line-------PressCTRL-WforHelp.--------
清单3.模式:
启动
MODES:
StartupOn-LinesingleUserGraceful-Shutdown...
BringDynamicServertoquiescentmodefromoff-line.
-----------------------------Off-Line-------PressCTRL-WforHelp.--------
清单4.屏幕显示初始化
Initializing,pleasewait...
PressReturntocontinue.
清单5.或者使用oninit加-v选项执行verbose
$oninit-v
Checkinggroupmembershiptodetermineserverrunmode...succeeded
Readingconfigurationfile
'/usr3/informix/iif11.10/etc/onconfig.gavea_iif1110'...succeeded
Creating/INFORMIXTMP/.infxdirs...succeeded
Creatinginfosfile
"/usr3/informix/iif11.10/etc/.infos.gavea_iif1110_tcp"...succeeded
Linkingconffile
"/usr3/informix/iif11.10/etc/.conf.gavea_iif1110_tcp"...succeeded
Writingtoinfosfile...succeeded
Checkingconfigparameters...succeeded
Allocatingandattachingtosharedmemory...succeeded
Creatingresidentpool1742kbytes...succeeded
Allocating2016kbytesforbufferpoolof2Kpagesize...succeeded
Allocating4016kbytesforbufferpoolof4Kpagesize...succeeded
Allocating16016kbytesforbufferpoolof16Kpagesize...succeeded
Initializingrheadstructure...succeeded
InitializingASF...succeeded
InitializingDictionaryCacheandSPLRoutineCache...succeeded
BringingupADMVP...succeeded
CreatingVPclasses...succeeded
Onlining0additionalcpuvps...succeeded
Onlining2IOvps...succeeded
InitializationofEncryption...succeeded
Forkingmain_loopthread...succeeded
InitializingDRstructures...succeeded
Forking1'soctcp'listenerthreads...succeeded
Forking1'ipcshm'listenerthreads...succeeded
Startingtracing...succeeded
Initializing20flushers...succeeded
Initializinglog/checkpointinformation...succeeded
Openingprimarychunks...succeeded
Openingmirrorchunks...succeeded
Initializingdbspaces...succeeded
Validatingchunks...succeeded
InitializeAsyncLogFlusher...succeeded
Forkingbtreecleaner...succeeded
InitializingDBSPACETEMPlist...succeeded
Checkingdatabasepartitionindex...succeeded
Initializingdataskipstructure...succeeded
Checkingfortemporarytablestodrop...succeeded
Forkingonmode_monthread...succeeded
Startingschedulingsystem...succeeded
Verboseoutputcomplete:
mode=5
$
这种模式总是必需的。
在这种模式期间,会发生共享内存初始化,并且可以包括磁盘初始化。
删除临时表空间
在初始化过程中,数据库服务器搜索所有数据库空间,以发现临时表空间。
这些临时表空间是由被异常终止的用户进程留下的,不能执行适当的清除。
数据库服务器删除所有临时表空间,并回收(reclaim)磁盘空间。
默认情况下,初始化过程搜索和删除所有临时表空间。
如果使用oninit的–p选项初始化数据库服务器,则数据库服务器省略这个步骤。
这样可以加快初始化过程;但是,所有被使用的临时表空间和空间仍然留在服务器上,直到下一次在不使用oninit的–p选项的情况下进行初始化。
回页首
恢复模式
每当服务器从离线模式切换至静态模式、单用户(single-user)模式、或联机(online)模式时,服务器检查物理日志,确定服务器之前是否被适当地关闭。
如果物理日志不为空,则表明服务器不是适当地离线的,数据库服务器开始快速恢复。
如果物理日志为空,则表明服务器是适当地离线的,不需要快速恢复。
数据库保持快速恢复模式,直到逻辑与物理相一致。
这可能需要花点时间,DBA只能等待。
快速恢复
快速恢复在发生任何导致用于数据库服务器的内存的内容丢失的故障之后,将数据库服务器恢复至物理与逻辑相一致的状态。
在共享内存初始化过程中,数据库服务器检查物理日志的内容。
如果数据库服务器是正常关闭的,则物理日志为空。
从离线模式切换至静态模式时包含一个检查点,以刷新物理日志。
因此,如果数据库服务器发现物理日志中存在页面,则表明数据库服务器是在失控情况下离线的,因此开始快速恢复。
检查点之后的快速恢复
在共享内存初始化过程中,快速恢复使数据库服务器返回到一致状态。
所有被提交的事务将被恢复,所有未提交的事务则回滚。
快速恢复的步骤如下:
1.数据库服务器使用物理日志中的数据使所有磁盘页面返回到最近检查点时的状态。
这称作物理一致。
2.数据库服务器找到逻辑日志文件中的最近检查点记录。
3.数据库服务器将最近检查点记录之后写入的所有逻辑日志记录回滚。
4.数据库服务器回滚所有已提交的事务。
有些XA事务在XA资源管理器可用之前可能是未决的。
在快速恢复的最后,从最近检查点到发生失控关闭这段时间内数据库上的所有更改都被应用到所有数据库空间。
所有未提交的更改从逻辑日志回滚到磁盘(数据库空间)。
至此,数据库服务器已完成快速恢复并处于一致状态(物理和逻辑都一致),并切换至静态模式、单用户模式或联机模式。
回页首
静态模式
共享内存初始化已完成,oninit进程也在运行,共享内存资源已经分配,但是系统还不允许数据库用户的访问。
管理员使用这种模式来执行不需要执行SQL命令(DDL和DML语句)的维护功能。
注意:
对于限制其他用户访问,且需要执行DDL和DML语句的任务,请参阅“单用户模式”小节。
执行以下命令,将数据库服务器从离线模式切换至静态模式:
清单6.将数据库服务器从离线模式切换至静态模式
$oninit-sv
Checkinggroupmembershiptodetermineserverrunmode...succeeded
Readingconfigurationfile
'/usr3/informix/iif11.10/etc/onconfig.gavea_iif1110'...succeeded
Creating/INFORMIXTMP/.infxdirs...succeeded
Creatinginfosfile
"/usr3/informix/iif11.10/etc/.infos.gavea_iif1110_tcp"...succeeded
Linkingconffile"/usr3/informix/iif11.10/etc/.conf.gavea_iif1110_tcp"...succeeded
Writingtoinfosfile...succeeded
Checkingconfigparameters...succeeded
Allocatingandattachingtosharedmemory...succeeded
Creatingresidentpool1742kbytes...succeeded
Allocating2016kbytesforbufferpoolof2Kpagesize...succeeded
Allocating4016kbytesforbufferpoolof4Kpagesize...succeeded
Allocating16016kbytesforbufferpoolof16Kpagesize...succeeded
Initializingrheadstructure...succeeded
InitializingASF...succeeded
InitializingDictionaryCacheandSPLRoutineCache...succeeded
BringingupADMVP...succeeded
CreatingVPclasses...succeeded
Onlining0additionalcpuvps...succeeded
Onlining2IOvps...succeeded
InitializationofEncryption...succeeded
Forkingmain_loopthread...succeeded
InitializingDRstructures...succeeded
Forking1'soctcp'listenerthreads...succeeded
Forking1'ipcshm'listenerthreads...succeeded
Startingtracing...succeeded
Initializing20flushers...succeeded
Initializinglog/checkpointinformation...succeeded
Openingprimarychunks...succeeded
Openingmirrorchunks...succeeded
Initializingdbspaces...succeeded
Validatingchunks...succeeded
InitializeAsyncLogFlusher...succeeded
InitializingDBSPACETEMPlist...succeeded
Checkingdatabasepartitionindex...succeeded
Initializingdataskipstructure...succeeded
Checkingfortemporarytablestodrop...succeeded
Forkingonmode_monthread...succeeded
Verboseoutputcomplete:
mode=1
$
$onstat-
IBMInformixDynamicServerVersion11.10.UB4TL
--Quiescent--Up00:
02:
06--44724Kbytes
清单7.使用onmonitor。
模式:
启动
$onmonitor
DynamicServer:
StatusParametersDbspacesModeForce-Ckpt...
StatusmenutoviewDynamicServer.
-----------------------------Off-Line-------PressCTRL-WforHelp.--------
清单8.初始化之后
MODES:
StartupOn-LinesingleUserGraceful-Shutdown...
BringDynamicServertoquiescentmodefromoff-line.
-----------------------------Quiescent-------PressCTRL-WforHelp.--------
发出IMMEDIATESHUTDOWN命令,将数据库服务器从离线模式或单用户模式切换至静态模式:
清单9.使用onmode
$onstat-
IBMInformixDynamicServerVersion11.10.UB4TL
--On-Line--Up00:
15:
12--44724Kbytes
$onmode-u
ThiswillperformanIMMEDIATESHUTDOWN-
Doyouwishtocontinue(y/n)?
y
Thereare0userthreadsthatwillbekilled.
Doyouwishtocontinue(y/n)?
y
$onstat-
IBMInformixDynamicServerVersion11.10.UB4TL
--Quiescent--Up00:
16:
33--44724Kbytes
$
清单10.使用onmonitor。
模式:
立即关闭
$onmonitor
DynamicServer:
StatusParametersDbspacesModeForce-Ckpt...
ChangetheDynamicServeroperatingmode.
-----------------------------On-Line-------PressCTRL-WforHelp.--------
MODES:
...Immediate-ShutdownTake-OfflineAdd-ProcDrop-Proc...
BringDynamicServertoquiescentmodeimmediately.
-----------------------------On-Line-------PressCTRL-WforHelp.--------
Doyoureallywanttoshutdown?
(y/n)
y
-----------------------------On-Line-------PressCTRL-WforHelp.--------
TherearenouserthreadsexcepttheDAEMONSandONMONITOR.
实例进入静态模式:
清单11.静态模式
MODES:
...Immediate-ShutdownTake-OfflineAdd-ProcDrop-Proc...
BringDynamicServertoquiescentmodeimmediately.
-----------------------------Quiescent-------PressCTRL-WforHelp.--------
注意:
一旦服务器使用了最后一个连接,数据库服务器结束所有活动会话,然后进入静态模式。
要了解更多选项,请参阅“其他数据库服务器模式”小节中的关闭模式。
回页首
单用户模式
只有管理员(用户informix)可以访问数据库服务器。
管理员使用单用户模式来执行维护任务,包括需要执行SQL(DML和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 部分 数据库服务器操作 数据库 服务器 操作