Oracle大型数据库系统在AIXUNIX上的实战详解 ch01.pdf

上传人:asd****56 文档编号:70350009 上传时间:2023-01-19 格式:PDF 页数:19 大小:1.16MB
返回 下载 相关 举报
Oracle大型数据库系统在AIXUNIX上的实战详解 ch01.pdf_第1页
第1页 / 共19页
Oracle大型数据库系统在AIXUNIX上的实战详解 ch01.pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《Oracle大型数据库系统在AIXUNIX上的实战详解 ch01.pdf》由会员分享,可在线阅读,更多相关《Oracle大型数据库系统在AIXUNIX上的实战详解 ch01.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 1.1.1 AIX 系统构成要素 在 AIX 中,模块化是其构架基础。通过把各功能及组件结构分离,AIX 具有了很高的灵活性。用户可以动态地添加额外功能、替换模块、删减无用构件,而无须对整个系统进行改造。作为一种商业化 UNIX 应用平台,AIX 结合了 System V 和 BSD 的诸多精髓,成为目前服务器平台极具竞争力的主流 UNIX。其主要模块符合 UNIX 的层次结构,具有如图 1-1 所示的属性。在如图 1-1 所示的结构中,Shell 用于为内核解释用户发出的命令(应用系统所发出的命令),而内核(Kernel)则是一组函数库,包含了一系列低级指令,用来控制计算机系统的运行。例如

2、,数据在系统中的移动操作、调度 CPU(处理器)中的任务、进程运行管理和虚拟内存资源管理等。提示:UNIXHPHP-UXSunSolarisLinux2.4/2.6ShellAIX 1内核、Shell 与文件系统 由于内核的复杂度和专业性,AIX 用户直接进行内核操作基本没有可能,都是通过使用 Shell 的交互或者 CDE 桌面环境,再通过内核把这些操作翻译成硬件能够理解和执行的指令,最后交由硬件执行。内核的运行完全在幕后进行,内核(AIX Kernel)本身就是一套程序,只是不属于用户运行的程序,且不会在任何进程列表中显示它是支持其他程序执行的程序。那么,内核是如何知道该为哪些用户执行哪些

3、工作呢?这就需要 Shell 了。当用户登录 AIX 时,AIX 就已经启动了一个服务于这个用户的 Shell。该 Shell 会把用户执行的命令解释成一组系统调用,或者说内核可以理解和执行的命令。所有的这些系统调用,是众多函数的集合,不能由用户直接使用,更不能用于交互式运行。通过系统调用这个抽象层的封装,AIX 系统不但实现了模块化的结构,也防止了用户直接访问内核,从而对系统造成破坏。因此我们可以这样总结:Shell 就是命令解释器。当我们发出 AIX 命令时,Shell 会解释为某种系统动作。例如,如果用户要启动运行 Oracle 数据库,Shell 会告诉内核,通过 I/O 子系统从硬盘

4、中找到 Oracle 二进制文件,读取这些 Oracle 二进制文件后将之装入内存。同时在物理内存中申请共享缓存区域(内存结构),调度 CPU 时间片段派生出Oracle 后台进程。然后,Oracle 数据库系统开始运行,并接管用户的数据库请求。不能将 Shell 仅仅看成一个命令解释器。Shell 本身由一种完整的编程语言构成。我们可以使用这个编程环境编写程序。通常我们称这些程序为命令脚本,它由多条 Shell 3 命令和程序控制结构组成,在 Shell 下作为一个程序单元运行。事实上,Shell 脚本用于控制系统中的大多数处理,从系统的启动到关闭。Oracle数据库中就有一段非常著名的传统

5、脚本“dbstart”和“dbshut”。这两个脚本分别用于Oracle 数据库的启动和关闭。另外,在 RAC 集群中,Oracle 也提供了一段新脚本“crs_stat”,可用于集群数据库系统的状态查看和状态管理。例如下面的 dbstart 脚本片段:#Starts a Database Instance startinst()#Called programs use same database ID export ORACLE_SID#Put$ORACLE_HOME/bin into PATH and export.PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/

