首頁 資料庫 mysql教程 Oracle中的ASM文化

Oracle中的ASM文化

Jun 07, 2016 pm 03:10 PM
o 資料庫

从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

熱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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 Jul 18, 2024 am 05:48 AM

蘋果公司最新發布的iOS18、iPadOS18以及macOSSequoia系統為Photos應用程式增添了一項重要功能,旨在幫助用戶輕鬆恢復因各種原因遺失或損壞的照片和影片。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或影片時,該相冊將自動顯示。 "已恢復"相簿的出現為因資料庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。使用者只需簡單幾步

如何在PHP中處理資料庫連線錯誤 如何在PHP中處理資料庫連線錯誤 Jun 05, 2024 pm 02:16 PM

PHP處理資料庫連線報錯,可以使用下列步驟:使用mysqli_connect_errno()取得錯誤代碼。使用mysqli_connect_error()取得錯誤訊息。透過擷取並記錄這些錯誤訊息,可以輕鬆識別並解決資料庫連接問題,確保應用程式的順暢運作。

如何在 Golang 中將 JSON 資料保存到資料庫中? 如何在 Golang 中將 JSON 資料保存到資料庫中? Jun 06, 2024 am 11:24 AM

可以透過使用gjson函式庫或json.Unmarshal函數將JSON資料儲存到MySQL資料庫中。 gjson函式庫提供了方便的方法來解析JSON字段,而json.Unmarshal函數需要一個目標類型指標來解組JSON資料。這兩種方法都需要準備SQL語句和執行插入操作來將資料持久化到資料庫中。

mysql:簡單的概念,用於輕鬆學習 mysql:簡單的概念,用於輕鬆學習 Apr 10, 2025 am 09:29 AM

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

PHP 資料庫連線陷阱:避免常見的錯誤和誤區 PHP 資料庫連線陷阱:避免常見的錯誤和誤區 Jun 05, 2024 pm 10:21 PM

若要避免PHP資料庫連線錯誤,請遵循最佳實務:檢查連線錯誤,變數名稱與憑證相符。使用安全儲存或環境變量,避免硬編碼憑證。使用完後關閉連接,防止SQL注入,使用準備好的語句或綁定參數。

btc交易app怎麼安裝註冊? btc交易app怎麼安裝註冊? Feb 21, 2025 pm 07:09 PM

本篇文章將詳細介紹如何安裝和註冊比特幣交易應用。比特幣交易應用允許用戶管理和交易比特幣等加密貨幣。文章逐步指導用戶完成安裝和註冊過程,包括下載應用程序、創建賬戶、進行身份驗證和首次存款。文章的目標是為初學者提供清晰易懂的指南,幫助他們輕鬆進入比特幣交易的世界。

全球數字貨幣交易十大APP推薦(2025貨幣交易軟件排名) 全球數字貨幣交易十大APP推薦(2025貨幣交易軟件排名) Mar 12, 2025 pm 05:48 PM

本文推薦全球十大數字貨幣交易APP,涵蓋幣安(Binance)、OKX、火幣(Huobi Global)、Coinbase、Kraken、Gate.io、KuCoin、Bitfinex、Gemini和Bitstamp。這些平台在交易對數量、交易速度、安全性、合規性、用戶體驗等方面各有特色,例如幣安以其高交易速度和廣泛服務聞名,而Coinbase則更適合新手用戶。選擇適合自己的平台需要綜合考慮自身需求和風險承受能力。 了解全球主流數字貨幣交易平台,助您安全高效進行數字資產交易。

Go WebSocket 如何與資料庫整合? Go WebSocket 如何與資料庫整合? Jun 05, 2024 pm 03:18 PM

如何將GoWebSocket與資料庫整合:設定資料庫連線:使用database/sql包連接到資料庫。將WebSocket訊息儲存到資料庫:使用INSERT語句將訊息插入資料庫。從資料庫檢索WebSocket訊息:使用SELECT語句檢索資料庫中的消息。

See all articles