热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Oracle11gRAC+ASM安装前存储规划注意事项

关于Oracle数据库性能优化,最好从什么时候开始更合适呢?,根据自己几年下来的实际经验,我想从安装前的存储规划开始最好。存储

关于Oracle数据库性能优化,最好从什么时候开始更合适呢?,根据自己几年下来的实际经验,我想从安装前的存储规划开始最好。存储

关于Oracle数据库性能优化,最好从什么时候开始更合适呢?,根据自己几年下来的实际经验,我想从安装前的存储规划开始最好。存储规划并不是说偏要采用技术最先进的而是要采用最合适业务需求的,先说总体原则:

1、数据文件、备份文件、归档日志文件存放位置分离原则,最好分别放到不同磁盘组,而不是同一个磁盘组的不同Lun,但这种方式缺点就是每个磁盘组都需要一块儿热备盘,空间浪费比较严重;

2、如果是读写频繁的OLTP系统,对数据文件和归档日志文件存放的磁盘组,最好采用Raid1+0,这样可以保证读写都很快。在线日志文件(online redo logfile)和控制文件同时双份放到数据区和归档区,在保证读写性能的基础上可以提高可用性和可恢复性。对备份文件所存放的磁盘组可以进行Raid5的冗余方式。

3、一般通用的方式就是数据文件与备份文件及归档日志文件存放到两个不同磁盘组,而不是同一个磁盘组的不同Lun,对两个磁盘组都进行Raid1+0的方式。这样也不会影响性能,可以节省一块儿热备盘来提高空间利用率,但如果数据量大,则通过Raid1+0的划分备份磁盘空间估计也会导致一定空间浪费;

根据以上矛盾,我们可以看出,有个重要因素就是磁盘大小和数量,还需要结合数据库大小和具体应用的综合考虑很有必要的。

同时,除了备份区,其他区域不建议采用太大的硬盘。如果数据库不大,加上磁盘数量太少,还不如将所有磁盘都做成Raid1+0,这样可以提升I/O总体带宽,也可以节省多个热备盘引起空间浪费。

随着SDD盘价格的大幅下降,也可适当的采用SDD和SAS混合的使用方式,因为一个转速10K的SAS盘的IOPS才120至150,而SSD硬盘的IOPS甚至超过10倍,因此对I/O性能和并发要求高的系统来说,值得尝试这种组合。例如:假设某个客户数据库当前大小为1T、数据增量每月100G,并发1000以上的OLTP系统。可以采取如下两种:

• 6块900GB硬盘,做完RAID5组和热备盘后,实际可用容量为:4*900GB=3.6TB,7块SSD盘主要跑在线数据,做完RAID5后,实际可用容量为:5*400GB=2TB;

• 配置11块儿转速15k的SAS盘,做RAID1+0,分区两个Lun后,在ASM里进行进一步划分;

针对空间容量较大的数据库,除了考虑以上因素外,另外一重要因素就是ASM磁盘组(ASM DISKGROUP)数量和磁盘组所需每个ASM磁盘的(ASM DISK)大小。ASM磁盘组不易太多,名称尽量规范化,例如可以分成DATADG1,DATADG2…,DATADGn来存放数据文件和日志文件,FRADG1,FRADG2…,FRADGn来存放归档(含备份文件),BACKUPDG1,BACKUPDG2…,BACKUPDGn来存放备份等。对于每个ASM磁盘组下的ASM磁盘,结合数据库大小和今后的增长量,最好采用适当的大小,不易太小或太大。例如,3年内数据库增量大小在3T,则每个ASM DISK大小最好控制在200G至500G范围,为什么呢,,因为如果按300G计算,则3000G/300G=30个 ASMDISK,这样在ASM里组成磁盘组时,看起来也是比较整齐并合理的。如果磁盘数来能太多,不仅管理起来混乱、容易导致人为错误而且对ASM管理这么多盘,也带来一定管理开销。

最后,有些DBA也许采取将归档和备份单独放到独立LUN并采用文件系统而不是ASM的磁盘管理模式,这样的好处就是就算ASM出问题登录不上,但是备份和归档文件在文件系统上都能直观看到,可以避免一定的风险,也让人放心。如果采用这种模式并用LINUX操作系统,建议将该文件系统按Linux的LVM方式划分,这样今后扩展起来非常方便。但是这个方法也有一定缺点,即,因为采用是Linux的本地文件系统,而不是Cluster文件系统,两个节点的归档和备份的实现方式为两个节点独立写只属于自己分区,可以共享只读。如果不小心将彼此分区配置成双方都能读写的mount模式,将会导致数据相互覆盖而丢失的问题。

Oracle ASM 如何添加新磁盘到磁盘

Oracle 10g 手工创建ASM数据库

Ubuntu 12.04(amd64)安装完Oracle 11gR2后各种问题解决方法

如何修改Oracle 10g ASM的sys密码

本文永久更新链接地址

推荐阅读
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 本文详细介绍了如何在Ubuntu的Enlightenment (E17) 桌面环境中管理和优化桌面图标及根菜单。通过本文,您将了解这些功能的作用及其配置方法。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • 本文详细介绍如何在 Windows 环境下安装 Ubuntu 12.04 版本的 Linux 操作系统,包括必要的软件下载、配置步骤以及注意事项。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • C语言实现推箱子游戏的完整代码
    本文详细介绍了如何使用C语言在Linux环境下实现一个简单的推箱子游戏,包括游戏的基本规则、地图设计及代码实现。适合C语言初学者学习。 ... [详细]
  • 在安装Ubuntu 12.10并尝试安装VMware Tools时,遇到了一个常见的错误提示:指定的路径不是有效的3.5.0-17-generic内核头文件路径。本文将提供解决这一问题的具体步骤。 ... [详细]
  • 如何在Linux中实现字符设备控制
    本文详细探讨了在Linux环境下控制字符设备的方法,包括蜂鸣器和模数转换器(ADC)的实际操作案例。对于开发者来说,了解这些基础知识对于嵌入式系统的开发尤为重要。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Java 中重写与重载的区别
    本文详细解析了 Java 编程语言中重写(Override)和重载(Overload)的概念及其主要区别,帮助开发者更好地理解和应用这两种多态性机制。 ... [详细]
  • 本文将指导您如何在Ubuntu 18.04系统中自定义截图快捷键,以便更高效地进行屏幕捕捉。如果您对Linux系统操作感兴趣,或希望提高工作效率,不妨跟随本文一起学习。 ... [详细]
  • 探讨HTML中的DIV样式难题
    本文深入分析了HTML中常见的DIV样式问题,并提供了有效的解决策略。适合所有对Web前端开发感兴趣的读者。 ... [详细]
  • PHP 中 preg_match 函数的 isU 修饰符详解
    本文详细解析 PHP 中 preg_match 函数中 isU 修饰符的具体含义及其应用场景,帮助开发者更好地理解和使用正则表达式。 ... [详细]
author-avatar
已1注2销
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有