Informix Dynamic Server 1150 基础考试 555 认证准备第 7 部分 工具和实用程序.docx
《Informix Dynamic Server 1150 基础考试 555 认证准备第 7 部分 工具和实用程序.docx》由会员分享,可在线阅读,更多相关《Informix Dynamic Server 1150 基础考试 555 认证准备第 7 部分 工具和实用程序.docx(57页珍藏版)》请在冰豆网上搜索。
InformixDynamicServer1150基础考试555认证准备第7部分工具和实用程序
InformixDynamicServer11.50基础考试555认证准备,第7部分:
工具和实用程序
开始之前
关于本系列
这个免费的共包含9篇教程的教程系列的目的是为了帮助您准备InformixDynamicServer(IDS)基础认证考试(555)。
这个认证将考察关于IDS11.50管理的入门级知识,包括基础SQL、如何安装IDS11.50、如何创建数据库和数据库对象、安全性、事务隔离、备份和恢复流程,以及数据复制技术。
这些教程为考试的每部分打下了坚实的基础。
不过,您不能仅使用这些教程作为唯一的考试准备材料。
回页首
关于本教程
本教程介绍了IBMInformixDynamicServer(IDS)11.50中可用的工具和实用程序。
回页首
目标
完成本教程之后,您应该能够:
∙描述onstat、oninit和onmode实用程序
∙演示如何使用数据移动实用程序
∙描述sysadmin数据库集群功能
∙演示OpenAdminTool和dbaccess的特性或功能
回页首
先决条件
本教程要求用户对结构化查询语言(SQL)有基础了解。
回页首
系统需求
要理解和测试本教程中的概念,您必须运行一个IDS11.50实例。
onstat、oninit和onmode实用程序
服务器的主要组件
IBMInformixDynamicServer(IDS)包含3个主要组件,它们分别是oninit进程(虚拟处理器)、共享内存段和磁盘空间储存。
在启动服务器时,oninit进程首先从配置文件读取必要信息,接下来再创建共享内存段。
然后启动所需的虚拟处理器,如配置文件中指定的那样。
图1显示了与共享内存段和磁盘子系统交互的虚拟进程。
除了包含数据或索引信息的缓冲池之外,大部分共享内存都包含控制数据,虚拟进程(或线程)使用这些数据协调和执行它们的活动。
磁盘子系统包含持久化信息,虚拟进程从磁盘子系统读写数据。
持久化信息在IDS关机之后不会丢失。
图1.IDS的主要组件
回页首
IDS的模式
IDS有4个主要的操作模式:
∙离线(Offline)模式
∙静态(Quiescent)模式
∙管理(Administrative)模式
∙在线(Online)模式
离线模式
在这种模式下,服务器没有运行,也没有创建共享内存段或虚拟进程。
当服务器处于离线状态时,使用onstat命令将显示以下输出:
$onstat-
sharedmemorynotinitializedforINFORMIXSERVER'ol_115fc3'
静态模式
在静态模式下,将初始化共享内存并启动虚拟处理器。
可以在这种模式下完成不需要SQL连接的管理任务。
该模式不允许任何用户连接。
当服务器处于静态模式时,发出onstat命令将显示以下输出:
$onstat-
IBMInformixDynamicServerVersion11.50.FC3--Quiescent--Up00:
21:
42--149504Kbytes
管理模式
任何需要SQL的管理活动都必须使用该模式。
这种模式与在线模式基本相同,唯一不同点是该模式仅允许管理员用户连接到服务器。
虚拟处理器和共享内存都被初始化。
在这种模式下,默认情况下仅有用户informix和DBSA组能够连接到服务器。
要让其他用户连接到服务器,必须将配置参数ADMIN_MODE_USERS中列出的有权限用户的onconfig参数ADMIN_USER_MODE_WITH_DBSA设置为1。
例如,该配置可能类似于:
ADMIN_MODE_USERSjgyap,kohcf,jagena,nopavis
在这种模式下,发出onstat命令将收到以下输出:
$onstat-
IBMInformixDynamicServerVersion11.50.FC3--Single-User--Up00:
23:
07--149504Kbytes
在线模式
这是常规的操作模式,在该模式下执行各种用户的授权活动。
虚拟处理器和共享内存都被初始化。
同样,在在线模式下发出onstat命令将显示以下输出:
$onstat-
IBMInformixDynamicServerVersion11.50.FC3--On-Line--Up00:
41:
57--149504Kbytes
回页首
过渡模式
服务器可能处于过渡模式,比如恢复模式或关机模式。
恢复模式是服务器从离线模式转换为静态或在线模式。
关机模式是指服务器从在线模式转换为静态模式。
在Microsoft®Windows®中,服务器作为服务运行。
因此,可以使用可通过控制面板或NET命令访问的ServicesTool启动服务器(在线模式)或停止服务器(离线模式)。
例如,您可以通过以下命令启动服务名为ol_115fc3的服务器:
NETstartol_115fc3
停止服务:
NETstopol_115fc3
回页首
磁盘空间初始化
有时,共享内存段的创建又称为共享内存初始化。
此外,还存在另一种称为磁盘空间初始化的初始化类型,它以一种内部格式初始化根dbspace的初始块。
磁盘空间初始化需要在创建新实例时完成。
使用以下命令执行磁盘空间初始化:
UNIX®:
oinit-i
Windows:
startsdbservername-i
或使用InstanceManager程序创建新的实例。
要跳过操作确认步骤,使用y选项:
UNIX:
oninit-iy
Windows:
startsdbservername-iy
要在磁盘初始化期间获得详细的跟踪,使用v选项:
UNIX:
oninit-ivy
Windows:
startsdbservername-ivy
要在磁盘初始化之后让引擎保持在静态模式,添加s选项:
UNIX:
oninit-ivys
Windows:
startsdbservername-ivys
服务器将自动执行共享内存初始化,并在磁盘初始化期间使引擎进入在线模式。
注意:
如果磁盘初始化在现有的实例上执行,那么旧实例上的所有数据将丢失。
回页首
IDS模式管理
当引擎处于离线模式时,使用oninit实用程序使服务器进入所需的模式。
当引擎不处于离线模式时,那么使用onmode实用程序。
表1显示了oninit或onmode实用程序及其选项,可以通过它们设置服务器的模式。
表1.使用oninit和onmode管理模式
目标模式
初始模式:
离线
初始模式:
非离线
离线
n/a
onmode-k
静态
oninit-s
onmode-soronmode-u
管理
oninit-j-U
onmode-j-U
在线
oninit
onmode-m
因此,如果希望的目标模式为静态模式,并且服务器当前处于离线模式,那么发出命令:
oninit-s
不过,如果引擎并不处于离线模式(处于静态或管理模式),那么发出以下两个命令之一:
要优雅地关闭服务器:
onmode-s
要立即关闭服务器:
onmode-u
在优雅关机模式中,现有的用户会话可以继续执行,但不允许再进行新的连接。
然而,在立即关机模式中,将马上终止当前会话,并回滚事务。
在管理模式下,使用-U选项允许informix和DBSA组用户之外的用户连接到服务器。
例如,在管理模式下,以下命令允许用户jgyap、nopavis和chinth连接到服务器:
onmode-j-Ujgyapnopavischinth
要删除用户,发出命令:
onmode-U""
回页首
其他oninit选项
在启动期间,服务器将清除上一次关机遗留下来的临时表。
要指示服务器不执行清除,可以发出以下命令:
oninit-p
服务器提供复制工具,比如HDR和EnterpriseReplication(将在本系列的第9部分进行描述)。
要在启动服务器时不初始化HDR和EnterpriseReplication,发出以下命令:
oninit-D
要以标准模式启动HDR服务器,发出以下命令:
oninit-S
使用以下命令获得关于oninit本身的详细信息:
清单1.oninit详细信息
$oninit-version
ProgramName:
oninit
BuildVersion:
11.50.FC3
BuildNumber:
N091
BuildHost:
apris
BuildOS:
SunOS-sparc5.9
BuildDate:
TueOct2800:
17:
11CDT2008
GLSVersion:
glslib-4.50.FC3
回页首
其他onmode选项
onmode实用程序除了能够在服务器处于非离线状态时更改服务器模式之外,还有许多其他功能。
让我们看看其中的一部分功能。
服务器提供动态地更改某些配置的功能。
例如,可以通过以下命令限制会话的最大数量:
$onmode-wmLIMITNUMSESSIONS=200
ValueofLIMITNUMSESSIONShasbeenchangedto200.
-wm选项改变内存的内容,但不改变配置文件。
因此,重启服务器之后该更改将失效。
要让更改更持久,使用以下命令:
$onmode-wfLIMITNUMSESSIONS=200
ValueofLIMITNUMSESSIONShasbeenchangedto200.
onmode实用程序的另一个有趣功能是动态地打开SQL解释。
例如,要为会话201打开SQL解释,需要发出以下命令:
onmode-Y2011
当会话201在运行时,onstat-m显示sqexplain文件所在的位置:
清单2.onstat-m的输出
$onstat-m
IBMInformixDynamicServerVersion11.50.FC3--On-Line--Up17days08:
06:
25
--522240Kbytes
MessageLogFile:
/usr2/support/products/sr_11.50.FC3/tmp/online.log
10:
55:
58CheckpointCompleted:
durationwas0seconds.
10:
55:
58FriAug7-loguniq21,logpos0xe1f044,timestamp:
0x1c12d1Interval:
3742
10:
55:
58Maximumserverconnections1
10:
55:
58CheckpointStatistics-Avg.TxnBlockTime0.000,#Txnsblocked0,Plogused2
Llogused1
11:
11:
01CheckpointCompleted:
durationwas0seconds.
11:
11:
01FriAug7-loguniq21,logpos0xe20044,timestamp:
0x1c12deInterval:
3743
11:
11:
01Maximumserverconnections1
11:
11:
01CheckpointStatistics-Avg.TxnBlockTime0.000,#Txnsblocked0,Plogused2
Llogused1
11:
26:
04CheckpointCompleted:
durationwas0seconds.
11:
26:
04FriAug7-loguniq21,logpos0xe27018,timestamp:
0x1c1355Interval:
3744
11:
26:
04Maximumserverconnections1
11:
26:
04CheckpointStatistics-Avg.TxnBlockTime0.000,#Txnsblocked0,Plogused
23,Llogused7
11:
30:
46Explainfileforsession201:
/usr2/as_support/jgyap/sqexplain.out.201
Inthesqexplain.out.201file,youwillabletocheckthequeryplainexecutedbythe
session201.
要关闭SQL解释,发出以下命令:
onmode-Y2010
IDS还允许动态地添加和删除虚拟处理器。
要添加两个以上的CPU虚拟处理器,可以发出以下命令:
onmode-p+2cpu
检查online.log看看操作是否成功执行:
清单3.检查online.log
$onstat-m
IBMInformixDynamicServerVersion11.50.FC3--On-Line--Up17days22:
30:
38
--522240Kbytes
MessageLogFile:
/usr2/support/products/sr_11.50.FC3/tmp/online.log
01:
23:
50CheckpointCompleted:
durationwas0seconds.
01:
23:
50SatAug8-loguniq22,logpos0xc34018,timestamp:
0x1c9916Interval:
3808
01:
23:
50Maximumserverconnections1
01:
23:
50CheckpointStatistics-Avg.TxnBlockTime0.000,#Txnsblocked0,Plogused
26,Llogused8
01:
28:
50CheckpointCompleted:
durationwas0seconds.
01:
28:
50SatAug8-loguniq22,logpos0xc35044,timestamp:
0x1c991fInterval:
3809
01:
28:
50Maximumserverconnections1
01:
28:
50CheckpointStatistics-Avg.TxnBlockTime0.000,#Txnsblocked0,Plogused
2,Llogused1
01:
43:
53CheckpointCompleted:
durationwas0seconds.
01:
43:
53SatAug8-loguniq22,logpos0xc36044,timestamp:
0x1c992bInterval:
3810
01:
43:
53Maximumserverconnections1
01:
43:
53CheckpointStatistics-Avg.TxnBlockTime0.000,#Txnsblocked0,Plogused
2,Llogused1
01:
55:
11Dynamicallyadded2cpuVPs
要删除不再需要的处理器,发出以下命令:
onmode-p-2cpu
类似地,使用onstat-m查看online.log,以确定onmode操作是否成功。
检查操作是否成功的另一个方法是使用onstat-gglo。
清单4提供了该命令的样例输出:
清单4.onstat-gglo输出
$onstat-gglo
IBMInformixDynamicServerVersion11.50.FC3--On-Line--Up17days23:
16:
17
--522240Kbytes
MTglobalinfo:
sessionsthreadsvpslngspins
02411157068
schedcallsthreadswitchesyield0yieldnyieldforever
total:
300525832439187211483818595853104014
persec:
52420310
Virtualprocessorsummary:
classvpsusercpusyscputotal
cpu5160.0610.67170.73
aio20.535.696.22
lio11.307.849.14
pio10.031.261.29
adm10.010.010.02
msc10.020.010.03
total11161.9525.48187.43
Individualvirtualprocessors:
vppidclassusercpusyscputotalThreadEff
19258cpu38.603.8742.473728.551%
29259adm0.010.010.020.000%
39260cpu44.392.6647.058483.410%
49261cpu76.984.1281.108657.880%
59262lio1.307.849.141357.970%
69263pio0.031.261.2992.941%
79267aio0.413.724.13328.481%
89268msc0.020.010.030.2313%
99269aio0.121.972.09258.580%
1026623cpu0.030.010.0411.390%
1126624cpu0.060.010.0710.370%
tot161.9525.48187.43
通过在发出onmode-p命令之前和之后监控虚拟处理器的数量(“Virtualprocessorsummary”部分的vps列),您可以确定onmode命令是否成功执行。
要列出所有可用选项,可以发出以下命令:
清单5.列出可用选项
$onmode
usage:
onmode[-abBCCcDdFIjklMmnOpQRrSsuWYyZz]|
[-wf=]|
[-wm=]
-aIncreasesharedmemorysegmentsize.
-bRevertDynamicServerdiskstructures.
-BC[1|2]Changeserverlargechunkmode
-c[block|unblock]DoCheckpoint.Blockorunblockserver.
-C{start|stop|threshold|
duration|rangesize|alice|
compression}TuneB-treescanner.
-D
-d{standard|{primary|secondary}}setDRservertype
DRsecondaryonly:
{idxauto{on|off}}setDRautomaticindexrepairmode
{index:
[owner.]#}DRrepairindex
{addRSS}addRSSserver
{changeRSS}changeRSSserverpassword
{deleteRSS}removeRSSserverdefinition
{RSS}setRSSservertype
{setSDSprimary[force]}defineSDSprimaryserveralias
{clearSDSprimary[force]}removeSDSprimaryserveralias
{makeprimary[force]}makeserverintotheMACH11primary
-e{on|off|enable|flush}configureorflushsharedstatementcache.
-FFreeunusedmemorysegments
-Istopverboseerrortrapping
-I[]trapspecifiederrorforsessionID
-jChangetosingle-usermo