Oracle數(shù)據(jù)庫查看與修改內(nèi)存配置的方法
Oracle內(nèi)存管理模式
Oracle數(shù)據(jù)庫的內(nèi)存管理模式從自動(dòng)管理化程度由高到低依次可以分為:
- 自動(dòng)內(nèi)存管理:完全由Oracle自動(dòng)管理內(nèi)存分配。DBA只需設(shè)置
MEMORY_TARGET(以及可選初始化參數(shù)MEMORY_MAX_TARGET),Oracle就會(huì)在SGA和PGA之間自動(dòng)分配內(nèi)存。 - 自動(dòng)共享內(nèi)存管理:DBA只需設(shè)置
SGA_TARGET和PGA_AGGREGATE_TARGET兩個(gè)初始化參數(shù)。Oracle會(huì)分別在SGA和PGA中自動(dòng)分配各組件的內(nèi)存。 - 手動(dòng)內(nèi)存管理:由DBA為SGA和PGA中的所有組件逐一手動(dòng)分配內(nèi)存。
在自動(dòng)共享內(nèi)存管理模式下,還可以手動(dòng)為SGA中的某些重要組件指定最小的內(nèi)存分配值,例如Shared Pool和Buffer Cache。
查看Oracle內(nèi)存分配
檢查各內(nèi)存參數(shù)的TARGET配置:
SQL> show parameter target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 0 memory_target big integer 0 pga_aggregate_target big integer 1561M sga_target big integer 4688M
其中,memory_target和memory_max_target都為0,并且sga_target和pga_aggregate_target不為0,表示當(dāng)前數(shù)據(jù)庫使用的是自動(dòng)共享內(nèi)存管理模式。
檢查SGA和PGA相關(guān)參數(shù)的配置:
SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_max_size big integer 4688M sga_min_size big integer 0 sga_target big integer 4688M SQL> show parameter pga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_limit big integer 3122M pga_aggregate_target big integer 1561M
查看SGA中各組件的內(nèi)存使用情況:
SQL> select * from v$sgainfo; NAME BYTES RESIZEABLE CON_ID -------------------------------- ---------- ---------- ---------- Fixed SGA Size 8906552 No 0 Redo Buffers 7868416 No 0 Buffer Cache Size 3992977408 Yes 0 In-Memory Area Size 0 No 0 Shared Pool Size 872415232 Yes 0 Large Pool Size 33554432 Yes 0 Java Pool Size 0 Yes 0 Streams Pool Size 0 Yes 0 Shared IO Pool Size 134217728 Yes 0 Data Transfer Cache Size 0 Yes 0 Granule Size 16777216 No 0 NAME BYTES RESIZEABLE CON_ID -------------------------------- ---------- ---------- ---------- Maximum SGA Size 4915722040 No 0 Startup overhead in Shared Pool 405891224 No 0 Free SGA Memory Available 0 0 14 rows selected.
其中,Buffer Cache Size和Shared Pool Size是需要重點(diǎn)關(guān)注的內(nèi)容。
修改Oracle內(nèi)存分配
如果我們升級(jí)了服務(wù)器物理內(nèi)存配置,就需要對(duì)Oracle的內(nèi)存參數(shù)進(jìn)行修改。
在自動(dòng)共享內(nèi)存管理模式下,一般按照如下原則配置內(nèi)存:
SGA_TARGET一般配置為物理內(nèi)存的30%到70%之間;PGA_AGGREGATE_TARGET一般配置為物理內(nèi)存的5%到25%之間;SGA_TARGET和PGA_AGGREGATE_TARGET之和不要超過物理內(nèi)存的80%;- Buffer Cache Size一般配置為
SGA_TARGET的 20% 左右; - Shared Pool Size一般配置為
SGA_TARGET的 10% 左右。
修改數(shù)據(jù)庫內(nèi)存配置:
--備份參數(shù)文件 create pfile='/home/oracle/pfile.ora' from spfile; --禁用自動(dòng)內(nèi)存管理 alter system set memory_target=0M scope=spfile; --設(shè)置SGA_TARGET alter system set sga_max_size=9G scope=spfile; alter system set sga_target=9G scope=spfile; --設(shè)置Buffer cache、共享池、Java池的最小值 alter system set db_cache_size=2G scope=spfile; alter system set shared_pool_size=1G scope=spfile; alter system set java_pool_size=128m scope=spfile; --設(shè)置PGA_AGGREGATE_TARGET alter system set pga_aggregate_target=1G scope=spfile;
然后重啟數(shù)據(jù)庫即可生效。
SQL> show parameter sga_target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_target big integer 9G SQL> show parameter pga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_limit big integer 3000M pga_aggregate_target big integer 1G SQL> show parameter db_cache_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_cache_size big integer 2G SQL> show parameter shared_pool_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ shared_pool_size big integer 1G SQL> show parameter java_pool_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ java_pool_size big integer 128M
需要注意的是,服務(wù)器物理內(nèi)存變化通常還涉及內(nèi)核參數(shù)kernel.shmall和kernel.shmmax的調(diào)優(yōu)。如果數(shù)據(jù)庫使用了大頁,還需要調(diào)優(yōu)操作系統(tǒng)的大頁配置。
# 查看是否開啟大頁 SQL> show parameter use_large_pages # 查看操作系統(tǒng)大頁配置 cat /proc/meminfo | grep HugePage cat /proc/meminfo | grep Hugepagesize
總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫查看與修改內(nèi)存配置的文章就介紹到這了,更多相關(guān)Oracle查看修改內(nèi)存配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows系統(tǒng)下Oracle?11g完全卸載教程(推薦!)
安裝軟件是首要,雖然不是特別重要,但是錯(cuò)誤的安裝也是相當(dāng)費(fèi)勁和抓狂的,所以這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Oracle?11g完全卸載的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),要的朋友可以參考下2024-06-06
如何使用Navicat Premium連接Oracle數(shù)據(jù)庫
這篇文章主要介紹了如何使用Navicat Premium連接Oracle數(shù)據(jù)庫,需要的朋友可以參考下2023-01-01
Oracle 10g DG 數(shù)據(jù)文件遷移的實(shí)現(xiàn)
我們常常需要對(duì)數(shù)據(jù)進(jìn)行遷移,這篇文章主要介紹了Oracle 10g DG 數(shù)據(jù)文件遷移的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問題解決
訂單投資交易環(huán)境進(jìn)行 impdb 數(shù)據(jù)泵恢復(fù)數(shù)據(jù),執(zhí)行到一半,報(bào)錯(cuò)終止,歸檔策略保留時(shí)間較長(zhǎng),或歸檔頻率過高,導(dǎo)致數(shù)據(jù)庫掛載盤符空間不足,本文給大家分享Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問題解決,感興趣的朋友一起看看吧2023-12-12
CentOS 6.4下安裝Oracle 11gR2詳細(xì)步驟(多圖)
這篇文章主要介紹了2013-11-11
常見數(shù)據(jù)庫系統(tǒng)比較 Oracle數(shù)據(jù)庫
常見數(shù)據(jù)庫系統(tǒng)比較 Oracle數(shù)據(jù)庫...2007-03-03
Oracle實(shí)現(xiàn)透明數(shù)據(jù)加密的代碼示例
透明數(shù)據(jù)加密(TDE)是一種用于保護(hù)數(shù)據(jù)庫中靜態(tài)數(shù)據(jù)的加密技術(shù),TDE通過自動(dòng)加密數(shù)據(jù)庫文件和日志文件,確保數(shù)據(jù)在磁盤上是加密的,從而防止未經(jīng)授權(quán)的訪問,以下以 Microsoft SQL Server 為例,實(shí)現(xiàn) TDE 的步驟和代碼示例,需要的朋友可以參考下2024-09-09
Oracle rac環(huán)境的數(shù)據(jù)庫導(dǎo)入操作步驟
Oracle RAC是一種基于共享存儲(chǔ)和共享數(shù)據(jù)庫的集群解決方案,可以將多個(gè) Oracle 數(shù)據(jù)庫實(shí)例連接成一個(gè)邏輯上的單一數(shù)據(jù)庫,提供高可用性、靈活性和可伸縮性,本文給大家介紹Oracle rac環(huán)境的數(shù)據(jù)庫導(dǎo)入操作,感興趣的朋友一起看看吧2023-06-06

