搜索
首页数据库mysql教程Oracle中的ASM文化

从Oracle中ASM的发展来看,到今天的普及使用,应该可以算做一种文化,因为这体现的不仅是ASM技术在实际工作中的成功普及,而且从

从Oracle中ASM的发展来看,到今天的普及使用,应该可以算做一种文化,因为这体现的不仅是ASM技术在实际工作中的成功普及,而且从某种程度来说,都代表了一个新生事物的发展历程,无论是java的发展还是各种开源项目的普及,都有着相似的痕迹。

asm从Oracle 10g版本推出,是作为grid的一部分鼓励使用的。而在这段漫长的时间里面,其实asm就在逐渐完善。

就如同你去公司内部推广一套很新技术的时候,人家肯定得衡量你的东西是不是足够好,如果性能指标能够达到指数级的提升,或者操作能够简化到极致,而且稳定,,那么很多人都会不由自主的去使用。

而从Oracle的发展来说,涉足存储领域,而且直接推出自动化存储管理,着实是一个大手笔。Oracle 10g版本之前,在Linux,unix系统中大体都是在操作系统层面设置逻辑卷LVM,然后把LVM分成多个卷组,在各个卷组上去划分相应的逻辑卷,最后在逻辑卷上安装文件系统,挂载后就可以提供文件的管理。

同时裸设备技术也在大量使用,因为性能确实很好,在磁盘上不用创建文件系统就尅使用Oracle实例来直接读写磁盘。

无论采用文件系统还是裸设备都是实现的方式,但是都有一定的缺点或者限制,文件系统中的更多的是性能的考虑,而在裸设备中则是管理带来的不便,一旦在裸设备上创建文件,文件名和大小都不能再改了。

ASM在这个基础上做了一个折中,即提高性能,抛弃了文件系统,然后又提供了方便的文件管理,当然还有更多的难点和痛点,这些都是已有方案的弊端和不方便不完善之处。

我也搜集了一些。大体有下面的一些方方面面。

1. 对于归档日志和备份,操作系统供应商不提供共享磁盘文件系统。

  2. 逻辑卷管理器隐藏了文件的位置,使得很难管理磁盘I/O和提供良好的统计。

  3. 当磁盘数超过100时,现有的lvm不能工作得很好。

  4. 当数据库有1000以上的数据文件时,操作系统和Oracle不能很好地处理数据库。

  5. 当有大量数据文件时命名就变得很困难了。

如果从技术层面来说有些问题忍了就忍了,可以规避,但是如果把这些缺点都利用起来,当做改进的一些专攻点,这样缺点不足就成为了优势。

说起ASM,不得不提到他的初始架构师bill bridge,对于asm的规划其实在很早就开始了,可以追溯到上个世纪1996年左右,那时候互联网还在起步阶段,sun还是原来的sun,其中肯定也有更多的曲折,最大的障碍应该是挑战权威,让已有的方案存在危机感和改进空间,不管怎么样,最后总算是在1999年正式审批了这个项目。

最初的定位从PSM,ODM,OSM,到了最终的ASM,PSM从字面来看就是parallel storage manager,还是和ops有一定联系,而odm(oracle data manager),OSM(oracle storage manager)到ASM(automatic storage manager),从名字也能看出一个发展的历程,也是逐步在改善,没有一步到位。

从我在10g开始接触到asm,也是带有很多的顾虑,更多的都是矫情。大体的理由如下:

1.asm又做了一层抽象,还是感觉文件系统中的文件踏实

2.老是怕asm有问题,如果出了问题,更加黑盒了。

3.新技术,新风险

4.缺乏了解,会有一种莫名的排斥感。

我觉得很多人应该和我有着差不多的想法,但是技术就是这样与时俱进,最终的目的当然还是简化工作,提高效率,而且ASM确实做到了。

普通文件系统的数据库迁移到ASM下步骤也简化了很多,感觉文件系统中的文件更加踏实,其实实际中我们也很少直接去管理这些文件,就算拿到文件也是二进制文件,我们还是什么都做不了。要说风险,肯定是有的,我记得一个老师曾经这么说过,如果说asm存在风险,损坏的可能性,那么它损坏的可能性和文件系统式一样的。如果说在课余自己接触下新技术,可能心态就很开放,但是到了实际的工作中,就马上严肃认真,就得好好评估,企业数据的安全是DBA存在意义所在。是不是在内心也在打退堂鼓,也是这样也就越来越会存在一些距离感,排斥感。

如果说在10g中asm不够成熟,也有一定的道理,asm是作为grid在10g推出,也算是新特性的试水,但是在11g中开始做了更多的加强和改进,所以使用起来还是会有不少的亮点,比如在10g中asm和oracle用户时放在一起的,可能会造成一些误操作和管理的不够方便,在11g中把asm纳入了grid infrasture这个体系中,原本在10g中的dbca来配置管理asm在11g中就有了新的命令asmca,在11g中把asm和数据库层面做了一种隔离,当然这些都是改进,到了exadata中,就赋予了asm更多的使命,做为exadata的标配,这个时候多个asm就可以管理更多的exadata单元。把原本rac中的共享存储的单点损坏做了加强,可以提供更高更完善的冗余机制,也是对rac的一种补充。