6、etc;export PATH#add for bug#652997 LD_LIBRARY_PATH=$SAVE_LLP:$ORACLE_HOME/lib;export LD_LIBRARY_PATH PFILE=$ORACLE_HOME/dbs/init$ORACLE_SID.ora SPFILE=$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora SPFILE1=$ORACLE_HOME/dbs/spfile.ora echo echo$0:Starting up database$ORACLE_SID date echo .脚本化操作往往是我们对系统管理员的要求

7、把常用操作变成脚本,实现脚本化运行,一则保证正确性,二则提高工作效率。随着 UNIX 产品和技术的不断成熟,目前常用在工程环境下有若干种各具特色的Shell系统,并彼此有一定程度的区别。最普通的Shell也许就是Bourne Shell。Bourne Shell在系统中称为 bsh,具有相当大的灵活性和强大的功能。另外两种流行的 Shell 分别是Korn Shell(ksh)和 zShell(zsh)。这些 Shell 在语法上非常相似,但 ksh 和 zsh 都对 Bourne Shell 进行了改进,AIX 中默认的 Shell 为 ksh。在 AIX(或者说 UNIX)中,文件是操作系

8、统中极为重要的部分。站在 Shell 的角度,计算机系统中的任何一部分都是文件程序是文件,目录是文件,硬件也是文件!由于 Shell 把所有内容都看作为文件,因此一个有效管理的文件系统也就成了 AIX 中不可缺少的组成部分。内核、Shell、文件系统构成了 AIX 系统的主体。但仅有这些还是不够的,必须还要有能提供业务服务的应用系统才行否则要操作系统做什么!AIX 作为一种良好的服务器平台,可以运行数据库应用如 Oracle、Sybase 等数据库系统、SAP 等 ERP系统、Kinde 金蝶财务等应用系统。本书将讨论的就是如何在 AIX 系统上运行 Oracle 这个“应用系统”。4 提示:

9、UNIXLinux 2.4/2.6bshShellAIXLinuxbshAIX 2AIX 逻辑卷管理器(LVM)在传统的 UNIX 系统中,使用磁盘前,首先要根据预期的文件系统大小在磁盘上创建对应大小的磁盘分区,然后将文件系统建立在该分区上。由于分区创建时,一个分区必须占用磁盘内的连续空间,即从一个柱面到另外一个柱面,因此文件系统最大也不能超过其物理磁盘容量。再后来出现了磁盘链接技术,将不同的物理磁盘链接在一起,成为逻辑磁盘。在创建分区时,分区可以跨越多个磁盘。这种方法提高了磁盘的容量,不仅如此,系统 I/O 性能也因此获益,因为多磁头同时进行硬盘访问可以提高随机存取的速度。这在产品环节中通常

10、称为 RAID 存储方式。在目前稍具规模、略有高可用需求的数据库系统中,RAID 磁盘存储设备都是不可缺少的一分子!然而还存在其他问题生产系统中如果存储容量上还需要扩展(如扩大文件系统),则系统必须停止运行,通过重构分区的手段来进行分区扩容和文件系统扩容。一般采用的方法是备份该文件系统后删除分区,然后重构更大的分区,再重构文件系统,最后将数据装载回来。在此期间,所有应用系统的服务必须停止,这会给支撑关键业务的数据库系统造成很大的维护困难。AIX 系统完美地解决了这个问题。通过 LVM(Logical Volume Manager,逻辑卷管理器)一个介于应用与硬件之间进行存储管理软件层,文件系统

