《DBA修炼之道:数据库管理员的第一本书》——2.2节安装DBMS-阿里云开发者社区

开发者社区> 华章计算机> 正文

《DBA修炼之道:数据库管理员的第一本书》——2.2节安装DBMS

简介:
+关注继续查看

本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第2章,第2.2节安装DBMS,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.2 安装DBMS
一旦选定DBMS,接下来就是安装了。安装DBMS并不像直接将CD放进光驱让软件自行安装(或者对于使用大型机的人来说,只是通过IEBGEBER从磁带复制)一样简单。DBMS是一种复杂的软件,需要前期规划安装才能成功。你将需要了解新的DBMS的需求并为之准备环境。
2.2.1 DBMS安装基础
第一次安装一个DBMS时,首先要做的就是了解安装的先决条件。每个DBMS都自带一本安装手册或指南,其中包含了DBMS正常运作必须满足的运行要求。这些先决条件包括:确保在用的操作系统的版本适当,确认有足够的内存来支持DBMS,并确保任何要使用的、与DBMS相关的软件都有正确的版本和维护水平。
从头到尾阅读安装指南。
一旦满足了基本条件,接下来就是从头到尾阅读安装指南。务必做到的是,在安装DBMS前就已经了解整个安装过程。安装DBMS前有大量的准备工作需要做,认真阅读以确保能够成功安装。审查DBMS的安装程序或例行程序是如何运作的,并遵从DBMS软件的安装指南中提供的明确指示。此外,初次安装时可能要与DBMS供应商密切合作,以确保你的计划是合理的。某些情况下,与本地的、有经验的供应商或顾问合作有助于避免安装和配置错误。
本节的其余部分将讨论一些DBMS安装前必需的常见准备工作。如果DBMS已经在运行,且你打算将其升级到一个新版本,请参阅2.3节。
2.2.2 硬件需求
每个DBMS都有基本的CPU需求,即满足DBMS运行所需的CPU版本和最低处理速度。此外,一些DBMS指定了所需的或不支持的硬件型号。通常情况下,CPU的标准将满足Intel环境的需要,但在大型机或企业服务器环境中,根据支持的DBMS功能不同机器型号会有所不同。例如,如果有可用的固件,某些机器的内置固件可以为DBMS所用。
根据需要选择正确的DBMS且硬件要与DBMS需求相匹配。
此外,每个DBMS为特定需求提供了不同“口味”的软件。(我使用了“口味”而不是“版本”或“发布”,表示同一DBMS的不同重复。)DBMS的不同口味(同一版本级别)对一些特定环境可用,比如,并行处理、普适计算技术(如手持设备)、数据仓库或移动计算。一定根据需要选择正确的DBMS,且硬件与DBMS的需求相匹配。
2.2.3 存储需求
DBMS需要磁盘存储来运行,不仅是为了创建存储数据的数据库,还因为数据库中定义的索引以及:
DBMS管理和跟踪数据库及相关信息所使用的系统目录或数据词典。计划创建的数据库对象越多,系统目录所需的存储规模越大。
任何DBMS所需的其他系统数据库,例如,支持分布式连接或管理的工具。
日志文件,记录每个数据库所做的一切更改,包括活动日志、归档日志、回滚段以及DBMS所需的任何其他类型的更改日志。
DBMS启动或初始化时必须访问的启动或控制文件。
DBMS为数据排序或其他处理需要而使用的工作文件。
默认数据库为DBMS系统结构所用,或者在新数据库对象创建时作为默认的垃圾桶。
DBMS(或访问数据库的应用程序)因瞬态数据而使用的临时数据库结构,瞬态数据即那些不需要长久但在操作过程(如Microsoft SQL Server重建集群索引)中需要保留存储的数据。
系统转储和错误处理文件。
用于管理、监控和调优的DBA数据库,例如,用于测试新版本、迁移脚本等的DBA数据库。
一定要考虑DBMS的每个存储需求并预留适当的存储空间。此外还请注意DBMS将同时使用其中一些数据库和文件结构。因此,计划使用多个存储设备是个不错的主意,即使不会全部使用它们的空间。合适的数据库和文件放置位置会使DBMS更有效地运作,因为访问数据时,并行活动不会受到物理磁盘的限制。
考虑DBMS的每个存储需求并预留适当的存储空间。
磁盘存储不是DBMS的唯一需求,一些任务如数据库备份和日志卸载还需要磁带或光盘(如DVD和CD)。活动日志写满时,要将日志记录卸载到磁盘或磁带上的归档日志,如图2-5所示。根据所用的DBMS和激活的功能的不同,这一过程可以是自动的也可以是手动的。归档日志文件必须保留以作恢复,即使最初是存储在磁盘上的,最终也要转移到外部的存储设备并妥善保管。


