知识大全 OracleDBA如何管理DB2
Posted 数据库
篇首语:道德可以弥补能力的不足,能力却难以掩盖道德的缺陷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 OracleDBA如何管理DB2相关的知识,希望对你有一定的参考价值。
OracleDBA如何管理DB2 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
简介
当今IT的环境正经历著剧烈的变化 依靠单一的关系型数据库管理系统(RDBMS)管理数据的公司开始逐渐减少 分析家的报告指出 今天超过 %的公司都拥有不只一种RDBMS 在现在紧张的经济情况下 实际的需求正在挑战IT机构人员的工作极限 一个公司为管理每种RDBMS而配备不同DBA的情况 越来越少见了 今天的DBA必须跨平台管理不同的RDBMS 这是非常普通的事
%的DBA被要求管理一种以上的数据库平台
―――来自 的调查
通常 一个DBA不但掌握基本的关系理论知识 同时具备一种专门的RDBMS经验 数据库设计和管理的基本原理在所有RDBMS之间是相通的 成为一名成功的跨平台的DBA 关键是掌握对术语的真正理解和不同RDBMS的细微差别 本文将讨论多平台的Oracle和DB UDB之间的基本架构和管理的差异
基本组件
在不同平台之间 大部分的对象类型和功能是非常相似的 一些很重要差异是存储过程的使用方式和日志生成方式 本文将详细讨论这些主题
表 基本数据库组件中的常用术语的差异
产品选项
当在安装任何一种数据库时 需要选择版本 为了满足你的 IT需求并做出正确的决定 了解各个数据库版本之间的差异是很重要的
Oracle g Enterprise EditionStandard EditionExpress Edition
企业版是使用最多的版本 如果你想使用OEM附加包 这个版本可以满足需要
DB UDB for Linux/Unix/Windows(LUW) V 数据仓库版企业服务器版(ESE) 工作组版简化版个人版通用开发版个人开发版
在DB UDB V 之前 在公司环境方面你有两种选择 企业版(Enterprise Edition EE)和扩展企业版(Extended Enterprise Edition EEE) 他们一般被分别称为Double E和 Triple E EEE是并发式服务器类型环境 与Oracle中的RAC很相似 它通常是被应用于巨型数据仓库的安装 IBM把这些底层代码和V 融合到一起 就是现在大家知道的企业服务器版(ESE) 数据分区部件(DPF)是一个可供数据库分区使用的附加部件 这使得系统从EE类型的环境到EEE环境的迁移工作变得很容易
数据类型
甚至每个品牌的数据库存储的数据格式都是不一样的 这对那些被分配在一个不熟悉的数据库上工作的DBA和开发人员来说是十分头疼的
下面的表说明了数据库之间不同的数据类型
数据字典/编目
这两个RDBMS将与数据库相关的元数据存放在一组相关的表中 这些表在ORACLE中被称为数据字典 在DB 中被称为系统编目(System Catalog for DB )
ORACLE在SYS模式中有一组数据字典的基本表 在这些基本表上面定义了一组存储系统信息和对象信息的视图 一组视图 即V$视图 可以访问动态性能信息 属于对象的静态信息可以从以ALL_ DBA_ 和 USER_开头的视图中获得
在DB 中 每个数据库包含的SYSIBM模式中 有一组基本表称为系统编目 在SYSCAT模式中 对象信息通常能在这些表之上定义的一组视图中获得 此外 DB 在SYSTAT模式中提供了可更新的和主要用于操作访问路径的一组视图
访问数据库
每一个数据库供应商都自己提供一套唯一工具 来访问和管理他们自己的数据库
Oracle 企业管理器(OEM)
OEM提供了一些基本的数据库管理功能 想使用更多高级的功能 必须购买附加的包
变更管理包 诊断包 调整包 恢复管理包 SQLPLUS 基本命令行接口
IBM控制中心(CC)
控制中心规定了基本的数据库管理的特征 比如创建/删除对象 工具/命令生成 以及一些接口 Command Center Script Center Visual Explain
IBM健康中心(HC)
从DB LUW V 开始 IBM就引入了自主计算思想 这是一个 自我修复 数据库中的概念 自主计算的概念还处于早期发展阶段 而健康中心允许你在数据库中为各种不同性能度量值定义阈值 如果超过阈值会自动报警
相同的术语 不同的含义
管理不同类型的数据库的第一步就是要了解各个供应商使用的不同的术语 在很多情形下 相同的术语的含义或者稍有不同或者完全不同
举例
存储过程 Oracle 它是用基于SQL的一种专门语言PL/SQL编写的 存储在数据库中的一个程序 DB 存储过程是一种最普通的程序 存储在数据库外部 并在数据库中注册 以标准编程语言编写 比如C JAVA COBOL等 DB 同样支持内部的存储过程 并提供了一种基于SQL的专门的过程式语言
包Oracle 一组PL/SQL语句块DB 一种预编译的访问计划
段(Segment)Oracle 是一个物理对象 比如表或索引DB 表空间中的一组页面
不同的术语 相似的含义
对于大部分而言 每种类型数据库都包含很多相似的组件 但它们命名不同 实现也不同
实例(Instance)&数据库
大家知道每个DBMS的物理安装就是一个实例 然而 各自处理数据库的方式是明显的不同
两个DBMS都把实例定义为一组进程 然而 DB LUW 允许一个或多个活动的数据库 Oracle每个实例仅仅只有一个数据库 在Oracle中 通常实例和数据库是可以互换的概念
实例定义的差异
图
存储管理
从逻辑观点上来看 Oracle有一个包含多个表空间的数据库 表空间包含多个段(表 索引 回滚等) 还包括由多个数据库块组成的扩展(Extent) 从物理意义上看 数据文件被分配给表空间 这些数据文件是由O/S块组成
DB 有两种不同的分配方法来定义表空间 它们一种是数据库管理的空间(DMS) 另一种是系统管理的空间(SMS) 根据应用程序 它们各有优势
SMS(System Manages Space) 系统管理空间允许操作系统根据需要为表分配空间 不指定空间参数 这种方法对于存储管理来说非常容易 对于较小的表或短时间增长和收缩的表都是有利的
DMS(Database Managed Space) 当表空间被创建时 数据库管理空间需要详细的空间说明 通过表空间 存储空间可以马上被分配和保留
对象比较
缓冲池
两种数据库都使用内存来做数据和对象定义的读写优化 这些被涉及到的内存区域被称为缓冲区或高速缓冲存储器 虽然使用方法是一样的 但在结构方式的定义和分配上是不一样的
在Oracle中 缓冲池是在数据库启动文件init ora中被定义的 这个文件可以动态地改变 它有下面的选项来定义不同的缓冲池 默认 循环 固定
在DB LUW中 缓冲池是在数据库中定义的 并可创建为指定的页面大小 K K K 或者 K 它们是通过DDL来定义的 不同的表空间被分配不同的缓冲池
数据库
两个数据库管理系统处理数据库的方法是完全不同的 在Oracle中 你只有一个数据库 它包含所有的数据文件 重做日志文件 控制文件等 在DB 中 你可以一个实例有多个数据库 然而 每个数据库是独立拥有它的实体的 每次一个新的数据库的创建都会有相应的编目被创建 以及缓冲池和日志文件被定义 数据库之间没有任何共享 在DB 数据库中有三个表空间将被创建
SYSCATSPACE 系统编目 TEMPSPACE 临时表空间 排序等 USERSPACE 应用数据的默认表空间
表空间
Oracle 在Oracle中 你要处理两类表空间 系统的和非系统的 系统表空间包含数据字典和系统回滚段 非系统表空间包含和应用程序相关的所有东西 回滚段 临时段 应用数据 以及应用索引 这些非系统的表空间也可以分两种类型 永久的 用于所有对象 比如 在UDB中的USERSPACE
临时的 用于排序 临时工作区等 像在UDB中的TEMPSPACE
DB 在DB 中 存在三类表空间 Regular 主要是一般常用的应用数据 Temporary 排序 Large LOBs CLOBs BLOBs
表
从用户或者程序本身的角度来看 表就是表 不管数据库类型的事 然而 从DBA的角度来看 对他们的操作有很大差异
Oracle允许在一个表空间中定义一个或多个表 并且表和索引是相互独立的 除非是在IOT(Indexed Organized Table)这种特殊表的类型下 这种情况下 索引的叶子页面将包含表的行数据 在Oracle中在表上可以定义许多种不同类型的索引 包括唯一的 不唯一的 分区的 基于功能和位图 其中除位图索引外 在Oracle中所有的索引实际上都是由根结点 分枝和叶子页面组成的标准B 树
DB UDB允许在同一个表空间定义一个到多个表 而且它的索引是直接关联在表定义上 实际上 表定义说明了该表上定义的所有索引所在的表空间
DB 有三种类型的索引 唯一 不唯一和簇集
对DB 来说 簇集索引是会影响表中行的排列次序 这与Oracle中的簇集是完全不同的 DB 也是用标准的B 树结构来做索引的
管理的差异
优化
为了保证数据库高速的运行 SQL优化是很重要的一部分工作 每个数据库都有它们各自不同的SQL优化器 其确定如何从数据库中检索数据满足查询的方式各有不同
Oracle 你可以选择使用rules based 或者cost based来做优化 然而 你必须注意rules based优化在 g版本中已经没有了
DB IBM的优化比Oracle更高明 这已经历了很长时间的争论 DB 的优化是严格地使用cost based来做的 对于复杂的查询 你也有为它指定优化级别的选择权
此外 Oracle和DB 都可以通过EXPAIN命令在相关的表上增加包含访问路径信息的行数据 Oracle利用Plan_Table 这和运行在z/OS上的DB 很类似 DB 的解释输出包含在七个表中 记录非常详细
每一个供应商都会为这些访问路径信息提供格式化的工具 Oracle在OEM中有基本解释工具 或者你也可以使用OEM中调整包里的SQL分析功能 DB 则通过控制中心提供了易使用的Visual Explain
并行
并行这个概念在这些平台上有很大不同 Oracle中的并行需要特殊的硬件配置 开始于其产品Oracle Parallel Server(OPS i) 后来 i版本中变成RAC 这里Oracle中并行的概念与在DB z/OS中的SYSPLEX并行的概念非常相似 DB 的并行要求要使用带DPF(数据分区部件)的ESE(企业服务器版) 它们有两种不同的配置
MPP(大规模平行处理) 多台机器组成集群 每一台机器都有各自单独的处理器 SMP(对称多处理) 一台机器上有多个处理器
监控
为了保证应用程序的请求能及时得到响应而不延迟 监控数据库性能的任务也是必要的
Oracle 它提供一套性能动态视图工具 我们通常所说的V$ Views 标准SQL通常用于数据库性能信息的监测 比如内存 硬盘空间使用情况 用户和会话信息以及锁等
DB 它提供了两种不同的监控选项 第一 快照监控 顾名思义 它提供某一时刻性能的信息 大量被收集的数据被 个系列的监听器所控制 事件监听 通常是用于特殊事件的跟踪 比如死锁或完成的事务 事件监听是一种实际的数据库对象 它必须要通过DDL来创建 事件监听的输出会写到一个目录或者指定的通道
工具
每一个数据库都有它们各自的命令和工具集 用来操作数据库中的数据
( )重组数据
Oracle 它给你重组数据以很多灵活性 你可以使用Import/Export命令来实现 或在 i企业版里使用Online Redefinition Package(在线重定义包)进行联机重组 DB 你可以重组一个表或者一个索引 也可以使用一个很不错命令REORGCHK 这个命令将产生需要重组的表的报告
( )装载数据
Oracle 将数据导入表中可以使用SQL*LOADER 它有很多选项 比如 插入 追加 替换数据 多个输入文件等等 DB 对于DB 来说 DBA有两个选择来导入数据 装载工具或者导入命令 装载工具一般用于装载大量的数据时使用 而导入命令则有益于快速地做插入少量的数据的操作 无论是导入命令还是装载工具 它们都提供添加或替换数据的选项
备份和恢复
做备份和恢复的策略计划是DBA的关键职责 根据其运行的具体应用 每一个数据库都有很不同的需求
第一个决定是使用日志文件的方法 你的应用程序需要时间点的恢复吗?如果是 对于Oracle来说 你可以选择Archive mode方式的日志 对于DB UDB而言 你可以选择Log Retain 如果你的应用程序没有问题 只是想恢复到最近的备份 在Oracle中你可以选择No Archive mode 对于DB UDB 你可以选择Circular logging(default)
( )备份类型
Oracle 冷备份 是指数据库在离线的情况下做整个数据库的备份 包括 数据文件 控制文件 在线重做日志文件 Init ora 热备份 是指联机情况下做的备份 RMAN 恢复管理器 导出数据库
DB 数据库 在线/离线表空间
( )恢复类型
Oracle 实例恢复 从失败的实例中用重做日志来恢复非归档模式(整个数据库的恢复)归档模式(基于时间点的恢复)导入 逻辑恢复
DB 崩溃—从异常终止或突然断电中用日志来恢复前滚—映像拷贝+日志或本地时间(V )版本 使用映像拷贝导入/装载 逻辑恢复
还要做很多其他决定 如备份的类型和频率 逻辑备份还是物理备份 备份文件保留多长时间 用户是否会中断备份等 每个数据库都应该就所有的这些问题有个明确的程序 这与应用和操作环境有关
结束语
管理数据库是一件复杂而又很费时间的工作 DBA越来越多地被要求管理各种关系型数据库 可能来自不同的厂商 可能运行在不同的操作系统上
cha138/Article/program/Oracle/201311/18529相关参考
知识大全 OracleDBA讲座笔记 -oracle运行环境准备
OracleDBA讲座笔记-oracle运行环境准备 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
OracleDBA数据库日常维护完全手册 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Ora
知识大全 OracleDBA新手经常碰到的10个Oracle错误
OracleDBA新手经常碰到的10个Oracle错误 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 ORACLE DBA常用SQL脚本工具-管理篇(1)
ORACLEDBA常用SQL脚本工具-管理篇(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DB2大事记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!正在看的db2教程是:DB2大事记。
正在看的db2教程是:db2v8的pdf文档资料。db2v8的pdf文档资料 下载地址: ftp:///ps/produ...vr8/pdf/letter/ 文档资料说明
DB2常用傻瓜问题1000问(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!正在看的db2教程
DB2常用傻瓜问题1000问(五) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!正在看的db2教程
DB2使用经验备忘 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安装DB后可以通过命令窗口这样
DB2:信息管理尽在掌握 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在DB迎来第个周年庆典之