11、不再需要直接建立在磁盘分区上,而是可以建立在逻辑卷(Logical Volume)上。由于逻辑卷是一个指向若干物理分区(Physical Partition)的集合,因此,它可以跨越多个物理磁盘。站在逻辑卷的角度上看,其数据块是连续的。但站在物理磁盘角度,一个逻辑卷所包含的物理分区却是离散的。只要有空余的物理分区并将之添加到逻辑卷这个“集合”中,逻辑卷就得到了空间的扩充,如图 1-2 所示。图 1-2 物理磁盘到逻辑分区的映射关系 另外,应用程序对逻辑卷不进行直接的物理存储操作,只进行独立于物理设备的逻 5 辑分区存储操作。这些逻辑分区存储操作将由逻辑卷管理器(LVM)完成,LVM 将逻辑上的

12、存取操作提交给内核进行物理磁盘操作。当然,至于其内部如何操作,这是 LVM的事情,或者说属于 AIX 的知识版权,我们不必管它。因此,通过AIX 逻辑卷管理器的存储管理,诸多传统UNIX 存储方面的问题得以解决:逻辑卷可以使用不连续的物理空间,并且可以动态调整其容量。通过镜像技术,逻辑卷提供了数据访问的性能改善和关键数据的高可靠性。通过损坏数据块的映像重构,逻辑卷具有了自发检测和修复能力。通过支持 SMIT 工作环境,LVM 磁盘管理简单而快捷。提示:UNIXHP-UXAIXLinux 2.6 3日志文件系统(JFS/JFS2)作为一种主流 UNIX,AIX 同样提供了文件系统的功能。在 AI

13、X 中,创建在逻辑卷上的文件系统挂载在目录树上,用户可以通过这个目录树方便、快捷地管理文件并使用磁盘空间。这个目录树按照分层结构组织,形成一棵倒置的树。各种不同的程序模块在该文件树中按目录分组,形成 AIX 与其他 UNIX 类似的文件系统结构,如图 1-3 所示。图 1-3 AIX 文件系统结构 如图 1-3 所示,AIX 文件系统的最高层称为根目录,以“/”表示。其下的所有目录都被看成“/”下的子目录。子目录中既可以放置文件,也可以创建下一级的目录结构。系统启动后,文件系统的挂载情况如图 1-4 所示。6 图 1-4 AIX 中文件系统的挂载状态 注意其文件系统(vfs)类型。在 AIX

14、中,AIX 一般支持五种类型的文件系统:日志文件系统(Enhanced Journaled File System,JFS2),一种 AIX 本机支持的文件系统。日志文件系统(Journaled File System,JFS),一种 AIX 本机支持的文件系统。网络文件系统(Network File System,NFS),指通过 RPC(远程过程调用)允许文件保存在远程 NFS 服务器上。详细内容参见本书第 12 章中 Oracle 使用 NFS安装 RAC 的相关描述。CD-ROM 文件系统(CDRFS),允许 CD-ROM 的内容通过通用文件系统界面进行访问。GPFS 文件系统(CFS

15、),允许 AIX 集群运行环境中并发访问的集群文件系统(需要单独安装 GPFS Bundle),详细内容参见本书第 12 章中 Oracle 使用 GPFS 安装RAC 的相关描述。传统的 UNIX 系统并不能保证在系统故障后不损失文件,尤其在文件处于“动态”的变化中。AIX 集成了数据库日志技术,当文件发生更改后,首先在一个日志中记载文件结构信息的变化,然后再进行文件内容的变化。这个日志就是 JFS log,用于记录文件系统的结构信息(元数据)变化的日志。文件系统发生崩溃事故后(如数据不一致等错误),AIX 将使用这个日志来恢复文件系统。AIX 安装之初系统默认创建的文件系统日志设备(JFS

16、 Log)是逻辑卷/dev/hd8。当管理员后期创建新文件系统时,还可以创建其他的日志设备。这样,日志化的文件系统由于借鉴了数据库保护数据的技术,以日志形式记录了文件的变化,确保了系统在任何时候都能够维护数据的可恢复性。这就是 AIX 的 JFS。JFS2是 JFS 的增强版,JFS2 使 AIX 中的文件系统可以具有更大的容量和动态可管理性。提示:HP-UXJFSVeritasVxFSVxFS 7 HP-UXJFSJFS NFSCDFSHP-UX HP-UXHFSHP-UXOracle 11iHFS/stand HFS Linuxext2ext3 4系统管理界面工具(SMIT)对于熟悉 AI

