您的位置:首页 > 数据库 > Oracle

Pro Oracle Database 11g RAC on Linux 读书笔记2

2013-07-10 14:40 447 查看

ASM管理

        ASM 开始被设计用来减少管理开销。DBA 可以进行一些存储相关的任务而不用找存储管理员帮忙。但这并不意味着存储管理员或者系统管理员已经变得多余了;他们在管理RAC 集群的过程中仍会执行必需的任务。 只是各种管理员之间的工作现在变得更紧密了。 对很多站点来说,ASM 可以成为LVM的替代品。 ASM 也可以实现冗余,用来代替昂贵的外部RAID存储。但是这些站点中的大多数仍在使用外部冗余,并依赖于存储阵列来避免单个磁盘的故障。

        然而,经验告诉我们对于很多大型用户来说,ASM 可以提供的便利很少, 因为其存储管理的复杂程度,同时相关的网络基础架构仍然需要专业的知识。 大多数用户仍需要存储管理员去管理遗留下来的运行在文件系统或非Oracle存储上的Oracle数据库。在Oracle 11.1及其以上版本,DBA和存储管理员的角色在ASM内部被分开,这就允许在需要时某些职责可以分配给不同的组甚至组织。

        ASM 通过把拥有相同特性的磁盘分配给磁盘组来简化大数量的磁盘管理。在ASM中, 基本的管理单元通常是磁盘组。

        ASM 可以进行条带化和镜像,来提供增长的可靠性和性能。默认ASM可以实现两路镜像也就是保存一份数据的备份来提供容错,对于重要数据的话,ASM可以提供三路镜像。如果在存储层已经提供了镜像功能或实施了RAID, 那么ASM可以利用这些特性。

        ASM 自动条带化数据到磁盘组中的所有磁盘来提供IO性能。 默认的条带大小由数据库文件的类型决定。ASM 针对在不同磁盘上的文件可以提供有限的负载均衡。 重平衡操作会在磁盘组添加或删除磁盘时把文件的extents分布到磁盘组中的所有可用磁盘上去。 重平衡的目的是消除物理磁盘热点。 在Oracle10.2 及以上版本中,重平衡操作可以手动管理。

ASM和RDBMS支持

         ASM 的很多功能都是由RDBMS内核实现的。如果您想要使用11.2里的全部新特性,您需要升级ASM和RDBMS到11.2,而不仅仅是升级ASM组件。同时您还需要提高ASM 磁盘组的兼容性级别。

        ASM 支持从Oralce10.1开始的所有RDBMS。ASM的版本需要比RDBMS高或相同。如果ASM和RDBMS的版本不同,那么只使用旧版本的功能。在Oracle10.2 及以上,ASM 支持不同版本的数据库同时存在。比如,Oracle 11.2 ASM支持在同一个集群中运行着11.2和10.2俩个版本的数据库。

        Oracle11.2之前,clusterware的版本必须大于等于ASM的版本。在Oracle11.2,ASM被集成到Grid Infrastructure中,和clusterware共享一个Oracle Home。以后的补丁集中会包含这两个组件的补丁。也不用讨论每个RAC节点有多少ASM实例---使用Grid Infrastructure,就只有一个。Grid Infrastructure的补丁会应用到其中的所有组件,包括ASM,ACFS,Clusterware。

        在Oracle10.1中,ASM和RDBMS共享一个Oracle Home,从Oracle10.2到11.1,Oracle推荐把ASM安装到独立的Oracle Home里,在升级时提供更好的灵活性。对很多用户来说,分别安装到两个Oracle Home里并不是强制的,特别是那些跑着小型数据库的用户。对于内存资源有限的系统,在一个Oracle Home里运行ASM和RDBMS可以显著的减少内存消耗,因为只有一个版本的Oracle可执行文件被加载。从Oracle11.2 开始,由于Grid Infrastructure的引入,ASM和RDBMS的分离是强制的。和早期版本不同的是,Grid
Infrastructure用一个Oracle Home包含ASM和Clusterware。

ASM 安装

        在Oracle11.2, ASM和Clusterware一起集成到Grid Infrastructure中。他们一起被安装。

        我们推荐您在集群中的每个节点用本地存储来放置Grid Infrastructure Home。 这虽然会多耗费一点空间,理论上也会加大管理开销。然而,实践中,大多数用户会发现本地Oracle Home会提高灵活性, 也就最终提高了可用性。从10.1.0.3开始,Oracle Clusterware的滚动升级成为可能。 在Oracle11.1及以上版本,ASM的滚动升级成为可能。滚动升级允许单独的节点升级同时不影响集群中的其他节点。Clusterware的滚动升级已经证实可以在生产环境升级时减少停机时间并最小化升级危险。共享的Oracle
Home就会限制这种灵活性,因为我们推荐使用本地Grid Home。

        在早期运行2.4内核的Linux中,我们推荐使用ASMLib。随着udev系统在2.6内核的引入,管理员有了其他选择(ps:很多人已经不推荐使用ASMLib)。第六章谈论了第三种选择(随后去看,呼)

ASM组件和概念

         ASM包含SM实例,故障组和ASM文件这些主要组件。

ASM实例

         为了在RAC集群中使用ASM,每个RAC节点上必须运行一个独立的ASM实例。ASM实例维护ASM磁盘组元数据并对数据库实例提供支持。ASM实例需在数据库实例启动前启动。如果ASM实例停止运行,所有以此ASM实例的客户数据库实例都会停止运行。ASM实例也处理添加删除磁盘以及重平衡操作。

         数据库实例和ASM实例进行通信来获取存储在ASM上文件的信息。但是,ASM实例不直接为应用程序执行IO操作。应用程序IO还是由数据库实例的服务器进程和后台进程来完成的。ASM实例只在进行重平衡时进行IO。

        ASM实例就是数据库实例的无修饰版。实例类型由INSTANCE_TYPE决定(RDBMS或ASM)。

        你可以连接到一个运行的ASM实例并查询V$和X$视图。不像数据库实例,ASM实例不能加载或者打开一个数据库。相应的,它也就不能访问数据字典----ASM实例没有持久化的信息存储,没有属于它的数据文件。因为它不支持对DBA/ALL/USER视图的查询。

        在Oracle 10g,连接到ASM实例需要SYSOPER或SYSDBA权限。在Oracle11.1,SYSASM权限被引入,允许为存储管理员和DBA定义一个单独的组。在Oracle11.2 ,您必须拥有SYSASM权限才能进行大多数的ASM管理任务。SYSOPER权限可以启动关闭ASM实例,加载、卸载、检查、离线磁盘组,访问ASM动态性能视图。SYSASM权限除了可以进行SYSOPER的操作外,还可以创建磁盘组,添加、删除磁盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle RAC ASM Linux