搜尋
首頁資料庫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的許可與其他數據庫系統相比如何?MySQL的許可與其他數據庫系統相比如何?Apr 25, 2025 am 12:26 AM

MySQL使用的是GPL許可證。 1)GPL許可證允許自由使用、修改和分發MySQL,但修改後的分發需遵循GPL。 2)商業許可證可避免公開修改,適合需要保密的商業應用。

您什麼時候選擇InnoDB而不是Myisam,反之亦然?您什麼時候選擇InnoDB而不是Myisam,反之亦然?Apr 25, 2025 am 12:22 AM

選擇InnoDB而不是MyISAM的情況包括:1)需要事務支持,2)高並發環境,3)需要高數據一致性;反之,選擇MyISAM的情況包括:1)主要是讀操作,2)不需要事務支持。 InnoDB適合需要高數據一致性和事務處理的應用,如電商平台,而MyISAM適合讀密集型且無需事務的應用,如博客系統。

在MySQL中解釋外鍵的目的。在MySQL中解釋外鍵的目的。Apr 25, 2025 am 12:17 AM

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL中有哪些不同類型的索引?MySQL中有哪些不同類型的索引?Apr 25, 2025 am 12:12 AM

MySQL中有四種主要的索引類型:B-Tree索引、哈希索引、全文索引和空間索引。 1.B-Tree索引適用於範圍查詢、排序和分組,適合在employees表的name列上創建。 2.哈希索引適用於等值查詢,適合在MEMORY存儲引擎的hash_table表的id列上創建。 3.全文索引用於文本搜索,適合在articles表的content列上創建。 4.空間索引用於地理空間查詢,適合在locations表的geom列上創建。

您如何在MySQL中創建索引?您如何在MySQL中創建索引?Apr 25, 2025 am 12:06 AM

toCreateAnIndexinMysql,usethecReateIndexStatement.1)forasingLecolumn,使用“ createIndexIdx_lastNameEnemployees(lastName); 2)foracompositeIndex,使用“ createIndexIndexIndexIndexIndexDx_nameOmplayees(lastName,firstName,firstName);” 3)forauniqe instex,creationexexexexex,

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)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。

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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具