17、X 的用户来说,也许 AIX 能让人过目不忘的,就是 SMITTY 这个简单的工具!SMIT/SMITTY,全称为 System Management Interface Tool,是 AIX 系统用于系统管理的工具环境。它以功能菜单的方式提供给 AIX 用户一个管理接口,以完成相应的系统管理功能。SMIT 工具有两种工作环境:ASCII 字符终端界面环境和 AIX 图形终端界面。使用ASCII 字符终端时,在#命令行环境下执行 smit 命令或 smitty 命令都可以进入到SMITTY 工具的主菜单。如果是图形终端,则调用 smit 命令进入图形界面的 SMITTY主菜单项,这里支持鼠标下

18、的操作。SMIT 工具简单易用,且菜单覆盖系统管理的绝大多数功能。如图 1-5 所示的SMITTY 备份功能菜单项,它涉及了 AIX 几乎所有的备份功能。图 1-5 AIX 中 SMITTY 菜单工具示例 SMITTY 不仅提供了直截了当的、简化的系统管理环境,还通过两个日志文件(smit.log 和 smit.script)记载了用户所做的所有 smit 操作。这就给了我们一条命令和脚本的生成捷径利用 SMITTY 脚本文件生成我们自己的脚本文件这何其方便!8 提示:UNIXHP-UXSAMLinuxYAST1-6SAMCDE 图 1-6 SAM 在 CDE 环境中的管理界面 从下一节开始,

19、我们将逐项浏览 AIX 的构成,进一步了解 AIX 系统。1.1.12 AIX 各种服务提供 Windows 系统中的“服务”应该是绝大多数计算机用户所熟知的一个概念。在Windows 中,服务标志着一个组件、一套应用、一套进程结构,如图 1-25 所示。图 1-25 Windows 中“服务”的启动关系设定 9 实际上,AIX 中也有类似的组成构件。随着 AIX 的启动,各种在 AIX 中定制的系统组、子系统、子服务也得以启动。AIX 中的子系统(Subsystem)就是一个通过控制系统进行操作的一个或一组程序或进程,用来提供一个指定的功能,例如 ypsery、dhcpsd、xntpd、in

20、etd、syslogd、sendmail 等。子服务(Subserver)是属于某个子系统的程序或进程,若干子服务构成子系统。子系统组(Subsystem Group)是若干相关功能的子系统集合,这是 SRC 中最高的一个层次。子系统组、子系统、子服务按照层次结构组织,构成了 AIX 的“服务”体系。例如,图 1-26 构造了一个子系统组 tcpip 及其包含的几个子系统,其中 inetd 子系统包含的若干子服务。图 1-26 AIX 中“服务”的层次关系 其层次结构信息存储在 ODM 数据库中。我们可以通过下面的 odmget 命令得到当前系统 SRC 层次结构。下面的命令将得到关于系统中子

21、系统的定义信息:#odmget SRCsubsys 下面的命令将得到关于系统中子服务的定义信息:#odmget SRCsubsvr 在 AIX 中,系统资源控制器(System Resource Controller,SRC)用来管理这些子系统,SRC 拥有若干命令,用来查看、关闭、启动、刷新子系统。例如,可以使用 lssrc-a 命令查看当前运行系统中子系统的活动情况,其中没有进程号的处于未启动状态:#lssrc-a Subsystem Group PID Status syslogd ras 233586 active sendmail mail 237684 active portmap