8d22eaf8a00309c8bd9dcad33514f8a3850a3654

计划维护多个磁带或CD/DVD光碟机,以使DBMS能够并发运行多个进程(需要外部存储),如并发数据库备份。而如果数据库备份工作单线程使用单一的驱动,可能会发生数据库中断。
2.2.4 内存需求
关系DBMS也喜欢内存,与其他数据库和应用程序一样。DBMS的基本功能需要内存且用于处理大部分的内部进程,如维护系统的全局区域以及执行大量DBMS任务。
为避免I/O,DBMS需要大量的内存以在内存结构中缓存数据。从磁盘存储设备读取数据通常比在内存中移动数据更昂贵且更慢。图2-6显示了DBMS如何使用称作缓冲池或数据缓存的内存结构来减少物理I/O请求。通过将读取进缓冲池的数据缓存,只要数据留在缓冲池,DBMS就可以避免由于对相同数据的后续请求而带来的I/O。一般来说,缓冲池越大,数据在内存保留的时间就越久,且整体的数据库处理执行得就越好。


2fad9865939fd99ca96c6bf3ac4949053c00b71c

除了数据,DBMS还在内存缓存其他结构。大多数DBMS预留内存用以存储DBMS处理数据库请求所需的程序结构。程序缓存存储的数据有“编译了的”SQL语句、数据库授权以及程序执行时需要的数据库结构块。一旦缓存这些结构,就可以优化数据库处理,因为可以避免从物理存储设备访问它们的那些I/O请求了。
DBMS需要内存通常是为了支持其他功能,比如,处理锁定请求、促进分布式数据请求、数据排序、优化进程和处理SQL语句。
确保DBMS有非常充足的内存供其使用,这有助于优化数据库处理以及减少潜在的问题。
确保DBMS有非常充足的内存供其使用。
2.2.5 配置DBMS
配置DBMS的系统参数可以控制DBMS以何种方式起作用,也可以控制提供给它的可用资源。每个DBMS允许以不同方式修改其系统参数,但在安装过程通常会以单选按钮、菜单或面板选择的方式来设置DBMS的系统参数。在此过程中,提供给安装脚本的输入将会用于建立系统参数的初始值。
每个DBMS还提供了一种方法,可以在DBMS运行时改变系统参数。
每个DBMS还提供了一种方法,可以在DBMS运行时改变系统参数。有时可以使用DBMS命令来设置系统的参数,有时则必须编辑包含当前系统参数设置的文件。如果必须编辑文件,一定要非常小心,因为一个错误的系统参数设置对DBMS的运行状态可能就是致命的。
那么系统参数是控制什么的?举两个例子,系统参数控制着DBA对DBMS的授权以及活动的数据库日志的数量;系统参数设置用于数据和程序缓存的内存大小,并打开或关闭某些DBMS功能。尽管每个DBMS都有系统参数来控制它的功能,但每个DBMS设置和改变值的方法却不尽相同。并且,实际上每个DBMS通过使用系统参数来设置的参数也不同。
安装数据库系统软件时,谨防一味地使用默认系统参数。尽管这么做会节约时间从而使安装变得更简单,但这可能会导致后续问题。从长远来看,大多数DBMS使用默认设置的表现不佳,并且在某些情况下性能还可随时间恶化,因为在安装或设置时没有预先分配资源。
一定要充分了解你的DBMS所使用的参数,否则可能导致数据库环境配置不当,进而导致性能问题、数据完整性问题,甚至DBMS失败。
2.2.6 连接DBMS与基础设施配套软件
DBMS安装过程的部分内容是将DBMS和与之相互作用的其他系统软件组件连接起来。典型的基础设施软件可能需要进行配置才能与DBMS一起工作,包括网络、进程监视器、消息队列、其他类型的中间件、编程语言、系统管理软件、运营与作业控制软件、网络服务器和应用程序服务器。
每款基础设施配套软件与DBMS配合的需求都不尽相同。
每款基础设施配套软件与DBMS配合的需求都不尽相同。典型的配置过程可能包括安装DLL文件,创建新的参数文件以建立连接,并可能重新访问配套软件的安装程序来安装与DBMS交互所需的组件。
2.2.7 安装验证
DBMS安装完成后,还应该进行电池测试以验证DBMS是否已经正确地安装和配置。大多数DBMS供应商都提供了用于此目的的示例程序和安装验证程序。此外,你还可以通过测试DBMS的标准接口来确保正确安装。大多DBMS所支持的标准接口是一个互动的SQL接口,通过它可以直接向DBMS提交SQL语句。
创建一组由SELECT、INSERT、UPDATE和DELETE组成的SQL代码,并针对样本数据库发出。安装完成后运行这样的脚本有助于验证DBMS安装是否正确,能否如预期般操作。
此外,一定要验证配套支持软件的所有必需连接都能够运行且运转正常。如果DBMS供应商没有提供示例程序,你可能需要为每个环境创建并运行简单的测试程序以确保配套软件的连接都可以和DBMS一起正常工作。
2.2.8 DBMS环境
一般来说,安装DBMS涉及的不仅是安装一个实例或子系统那样简单。为了支持数据库开发,DBA需要创建多个DBMS环境,例如,测试、质量保证、集成和生产工作。当然,在同一个DBMS实例中支持多个环境也是可能的,只是此做法不慎重。安装多个DBMS要好于单个数据库支持多个开发环境,这最大程度地减少了迁移问题,也不需要复杂的数据库命名约定。此外,分离数据库实例使测试、调优和监控变得更简单。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《游戏设计师修炼之道:数据驱动的游戏设计》一3.5使数学知识保持简单
本节书摘来华章计算机《游戏设计师修炼之道:数据驱动的游戏设计》一书中的第3章 ,第3.5节,(美)Michael E Moore著 傅鑫陈征戴锋等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
736 0
云时代下的数据库存储——运筹帷幄的阿里云数据库MongoDB
2018年1月17-25日,NoSQL数据库直播大讲堂峰会顺利结束,阿里云数据库团队为大家带来了一场别开生面的知识盛会,给大家带来深度的数据库技术及产品分享。本文是《ApsaraDB for MongoDB》演讲整理,主要讲解了阿里云数据库MongoDB全面的产品体系介绍以及阿里云数据库MongoDB在备份、监控、安全等方面所做的一些优化细节的具体剖析。
6673 0
《游戏设计师修炼之道:数据驱动的游戏设计》一3.7逻辑和脚本语言
本节书摘来华章计算机《游戏设计师修炼之道:数据驱动的游戏设计》一书中的第3章 ,第3.7节,(美)Michael E Moore著 傅鑫陈征戴锋等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
954 0
《游戏设计师修炼之道:数据驱动的游戏设计》一导读
视频游戏行业在过去十年得到了爆炸性增长,并且现在是家庭娱乐的主要提供者。自从NES(Nintendo Entertainment System,任天堂娱乐系统)于1985年发布了北美版本以来,根据市场研究公司NDP Group的调查研究,游戏行业的收入得到了显著增长,其中2009年在美国的总收入中差不多达到了200亿美元。
1175 0
《游戏设计师修炼之道:数据驱动的游戏设计》一3.6通过算法定义玩法
本节书摘来华章计算机《游戏设计师修炼之道:数据驱动的游戏设计》一书中的第3章 ,第3.6节,(美)Michael E Moore著 傅鑫陈征戴锋等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
948 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载