说到接受新事物,让我想起一件事,记得前几天我爸问我说,怎么银行要扣银行卡上的钱,只用发个短信验证码就能直接扣款,自己就感觉卡上的钱不安全了,就想去重新办一张卡,这样应该就安全了。然后我就耐心的给他解释,这是xx公司和银行之间的一个协定,他们会给你发送短信信息进行验证,然后得到本人的确认才能扣款,而且他们扣款也不是直接拿入自己腰包,就跟京东刷卡支付一样,送货员也没法多刷你一分钱,对他们来说就是一个单号。所以换了张卡也不管用,然后又解释了一通,他才明白了,就没有再办卡。

很多时候我们在接受新事物也是这种类似的态度,技术变更再快都是以提高效率和工作方式,如果某个软件再开源,功能复杂不好用,性能提升不高,那么接受它的难度和成本就有些太高了。所以从asm算是成功接受了时间的考验。自己也要多花点精力关注关注,看看我们能够做些什么,在技术发展的道理上能够添砖加瓦。

如何将ASM中的数据文件复制到操作系统中

Oracle 11g RAC ASM磁盘全部丢失后的恢复

Oracle 11g从入门到精通 PDF 光盘源代码

RHEL6 ASM方式安装Oracle 11g R2

Oracle 10g 手工创建ASM数据库

Oracle 10g R2创建ASM实例Step By Step

本文永久更新链接地址

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL与Sqlite有何不同?MySQL与Sqlite有何不同?Apr 24, 2025 am 12:12 AM

MySQL和SQLite的主要区别在于设计理念和使用场景:1.MySQL适用于大型应用和企业级解决方案,支持高性能和高并发;2.SQLite适合移动应用和桌面软件,轻量级且易于嵌入。

MySQL中的索引是什么?它们如何提高性能?MySQL中的索引是什么?它们如何提高性能?Apr 24, 2025 am 12:09 AM

MySQL中的索引是数据库表中一列或多列的有序结构,用于加速数据检索。1)索引通过减少扫描数据量提升查询速度。2)B-Tree索引利用平衡树结构,适合范围查询和排序。3)创建索引使用CREATEINDEX语句,如CREATEINDEXidx_customer_idONorders(customer_id)。4)复合索引可优化多列查询,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。5)使用EXPLAIN分析查询计划,避

说明如何使用MySQL中的交易来确保数据一致性。说明如何使用MySQL中的交易来确保数据一致性。Apr 24, 2025 am 12:09 AM

在MySQL中使用事务可以确保数据一致性。1)通过STARTTRANSACTION开始事务,执行SQL操作后用COMMIT提交或ROLLBACK回滚。2)使用SAVEPOINT可以设置保存点,允许部分回滚。3)性能优化建议包括缩短事务时间、避免大规模查询和合理使用隔离级别。

在哪些情况下,您可以选择PostgreSQL而不是MySQL?在哪些情况下,您可以选择PostgreSQL而不是MySQL?Apr 24, 2025 am 12:07 AM

选择PostgreSQL而非MySQL的场景包括:1)需要复杂查询和高级SQL功能,2)要求严格的数据完整性和ACID遵从性,3)需要高级空间功能,4)处理大数据集时需要高性能。PostgreSQL在这些方面表现出色,适合需要复杂数据处理和高数据完整性的项目。

如何保护MySQL数据库?如何保护MySQL数据库?Apr 24, 2025 am 12:04 AM

MySQL数据库的安全可以通过以下措施实现:1.用户权限管理:通过CREATEUSER和GRANT命令严格控制访问权限。2.加密传输:配置SSL/TLS确保数据传输安全。3.数据库备份和恢复:使用mysqldump或mysqlpump定期备份数据。4.高级安全策略:使用防火墙限制访问,并启用审计日志记录操作。5.性能优化与最佳实践:通过索引和查询优化以及定期维护兼顾安全和性能。

您可以使用哪些工具来监视MySQL性能?您可以使用哪些工具来监视MySQL性能?Apr 23, 2025 am 12:21 AM

如何有效监控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。1.使用mysqladmin查看连接数。2.用SHOWGLOBALSTATUS查看查询数。3.PMM提供详细性能数据和图形化界面。4.MySQLEnterpriseMonitor提供丰富的监控功能和报警机制。

MySQL与SQL Server有何不同?MySQL与SQL Server有何不同?Apr 23, 2025 am 12:20 AM

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显着差异,选择时需考虑项目规模和未来扩展性。

在哪些情况下,您可以选择SQL Server而不是MySQL?在哪些情况下,您可以选择SQL Server而不是MySQL?Apr 23, 2025 am 12:20 AM

在需要高可用性、高级安全性和良好集成性的企业级应用场景下,应选择SQLServer而不是MySQL。1)SQLServer提供企业级功能,如高可用性和高级安全性。2)它与微软生态系统如VisualStudio和PowerBI紧密集成。3)SQLServer在性能优化方面表现出色,支持内存优化表和列存储索引。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境