22、 portmap 241782 active inetd tcpip 188536 active snmpd tcpip 163986 active hostmibd tcpip 245880 active aixmibd tcpip 180326 active snmpmibd tcpip 200806 active 10 muxatmd tcpip 311460 active biod nfs 331946 active rpc.statd nfs 323744 active rpc.lockd nfs 295058 active qdaemon spooler 315550 active

23、 writesrv spooler 184486 active ctrmc rsct 131150 active IBM.ServiceRM rsct_rm 221300 active IBM.ERRM rsct_rm 250054 active IBM.CSMAgentRM rsct_rm 229558 active IBM.AuditRM rsct_rm 274630 active wsmrefserver 344132 active IBM.FSRM rsct_rm 303296 active IBM.HostRM rsct_rm 122962 active lpd spooler in

24、operative LUMlmd lumls inoperative LUMgdb lumls inoperative rwhod tcpip inoperative xntpd tcpip inoperative dpid2 tcpip inoperative dhcpcd tcpip inoperative dhcpcd6 tcpip inoperative ndpd-host tcpip inoperative ndpd-router tcpip inoperative tftpd tcpip inoperative gated tcpip inoperative named tcpip

25、 inoperative routed tcpip inoperative iptrace tcpip inoperative timed tcpip inoperative dhcpsd tcpip inoperative.#SRC 包含了一系列命令,系统管理员可以使用这些命令很容易地创建和管理各子系统。在 AIX 系统启动时,如果系统初始化配置文件/etc/inittab 中包含对/usr/sbin/srcmstr的调用,则在系统初始化时,SRC 守护进程自动启动。在一般情况下,/etc/inittab 中一定包含 SRC 的启动调用,所以无须手工启动 SRC。检查/etc/inittab

26、 文件就会发现 SRC 是否在启动序列中:#cat/etc/inittab:(#)49 1.28.2.11 src/bos/etc/inittab/inittab,cmdoper,bos530 2/19/04 11:22:58:IBM_PROLOG_BEGIN_TAG :This is an automatically generated prolog.:bos530 src/bos/etc/inittab/inittab 1.28.2.11 :Licensed Materials-Property of IBM :11 init:2:initdefault:brc:sysinit:/sbin

27、/rc.boot 3/dev/console 2&1#Phase 3 of system boot powerfail:powerfail:/etc/rc.powerfail 2&1|alog-tboot /dev/console#Power Failure Detection mkatmpvc:2:once:/usr/sbin/mkatmpvc/dev/console 2&1 atmsvcd:2:once:/usr/sbin/atmsvcd/dev/console 2&1 load64bit:2:wait:/etc/methods/cfg64/dev/console 2&1#Enable 6

28、4-bit execs tunables:23456789:wait:/usr/sbin/tunrestore-R /dev/console 2&1#Set tunables rc:23456789:wait:/etc/rc 2&1|alog-tboot /dev/console#Multi-User checks fbcheck:23456789:wait:/usr/sbin/fbcheck 2&1|alog-tboot /dev/console#run/etc/firstboot srcmstr:23456789:respawn:/usr/sbin/srcmstr#System Resou

29、rce Controller rctcpip:23456789:wait:/etc/rc.tcpip /dev/console 2&1#Start TCP/IP daemons sniinst:2:wait:/var/adm/sni/sniprei /dev/console 2&1 rcnfs:23456789:wait:/etc/rc.nfs /dev/console 2&1#Start NFS Daemons cron:23456789:respawn:/usr/sbin/cron piobe:2:wait:/usr/lib/lpd/pio/etc/pioinit/dev/null 2&1

30、#pb cleanup qdaemon:23456789:wait:/usr/bin/startsrc-sqdaemon writesrv:23456789:wait:/usr/bin/startsrc-swritesrv uprintfd:23456789:respawn:/usr/sbin/uprintfd shdaemon:2:off:/usr/sbin/shdaemon/dev/console 2&1#High availability daemon l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.

