第 1 部分IDS 计划和安装.docx
- 文档编号:27472738
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:41
- 大小:83.99KB
第 1 部分IDS 计划和安装.docx
《第 1 部分IDS 计划和安装.docx》由会员分享,可在线阅读,更多相关《第 1 部分IDS 计划和安装.docx(41页珍藏版)》请在冰豆网上搜索。
第1部分IDS计划和安装
开始之前
本教程讲解IDS安装的计划。
计划包括需要回答的关键问题、在哪里获得关于此产品的信息、它在您机器上的功能以及可能需要的安装前准备工作。
计划安装之后,就要实际安装IDS。
本教程讨论每个操作系统上可用的安装选项,然后带领您安装和配置第一个IDS实例,最后讨论在配置之后如何启动和停止实例。
掌握了这些知识,您应该能够计划、安装和启动InformixDynamicServer实例,然后可以继续学习本系列的后续教程。
您还应该能够回答认证考试第1部分中的问题。
关于本系列
本系列包含9个教程,帮助您准备IBMInformixDynamicServer11.50基础认证考试(555)。
这个认证考试测试您的IDS11.50初级管理知识,包括基本SQL(StructuredQueryLanguage)、如何安装IDS11.50、如何创建数据库和数据库对象、安全性、事务隔离、备份和恢复过程以及数据复制技术和用途。
这些教程为准备考试的每个部分提供坚实的基础。
但是,您不应该仅仅依靠这些教程准备考试。
回页首
关于本教程
本教程覆盖考试第1部分“PlanningandInstallingIDS”中的主题。
回页首
目标
学完本教程之后,您应该能够:
∙解释IDS版本之间的差异
∙描述不同的数据库应用程序
∙描述用户设置和控制,包括角色隔离
∙理解IDS中可用的数据类型,包括内置类型和可扩展类型
∙解释和执行自己平台上可用的安装方法
∙解释和执行IDS实例的配置步骤
∙解释IDS实例的不同状态
∙通过执行命令改变IDS实例的状态
回页首
前提条件
本教程针对初级数据库管理员(DBA)。
尽管具备一些基本的数据库知识会有帮助,但并不是必需的。
回页首
系统需求
学习本教程并不需要IDS的拷贝。
但是,如果有IDS可用,肯定会得到更大的收获。
如果您手头还没有IDS的拷贝,可以下载免费试用版(见参考资料)。
计划
有许多人影响了我,包括我的父母、高中老师、大学教授、业务指导等等;但是他们实际上都告诉我同一个道理:
要想取得成功,就需要制定计划。
对于成功的数据库部署,同样如此—您需要计划。
尽管您可能不情愿花时间制定计划,但是要记住计划在日后会为您节省大量时间。
因此,本教程的第一部分讨论计划。
在制定计划时,需要问自己一些问题:
∙我需要数据库软件中的哪些功能?
∙我希望连接什么类型的应用程序?
∙会有多少用户?
这些用户从哪里连接数据库?
∙我要存储什么类型的数据?
数据量有多大?
∙我希望应用程序的响应时间是多少?
∙要使用现有硬件,还是购买新硬件?
∙是由一个人维护数据的所有方面,还是让一个团队分担责任?
还可以列出更多问题,但是我们先就此打住。
本节的目标并不是深入讨论这些问题,而是促使您思考它们并讨论与它们相关的一些高层主题。
IDS版本
InformixDynamicServer提供四个不同的版本:
∙Developer
∙Express
∙Workgroup
∙Enterprise
IDS的DeveloperEdition是一个免费产品,只能用于应用程序开发和测试。
它包含WorkgroupEdition的大多数功能,但是没有IBM技术支持。
它还在处理器数量、内存和存储方面有可伸缩性限制。
ExpressEdition适用于中小型企业,只能在Linux和Windows操作系统上运行。
它也包含WorkgroupEdition的大多数功能并有可伸缩性限制。
WorkgroupEdition适用于中型企业或作为大企业的部门服务器。
它可以在各种Unix/Linux操作系统以及Windows和MacOSX上运行。
WorkgroupEdition增加了额外功能,比如有限的EnterpriseReplication(ER)和High-AvailabilityDataReplication(HDR)。
WorkgroupEdition也有可伸缩性限制。
EnterpriseEdition包含WorkgroupEdition的所有功能,而且没有可伸缩性限制。
EnterpriseEdition包含完整的HDR和ER功能,还增加了ContinuousAvailabilityFeature、StorageOptimization、LBAC等功能。
制定计划的首要步骤之一是判断需要用哪个IDS版本支持您的业务需求。
回页首
应用程序类型
连接数据库的应用程序通常分为两类:
∙联机事务处理,即OLTP
∙决策支持系统,即DSS,有时候也称为数据仓库
您会问,“它们有什么不同?
”我们来看一个示例。
OLTP
OLTP型处理的示例是呼叫中心应用程序。
当您打电话给信用卡公司(或任何形式的服务台)时,电话那头的服务人员通常会询问某些能够惟一地标识您账户的信息,比如账户号。
使用这个账户号搜索数据库,找到只与您相关联的几个记录。
可能只有一个记录(可能是您的账户信息),也可能有几十个记录,比如您的账户信息加上最近15次交易的信息。
无论是哪种情况,这应该是快速的搜索,可以在一两秒或更少时间内返回数据。
尽管它可以返回来自多个表的几十个数据行,但是它返回的行只占数据库中行的很小一部分。
应用程序可能返回20行,这与表中的2亿行相比微不足道。
我这么说并不是想让您觉得渺小;只是想指出OLTP型系统的关键特征:
∙它通过查询返回很少几行
∙它具有非常短的响应时间—通常是一两秒或更少
∙它使用惟一标识和索引获取行集
∙它是一个读写型环境
∙支持大量用户
OLTP系统设计为读写系统。
信用卡服务台等用户应用程序不但会从数据库中选择数据,还会频繁地更新和插入新数据。
DSS或数据仓库
DSS型查询是报告型的查询。
它们是运行时间更长,更深入的查询。
继续以上面的信用卡公司为例,公司的CEO希望:
∙查明上一个月发生了多少次信用卡交易
∙生成所有拖欠信用卡债务的客户的报告
注意,这些查询并不与某一客户相关联。
第一个查询可能只使用一个表获取数据(也可能使用几个表),但是为了获得一个月的结果,它必须搜索很大的数据范围,然后对数据进行聚合(计数)以获得最终结果。
第二个查询与第一个相似,但是返回更多数据。
许多人认为DSS型查询都会返回大量数据。
但是,事实并非如此。
在前面的示例中,第一个查询是DSS查询,但是它只返回一行(实际上只有一个总数值)。
第二个查询返回大量数据,具体数量取决于拖欠信用卡债务的客户数量。
DSS查询的关键特征包括:
∙长时间运行;可能需要几分钟到几小时
∙资源消耗量更大
∙与查询条件匹配的行很多
∙可能要聚合大量数据(求总和、最小值、最大值、总数等等)
∙因为涉及很大的数据集,需要对表进行连续的扫描
DSS环境更接近只读环境。
尽管有时候必须把数据装载到系统中,但是通常采用批量装载,在此之后系统不进行更新,至少不会频繁地更新。
因此,不要根据查询返回的数据量判断它的类别,而是应该根据查询本身的关键特征来判断。
在设计数据库时使用的数据模型也非常重要。
IDS可以使用三种数据模型:
∙关系数据模型——典型的OLTP模型
∙对象-关系数据模型——通过使用IDS的可扩展性选项(扩展的数据类型、用户定义例程、用户定义类型、用户定义聚合等等),在关系数据模型中添加对象
∙维数据模型——典型的DSS数据模型,支持联机分析处理(OLAP)
尽管在当今的环境中一个数据库不一定是纯粹的OLTP或DSS,但是查明数据库的主要应用程序类型总是有好处的,有助于采用与之相匹配的设计路径。
许多数据库有两种类型的应用程序同时连接它们,为了适应这种情况,IDS提供了可配置的参数,帮助提高在同一数据库上运行的OLTP和DSS查询的性能。
回页首
用户
计划的另一部分是考虑用户需求。
基本问题包括:
∙需要为这个软件建立任何特殊用户或组吗?
∙用户从哪里连接数据库?
∙预计会有多少个用户同时连接数据库?
回答这三个问题不仅有助于数据库计划,还有助于确定硬件需求。
Unix/Linux上的IDS要求在安装机器上设置“informix”用户账户和“informix”组。
Windows上的需求要宽松一些,允许使用“informix”用户或一个本地系统用户和“Informix-Admin”组。
在Windows上安装时,可以选择要使用的用户账户。
在默认情况下,“informix”用户是IDS软件的“超级用户”。
它有权访问所有内容,可以用IDS软件做任何事。
IDS11.50使用外部用户身份验证,这意味着它不在软件内部设置用户,而是依靠其他软件验证用户的身份。
这个外部软件可以是运行IDS的机器上的操作系统身份验证机制、LDAP、MSActiveDirectory或PluggableAuthenticationModule(PAM)。
注意:
无论采用哪种身份验证方式,都必须记住一点:
需要访问数据库的所有用户都必须通过外部身份验证机制设置账户和密码,这样数据库才能对他们进行身份验证并允许他们访问数据。
连接的用户账户数量对于制定计划很重要。
正如前面提到的,在默认情况下,“informix”用户是IDS系统的“超级用户”。
但是,某些规范要求把管理员权力划分给多个用户,每个用户只具有一部分管理权限。
这称为角色隔离。
角色隔离是一种权力制衡机制。
IDS角色隔离把管理员权力划分为两类:
∙运行实例的人要执行的管理任务
∙审计实例活动的人要执行的审计任务
必须在安装软件时启用角色隔离,启用方法是在启动安装过程之前设置INF_ROLE_SEP环境变量,或者在交互式安装过程中启用它。
只能通过卸载/重新安装IDS软件禁用角色隔离。
角色隔离在Windows上使用用户账户,在Unix/Linux上使用组账户。
如果已经启用了角色隔离,安装过程会询问这些用户和组账户的信息。
角色隔离把管理员权力划分给三个用户:
∙DatabaseSystemAdministrator(DBSA)——控制实例的一般操作
∙DatabaseSystemSecurityOffice(DBSSO)——决定要审计什么
∙AuditAnalysisOfficer(AAO)——监视审计记录
还有几个用户虽然不属于角色隔离,但是可能需要为它们制定计划:
∙DatabaseAdministrator(DBA)——管理实例上的数据库
∙Operating-SystemAdministrator(OSA)——满足操作系统需求
∙SystemUsers——需要获得数据的任何用户
回页首
数据类型
在制定数据库计划时,应该熟悉可以用来存储数据的数据类型。
描述数据在数据库中的存储方式的最简单方法是用电子表格做类比。
您很可能使用过或见过某种电子表格程序(例如Microsoft®Excel®)。
电子表格组织为行和列。
同一列中的所有数据(垂直数据)通常是相似的,比如都是日期或金额。
列标题描述数据的含义。
同一行中的所有数据(水平数据)共同描述电子表格表示的一个对象。
在下面的示例(表1)中,电子表格描述XYZShoeStore的客户。
每一行描述一个客户的相关信息,每一列描述所有客户的某一概念。
对于每个客户,要存储姓名、年龄、鞋码、最后一次从店里买鞋的时间和这次交易中购买的数量。
表1.数据示例
Name
Age
Shoesize
LastTransDate
LastTransAmt
FredFlintstone
29
11.5
3/29/2009
$79.35
BarneyRubble
31
9
1/15/2009
$103.75
DinoFlintstone
7
16
11/26/2008
$129.95
数据库并不在电子表格中保存数据,而是在表中保存数据。
与电子表格一样,表也由行和列组成。
在定义表时,指定要保存什么样的列数据和每个列使用的数据类型。
数据类型限制列可以包含的数据的类型。
如果把列定义为整数数据类型,那么这个列就不能包含字母;它只能包含整数。
当应用程序开始在表列中存储数据时,添加表行。
每次存储一行数据。
表1中的示例有5列—第一列Name的数据类型是字符/字符串;Age是整数;Shoesize是小数;LastTransDate是日期;LastTransAmt是货币值。
既然已经了解了在什么地方使用数据类型,现在看看IDS中可用的数据类型。
可用的数据类型
∙内置数据类型
oBIGINT——从-(263-1)到263-1的整数
oBIGSERIAL——从-(263-1)到263-1的整数,由服务器自动地递增;有时候作为代理主键
oBLOB——二进制大对象,最大大小为4TB,用于以原生格式存储对象
oBOOLEAN——'t'或'f'值;可以在表达式中测试
oBYTE——BLOB的老版本,理论大小限制为231字节,实际限制由磁盘容量决定
oCHAR(n)——存储n个字符;如果长度小于n,那么用空格填充至n个字符
oCHARACTERVARYING(m,r)——与ANSI兼容的VARCHAR
oCLOB——字符大对象,最大大小为4TB,用于字符数据
oDATE——日历日期;默认格式为MM/DD/YYYY;可以通过DBDATE环境变量修改格式;指定一个时间点
oDATETIME——日历日期和时间;默认格式为YYYY-MM-DDHH:
MM:
SS.FFF;可以通过DBTIME环境变量修改格式;指定一个时间点
oDECIMAL(p,s)——小数值,其中的'p'是总位数,'s'是小数点右边的位数。
oNUMERIC(p,s)——与DECIMAL相同
oDOUBLEPRECISION——与FLOAT相同
oFLOAT——双精度浮点数,最多17个有效位
oIDSSECURITYLABEL——只由LabelBasedAccessControl(LBAC)使用的VARCHAR(128)
oINTEGER——从-(231-1)到231-1的整数
oINT8——从-(263-1)到263-1的整数
oINTERVAL——格式与DATETIME相同,但是指定一个时间范围
oLVARCHAR(m)——长度可变的字符字段,最大长度为m;只使用存储数据所需的空间,而且不超过m;在使用UDT时最大大小限制为2GB,否则限制为32K
oMONEY(p,s)——与DECIMAL相似,但是用货币字符进行格式化;默认字符是$和.,但是可以通过DBMONEY环境变量修改
oNCHAR(n)——存储固定长度的字符数据,但是包括使用GlobalLanguageSupport(GLS)存储由数据库地区决定的单字节和多字节字符集;还允许使用本地的整理次序
oNVARCHAR(m,r)——与VARCHAR相同,但是具有与NCHAR相似的特殊性质
oREAL——与SMALLFLOAT相同
oSMALLFLOAT——单精度浮点数,大约9个有效位
oSERIAL——从–(231-1)到231-1的整数,由服务器自动地递增;有时候作为主键
oSERIAL8——与SERIAL相同,但是数值范围为–(263-1)到263-1
oSMALLINT——从-32767到32767的整数
oTEXT——CLOB的老版本,最大大小为2GB
oVARCHAR(m,r)——长度可变的字符字段,最大长度为m(m不超过255),r是最小保留空间;如果存储的值的长度小于r,那么用空格填充至r个字符;如果存储的值的长度大于r但小于m,那么只使用存储数据所需的空间
∙扩展数据类型
o复合数据类型
▪ROW
▪COLLECTION
o用户定义数据类型
▪独特类型(Distincttypes)
▪Opaque类型
内置数据类型被认为是原子的,也就是说它们无法分割为更小的块。
每个内置数据类型都有独特的性质。
清单1给出一个使用内置数据类型创建customer表的示例(数据来自表1):
清单1.使用内置数据类型
CREATETABLEcustomer
(NameCHAR(55),
AgeINTEGER,
ShoesizeDECIMAL(3,1),
LastTransDateDATE,
LastTransAmtMONEY(5,2)
);
数据类型的可扩展性
因为内置数据类型不可能覆盖用户可能希望存储的所有数据的类型,IDS提供了扩展数据类型的功能,可以把内置数据类型组合在一起,也可以添加新的用户定义数据类型。
复合数据类型包含两类:
ROW和COLLECTION。
ROW数据类型就像是表中的一行,但是把这一整行放在一个列中。
因此,它包含多个由内置数据类型组成的部分。
它不是原子的。
可以为ROW数据类型指定名称,也可以不指定。
示例:
仍然以前面的XYZShoeStore为例,您希望存储客户的完整姓名—名、中间名和姓。
不必创建三个列,分别保存这三个部分,而是可以创建一个包含三部分的列。
COLLECTION数据类型实际上包括三种数据类型:
SET、MULTISET和LIST。
COLLECTION数据类型允许把相同数据类型的数据组一起存储在单一列中。
示例:
仍然以前面的XYZShoeStore为例,您希望存储客户喜欢的鞋子品牌。
不希望为此创建多个列,因为不知道需要多少个列。
一些人只喜欢一个品牌,而有的人喜欢四五个品牌。
所有品牌名都只是字符串,所以它们的数据类型相同。
对于这种情况,可以创建一个名为FavBrands的SET类型的列,它存储字符串数据。
这个列可以存储客户喜欢的任意数量的品牌。
然后,可以使用SQL选择在FavBrands列中包含Nike的所有客户。
这里选用SET类型是因为SET不允许集合中有重复的数据。
'Nike','Keds','Nike'这样的值是没有意义的。
MULTISET和LIST都允许重复的数据。
COLLECTION不允许Null元素,所以在定义COLLECTION时必须指定NOTNULL约束。
清单2给出一个使用ROW和COLLECTION类型创建customer表的示例:
清单2.使用ROW和COLLECTION
CREATETABLEcustomer
(NameROW(fnameCHAR(15),miCHAR
(1),lnameCHAR(35)),
AgeINTEGER,
ShoesizeDECIMAL(3,1),
LastTransDateDATE,
LastTransAmtMONEY(5,2)
FavBrandsSET(CHAR(10)NOTNULL)
);
修改之后,表数据像下面这样:
表2.示例使用的数据
Name
Age
Shoesize
LastTransDate
LastTransAmt
FavBrands
FName
MI
LName
Fred
F
Flintstone
29
11.5
3/29/2009
$79.35
Rockers,Nike
Barney
Rubble
31
9
1/15/2009
$103.75
Treadwear
Dino
T
Flintstone
7
16
11/26/2008
$129.95
Doggear
用户定义类型
尽管内置类型和复合类型能够覆盖用户可能希望存储的大多数数据,但是仍然有可能需要新的数据类型。
新的应用程序和技术带来新的东西,可能需要新的数据类型。
因此,IDS并不负责决定什么时候应该添加新的数据类型,而是让用户能够在需要时添加新的数据类型。
这些数据类型称为用户定义类型(UDT)。
用户定义它,告诉IDS如何与它交互。
这是一个非常棒的功能。
如果生活中的所有事情都这么容易,就好了。
实际上,这确实不太难;只需完成几个步骤。
本教程后面会详细讨论UDT和UDT的支持函数。
这里先简要介绍一下。
正如在前面的可用数据类型列表中看到的,第一种UDT类型称为独特类型(distincttype)。
简单地说,独特类型只是对一个内置数据类型的重新命名。
它继承内置类型的基本性质,但是不包括支持函数。
示例:
CreatedistincttypeShoesizeasDECIMAL(3,1)
因为shoesize定义为小数,所以它具有小数类型的存储性质。
但是,可以对小数值执行的操作对于shoesize值不一定都有意义。
例如,把两个shoesize相加求出另一个shoesize是没有意义的。
加函数(+)在IDS中是一个支持函数。
因为IDS不知道支持函数对于新定义的独特类型是否有意义,它会自动地在独特类型上禁用所有支持函数。
因此,也不能比较shoesize值和小数值。
值的比较也是支持函数。
尽管shoesize定义为小数,但是它们是两个不同(独特)的类型,不能相互比较。
如果要比较小数值和shoesize值,就必须先把其中一个值转换为另一个值的数据类型,然后才能进行比较。
所以您会问,“如果在这个新的‘独特’数据类型上不支持支持函数,那么它对我还有什么用呢?
”您想对shoesize执行一些特殊的操作,比如检查一个shoesize是否比另一个大。
这是一个不合适的例子,因为这里的shoesize是像一般小数值那样的递增值。
但是,假设shoesize中还要加入XS、S、M、L、XL和XXL值。
必须把shoesize由小数类型改为字符类型。
但是在这种情况下,如果要比较两个shoesize值,就不能再依靠一般的次序(在这里是字母表次序)。
如果依靠字母表次序,那么shoesize的次序会是L、M、S、XL、XS、XXL。
但是这不对,因为XS实际上是最小的。
无法依靠IDS的内置函数解决这个问题,所以需要一种替代方法。
IDS的替代方法是允许编写外部例程,然后可以在一般
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 部分IDS 计划和安装 部分 IDS 计划 安装