RMAN 對記憶體的使用
研讀了下RMAN對記憶體的使用,有很多精細的地方。
1.RMAN如何使用記憶體
對於每一個server process(一般就是 channel):
- 為每個磁碟檔案分配4個input buffer
- 為每個backup piece分配4個output buffer
所以減小同時開啟的檔案數可以減小對記憶體的使用。 設定 MAXOPENFILES =
在
對檔案的操作過程中,每個buffer會專屬於這個檔案,而且會被迴圈使用。 在input buffer中可能會包含不需要被備份的block。
然後需要備份的block會從input buffer複製到output buffer中,在這個過程裡會進行block的有效性檢查。
2. buffer大小
每個input buffer的大小為
db_block_size * db_file_direct_io_count (9i以後為隱含引數_DB_FILE_DIRECT_IO_COUNT,預設是1M,也許會根據OS的max_io_size調整)
所以完整的input buffer 大小為
buffer個數(4) * 開啟檔案數 * 單個buffer大小
關於output buffer:
磁碟:同上,只不過“開啟檔案數”變成“backup piece個數”
磁帶:9i/10G, buffer size預設256K
3. 記憶體的出處
一 般來說,Channel的server process是從PGA裡分配記憶體。但如果使用了IO Slave, 則會從SGA裡分配,也就是large pool,因為這部分記憶體需要共享。如果Slave從SGA中得不到足夠的記憶體,則會報4031,slave被停掉,但server process會繼續從PGA中申請buffer,繼續操作。
4. 關於 IO Slaves
實際就是啟動一些子程式,把 讀 和 寫 操作分開進行,提高效率。
DBWR_IO_SLAVES > 0
每個channel都會被分配這麼多slave。BACKUP_TAPE_IO_SLAVES = true
啟動一個tape slave詳見 Note 73354.1 - RMAN: I/O Slaves and Memory Usage
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/225056/viewspace-1022333/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript對記憶體的使用JavaScript記憶體
- Python mmap的使用-檔案記憶體對映Python記憶體
- 使用記憶體對映檔案(mmap)記憶體
- 記憶體對齊記憶體
- GO 記憶體對齊Go記憶體
- 理解記憶體對齊記憶體
- 遊戲記憶體對比普通記憶體區別 遊戲記憶體和普通記憶體相差大嗎?遊戲記憶體
- 結構體記憶體對齊結構體記憶體
- C# 記憶體對齊C#記憶體
- ABAP Memory Inspector 裡對動態記憶體物件的記憶體消耗度量方式記憶體物件
- nginx中共享記憶體的使用Nginx記憶體
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- 027、限制容器對記憶體的使用(2019-01-22 週二)記憶體
- 虛擬記憶體對 OI 的影響記憶體
- 針對Spring MVC的Interceptor記憶體馬SpringMVC記憶體
- Java的記憶體 -JVM 記憶體管理Java記憶體JVM
- MongoDB 如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- MongoDB如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- C語言記憶體對齊C語言記憶體
- iOS 記憶體位元組對齊iOS記憶體
- 記憶體管理篇——實體記憶體的管理記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- iOS中的圖片使用方式、記憶體對比和最佳實踐iOS記憶體
- 反射記憶體卡的使用場景反射記憶體
- vue使用中的記憶體洩漏Vue記憶體
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- JS中的棧記憶體、堆記憶體JS記憶體
- struct結構體大小的計算(記憶體對齊)Struct結構體記憶體
- DDR4記憶體頻率2400和3000的區別 高頻記憶體與低頻記憶體效能效能對比記憶體
- Tensorflow2對GPU記憶體的分配策略GPU記憶體
- [20210803]對比transparent hugepage的記憶體消耗.txt記憶體
- 針對持久記憶體的後寫日誌記憶體
- Linux記憶體不夠了?看看如何開啟虛擬記憶體增加記憶體使用量Linux記憶體
- Redis記憶體——記憶體消耗(記憶體都去哪了?)Redis記憶體
- C++ struct結構體記憶體對齊C++Struct結構體記憶體
- c 結構體記憶體對齊詳解結構體記憶體
- Handler的使用、記憶體洩漏和解決記憶體
- 什麼是Java記憶體模型(JMM)中的主記憶體和本地記憶體?Java記憶體模型
- 【記憶體管理】記憶體佈局記憶體