31、d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 l7:7:wait:/etc/rc.d/rc 7 l8:8:wait:/etc/rc.d/rc 8 l9:9:wait:/etc/rc.d/rc 9 naudio:boot:/usr/sbin/naudio /dev/null ntbl_reset:2:once:/usr/bin/ntbl_reset_datafiles rcml:2:once:/usr/sni/aix53/rc.ml /dev/console 2&1 logsymp:2:once:/usr/lib/ras/log

32、symptom#for system dumps perfstat:2:once:/usr/lib/perf/libperfstat_updt_dictionary/dev/console 2&1 diagd:2:once:/usr/lpp/diagnostics/bin/diagd/dev/console 2&1 ctrmc:2:once:/usr/bin/startsrc-s ctrmc /dev/console 2&1 dt:2:wait:/etc/rc.dt cons:0123456789:respawn:/usr/sbin/getty/dev/console ha_star:h2:o

33、nce:/etc/rc.ha_star/dev/console 2&1 tty0:2:off:/usr/sbin/getty/dev/tty0 orapw:2:wait:/etc/loadext-L/etc h1:2:respawn:/etc/init.cssd run/dev/null 2&1/dev/null#可以应用下面的命令进行 SRC 的进一步管理:startsrc 命令:向 SRC 发出请求,以启动一个或一组 subsystem,或者是一个subserve。stopsrc 命令:停止一个子系统的运行。如果一个后台进程用 startsrc 命令启动,则关闭时最好采用 stopsrc

34、命令而不是 kill 命令。refresh 命令:刷新一个 subsystem 或 subserver。当用户修改了某个子系统的配置 12(配置文件)时,则执行 refresh 命令使修改生效。lssrc 命令:获取某个子系统的状态,或者直接使用 lssrc a 命令获得全部的启动列表。提示:Linuxservice#service-status-all acpid(pid 4871)正在运行.anacron(pid 5049)正在运行.atd(pid 5058)正在运行.-crond(pid 5017)正在运行.cupsd(pid 4883)正在运行.-1.2.1 Oracle 与 AIX

35、的角色 Oracle 运行在 AIX 上,提供着数据的存储和管理服务。数据即信息,Oracle 数据库就是应用系统中存储数据信息的一个集中存储位置、一种存取方法的商品化实现。AIX是承载 Oracle 运行的底层平台,进行着 CPU 调度、内存调度、存储管理、文件管理、网络驱动等系统运行和维护工作。作为对应用系统的支持来说,数据库常用来存储三种不同类型的数据:常用类型数据,也称为标量数据类型,诸如表示名字、地址的字符、数字、日期等数据。复杂类型和大对象:诸如声音、视频、地理信息、图画、工程制图等非规范性数据。用户定义数据类型数据:用户根据自己的应用需要定义的数据类型,以及对应存储的数据。这些数

36、据存储在数据库中,支持着用户的数据请求和处理,典型操作有下面的三种:数据库加入、删除、更改,如图 1-28 所示。13 不仅如此,在生产环境下,数据库还必须以可靠的方式、可接受的速度、可以支持的多用户并发服务,执行上述所有这些操作。图 1-28 数据库的功能 因此,UNIX 系统是典型的多任务操作系统环境,往往是 Oracle 这样的大中型数据库的首选平台,例如 AIX、HP-UX、Solaris(Sparc)等。一般而言,在整体应用环境下,每套 UNIX 主机承担一组服务,例如 Oracle 数据库服务、Sybase 数据库服务、中间件(如WebLogic)服务、打印服务器、NFS 服务等,

37、如图 1-29 所示。图 1-29 数据库在应用系统中的作用 Oracle 往往处于整体应用环境中的中心节点位置,并以 AIX 作为其操作系统平台,以期使用 AIX 的处理能力:对使用 CPU 计算能力的支持;对内存调度上的支持;对存储的管理和使用的支持;对网络通信的支持;系统安全性的要求等。Oracle 运行在 AIX 上,申请了 AIX 物理内存区间的一部分作为自己的共享内存结 14 构,用于 Oracle 各进程间的 IPC 通信。Oracle 在 AIX 上派生的若干后台进程在 AIX 的调度下,提供着 Oracle 服务器的各种服务。Oracle 数据存储在磁盘介质上,依赖 AIX逻

38、辑卷管理器进行统一的管理和维护,如图 1-30 所示:图 1-30 Oracle 运行在 AIX 的系统架构 在生产环境下,数据库往往在一套独占的 UNIX 服务器上运行(或者是 RS6000 中独立的一个 LPAR 分区),这意味着数据库服务器系统不必顾及其他不应有的工作载荷,以及其他载荷会对服务器造成的工作压力。本书也将假设 Oracle 会在一套独占模式下的 AIX 中运行,这套环境可能是一个单节点的 RS6000 AIX5L/6 环境,也可能是一套 RS6000 的集群 RAC 系统或 HACMP 高可用环境。15 6.1 ASM 的基本概念 ASM 指的是一个在物理卷(或者磁盘分区)

39、上特别为 Oracle 数据文件而创建的“专用”文件系统。该文件系统由 Oracle 内核保存并维护,Oracle 知道数据所处的位置,并自动管理这些位置,进而获得适用于数据库的最高性能和最大可用性。管理员不需要知道和关心 Oracle 将这些区间(extent)放在磁盘上的什么位置,ASM 已经做好了所有的管理工作。通过 ASM,AIX 的卷管理(LVM 管理层)、文件系统(File System)管理都不再需要,如图 6-2 所示。图 6-2 AIX 中使用 ASM 的磁盘空间使用方式 如图 6-2 所示,系统中存在若干磁盘。其中一些磁盘将用于安装 AIX,成为rootvg 根卷组。另外一

40、些磁盘被设置成其他AIX 卷组,存放应用数据。除此之外,还有一些磁盘(右侧)被Oracle ASM 实例所管理,并划分为若干磁盘组(图6-2 中的磁盘组1 和磁盘组2)。Oracle 可以将 Oracle 的数据文件、控制文件、日志文件、归档日志等文件以 ASM文件的形式放置在 ASM 磁盘组中。每个 ASM 文件可能分别存放在多块 ASM 盘上,每块 ASM 磁盘上也有若干个 ASM 文件。采用 ASM 方式存储 Oracle 数据,是 Oracle 提供的一种存储管理方式。除此之外,Oracle 并不排斥采用 JFS/JFS2 文件系统(加 CIO 方式)的方式存储 Oracle 文件,或

41、者使用裸设备(LV 方式)方式,如图 6-3 所示。16 图 6-3 AIX 中 Oracle 使用磁盘空间的所有方式 在图 6-3 中,Oracle 使用磁盘可以有以下几种方式:把物理卷直接作为裸设备使用;把物理卷加到卷组,在卷组上创建逻辑卷,作为裸设备使用;把物理卷加到卷组,在卷组上创建逻辑卷,并在逻辑卷上创建文件系统,按照文件系统方式(JFS/JFS2)使用;把物理卷加到 ASM 磁盘组,在磁盘组上创建 Oracle 所使用的数据库文件。另外,对于某些 Oracle 的 NAS 认证设备,也可以采用 NFS 方式来放置数据库。16.1 AIX 支持的数据库 到目前为止,可以在 AIX 上

42、运行的数据库主要有如下几种:Oracle:在 AIX 上 Oracle 是一种相当主流的数据库系统。该系统以其超强的稳定性、可适应性、可移植性、大容量数据存储、大量并发用户访问而广受用户青睐;17 Sybase:AIX 也是其主流平台。Sybase 历来注重 IBM 平台上的产品研发和推广,也是一种支持超大数据量、多用户访问的数据库平台;IBM DB2:DB2 作为数据库技术的先行者,历来为关键用户所使用。大量的银行类系统数据宿主于 DB2 中,这足以证明其作为一种平台产品的可用性;其他数据库:如 MySQL、Sybase Adaptive Anywhere 等,作为中小型数据库系统为广大用户

43、所使用。由于诸多历史原因,IBM DB2 大多为行业用户所使用,Oracle 和 Sybase 是目前事实上的两种通用数据库平台。这两种数据库产品既为行业用户所使用,又是非行业用户的可选平台。本章将从这两种数据库的不同点着手,论述其结构的不同和工程实施上的差异。16.4 数据库物理存储 作为数据库服务器,Oracle 和 Sybase ASE(Adaptive Server Enterprise)都需要进行数据的存储,虽然它们有着不同的物理存储结构,但其共同点如下:图 16-4 Sybase Central 管理环境 18 Oracle、Sybase 都可以使用文件系统存储数据,都可以得益于

44、JFS2 文件系统的可靠性和可用性。Oracle、Sybase 都可以使用裸设备方式,都可以得益于 AIX 异步 I/O 的功能和裸设备的支持。因此,当这两种数据库使用 AIX 作为其平台环境时,其存储结构完全相同,如图16-5 所示。AIX 中的 LVM 软件 设置驱动程序 适配卡/通道 文件系统或裸设备 文件系统 或裸设备 Oracle 系统 Sybase 系统 rootvg:存放 AIX 系统 AIX 卷组:Oracle 系统 AIX 卷组:Oracle 系统 AIX 卷组:Sybase 系统 AIX 卷组三:备份卷组 图 16-5 Oracle、Sybase 基于 AIX LVM 进行

45、数据存储 Oracle 中具有如下几类数据结构:数据文件:存放数据库中的数据。表和索引是数据库用来存储数据的逻辑结构,数据文件即用来存放表和索引数据。日志文件:存放数据库操作日志的文件。整个数据库的运行过程被日志化,日志集中存放在日志文件中,用于数据库系统的数据恢复操作。控制文件:存放数据库物理结构和运行状态信息的文件,存储了数据库名、数据文件和日志文件名、数据库日志归档状态和系统备份状态等信息。Oracle 数据库由下列逻辑结构组成:系统表空间,用来集中存储 Oracle 的系统数据。临时表空间,用于数据库事务处理过程中的临时数据处理。用户表空间,用于存储用户的数据库对象和最终数据。19 还

46、原表空间(回滚表空间),用于存储事务操作过程的数据前映像,以应对用户可能的回退操作。Oracle 数据库的逻辑结构如图 16-6 所示。图 16-6 Oracle 数据库的逻辑结构 在 Sybase 中,Sybase ASE 使用逻辑设备来存储物理数据。逻辑设备在操作系统上表现为若干文件或裸设备。数据库创建在逻辑设备上。一个设备可以放置若干个数据库,一个数据库可以放置在若干个设备上。其结构示意如图 16-7 所示。图 16-7 中,每个逻辑设备映射了一个 AIX 操作系统一级磁盘文件(或裸设备),用于 Sybase 的数据存储。每个逻辑设备可以放置若干数据库。这些数据库包括:图 16-7 Sy

47、base 数据库的逻辑结构 20 master:整个 Sybase ASE 系统的核心,记录着可以控制 ASE 活动的配置信息和状态信息;model:创建新数据库的模板;sybsystemdb:用于分布事务管理(Distributed Transaction Manager,DTM);sybsystemprocs:放置用于系统管理的存储过程;tempdb:用来进行临时表、工作表的存储;sybsecurity:启动数据库审计后的审计数据存储;sybsystemdb:在分布式环境下存储数据库的分布事务信息;pubs2、pubs3:用来帮助用户学习 Sybase 的演示数据库;用户数据库:存放用户数据的数据库。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