oracle實驗記錄 關於記憶體的幾個view
主要是些基礎的理解
SQL> show parameter sga_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 164M
sga_target big integer 0
SQL> show parameter shared_pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
__shared_pool_size big integer 80M
shared_pool_size big integer 80M
SQL> alter system set shared_pool_size=84m;
alter system set shared_pool_size=84m
*
第 1 行出現錯誤:
ORA-02097: 無法修改引數, 因為指定的值無效
ORASQL> show parameter sga_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 180M
sga_target big integer 0
SQL> show parameter shared_pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
__shared_pool_size big integer 80M
shared_pool_size big integer 80M-04033: 沒有足夠的記憶體來增加池的容量
SQL> select component ,current_size/1024/1024 m from v$sga_dynamic_components;
COMPONENT M
---------------------------------------------------------------- ----------
shared pool 80
large pool 8
java pool 48
streams pool 0
DEFAULT buffer cache 24
KEEP buffer cache 0
RECYCLE buffer cache 0
DEFAULT 2K buffer cache 0
DEFAULT 4K buffer cache 0
DEFAULT 8K buffer cache 0
DEFAULT 16K buffer cache 0
COMPONENT M
---------------------------------------------------------------- ----------
DEFAULT 32K buffer cache 0
OSM Buffer Cache 0
SQL> alter system set shared_pool_size=90m;
系統已更改。
SQL> select component ,current_size/1024/1024 m from v$sga_dynamic_components;~~~~~~~~~~~~~~~~~動態看到變化
QL> select current_size/1024/1024 m,min_size,last_oper_type,last_oper_mode from
v$sga_dynamic_components;
M MIN_SIZE LAST_OPER_TYP LAST_OPER
--------- ---------- ------------- ---------
92 83886080 GROW MANUAL~~~~~~~~~~~~~~~~~~~~~~~~~最後的操作,增加,操作手動
8 8388608 STATIC
48 50331648 STATIC
0 0 STATIC
24 25165824 STATIC
0 0 STATIC
0 0 STATIC
0 0 STATIC
0 0 STATIC
0 0 STATIC
0 0 STATIC
M MIN_SIZE LAST_OPER_TYP LAST_OPER
--------- ---------- ------------- ---------
0 0 STATIC
0 0 STATIC
SQL> select * from v$sga;
NAME VALUE
-------------------- ----------
Fixed Size 788088
Variable Size 162527624
Database Buffers 25165824
Redo Buffers 262144
SQL> select * from v$sgastat;
POOL NAME BYTES
------------ -------------------------- ----------
fixed_sga 788088
buffer_cache 25165824
log_buffer 262144
shared pool KQR L SO 61440
shared pool KQR M PO 789564
shared pool KQR M SO 85004
shared pool KQR S PO 80928
shared pool KQR S SO 512
shared pool KTI-UNDO 1235304
shared pool sessions 781324
shared pool sql area 3274304
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KGLS heap 946008
shared pool joxs heap 4220
shared pool row cache 3707272
shared pool parameters 8380
shared pool repository 53904
shared pool ASH buffers 2097152
shared pool free memory 52021936
shared pool PL/SQL DIANA 1191728
shared pool FileOpenBlock 746704
shared pool PL/SQL MPCODE 1541888
shared pool library cache 5005644
POOL NAME BYTES
------------ -------------------------- ----------
shared pool miscellaneous 12070420
shared pool pl/sql source 192
shared pool PLS non-lib hp 29556
shared pool STREAMS messag 16752
shared pool table definiti 1976
shared pool trigger defini 3672
shared pool trigger inform 1860
shared pool trigger source 640
shared pool type object de 389128
shared pool private strands 1198080
shared pool KSXR receive buffers 1033000
POOL NAME BYTES
------------ -------------------------- ----------
shared pool message pool freequeue 618504
shared pool KSXR pending messages que 841036
shared pool event statistics per sess 4384640
shared pool fixed allocation callback 264
shared pool flashback generation buff 1422760
shared pool kmgsb circular statistics 823296
large pool free memory 8388608
java pool free memory 50331648
已選擇41行。
SQL> select sum(bytes)/1024/1024 from v$sgastat;
SUM(BYTES)/1024/1024
--------------------
173.001579
SQL> select sum(bytes)/1024/1024 from v$sgastat where pool='shared pool'~~~~~~~~~~~~~~~~~~~~~~~~~~~~`也顯示
2 ;
SUM(BYTES)/1024/1024
--------------------
92
SQL> show parameter java_pool_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
__java_pool_size big integer 48M
java_pool_size big integer 48M
SQL> show parameter large_pool_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
__large_pool_size big integer 8M
large_pool_size big integer 8M
SQL> desc v$sgainfo;
名稱 是否為空? 型別
----------------------------------------- -------- -------------------------
NAME VARCHAR2(32)
BYTES NUMBER
RESIZEABLE VARCHAR2(3)
SQL> select * from v$sgainfo;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 788088 No
Redo Buffers 262144 No
Buffer Cache Size 25165824 Yes
Shared Pool Size 96468992 Yes
Large Pool Size 8388608 Yes
Java Pool Size 50331648 Yes
Streams Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 188743680 No
Startup overhead in Shared Pool 25165824 No
Free SGA Memory Available 4194304
SQL> select * from v$sga;
NAME VALUE
-------------------- ----------
Fixed Size 788088
Variable Size 162527624
Database Buffers 25165824
Redo Buffers 262144
SQL> select name,value/1024/1024 from v$sga;
NAME VALUE/1024/1024
-------------------- ---------------
Fixed Size .751579285
Variable Size 154.998421
Database Buffers 24
Redo Buffers .25
SQL> select name,bytes/1024/1024 from v$sgainfo;
NAME BYTES/1024/1024
-------------------------------- ---------------
Fixed SGA Size .751579285
Redo Buffers .25
Buffer Cache Size 24
Shared Pool Size 92
Large Pool Size 8
Java Pool Size 48
Streams Pool Size 0
Granule Size 4
Maximum SGA Size 180
Startup overhead in Shared Pool 24
Free SGA Memory Available 4
已選擇11行。
SQL>
SQL> select current_size/1024/1024 from v$sga_dynamic_free_memory;
CURRENT_SIZE/1024/1024
----------------------
4~~~~~~~~~~~~~~~~~~~~~~~~~~還有4M可以調整sga_max_size 減去 其他記憶體之合
SQL> show parameter sga_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 180M
sga_target big integer 0
SQL> select sum(bytes)/1024/1024 from v$sgastat;
SUM(BYTES)/1024/1024
--------------------
173.001579
SQL> select sum(current_size/1024/1024) m from v$sga_dynamic_components;
M
----------
172
SQL> select sum(value/1024/1024) from v$sga;
SUM(VALUE/1024/1024)
--------------------
180
SQL> desc v$db_cache_advice;~~~建議檢視
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(20)
BLOCK_SIZE NUMBER
ADVICE_STATUS VARCHAR2(3)
SIZE_FOR_ESTIMATE NUMBER
SIZE_FACTOR NUMBER
BUFFERS_FOR_ESTIMATE NUMBER
ESTD_PHYSICAL_READ_FACTOR NUMBER
ESTD_PHYSICAL_READS NUMBER
ESTD_PHYSICAL_READ_TIME NUMBER
ESTD_PCT_OF_DB_TIME_FOR_READS NUMBER
SQL> show parameter db_cache_ad
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
db_cache_advice string ON~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~開啟這個才有
SQL>
SQL> select size_for_estimate, estd_physical_read_factor, id,estd_physical_reads
from v$db_cache_advice where name = 'DEFAULT';
SIZE_FOR_ESTIMATE ESTD_PHYSICAL_READ_FACTOR ID ESTD_PHYSICAL_READS
----------------- ------------------------- ---------- -------------------
4 2.6877 3 71854
8 1.9242 3 51441
12 1.6399 3 43841
16 1.509 3 40342
20 1.3123 3 35082
24 1 3 26734
28 .8944 3 23911
32 .8394 3 22439
36 .8159 3 21812
40 .7969 3 21305
44 .7888 3 21088
SIZE_FOR_ESTIMATE ESTD_PHYSICAL_READ_FACTOR ID ESTD_PHYSICAL_READS
----------------- ------------------------- ---------- -------------------
48 .7834 3 20943
已選擇12行。
~~~~~~~~~~~~~~~~~主要是對比estd_physical_reads, size_for_estimate~~取一個合適的值
SQL> desc v$buffer_pool;
名稱 是否為空? 型別
----------------------------------------- -------- ---------------------
ID NUMBER
NAME VARCHAR2(20)
BLOCK_SIZE NUMBER
RESIZE_STATE VARCHAR2(10)
CURRENT_SIZE NUMBER
BUFFERS NUMBER
TARGET_SIZE NUMBER
TARGET_BUFFERS NUMBER
PREV_SIZE NUMBER
PREV_BUFFERS NUMBER
LO_BNUM NUMBER
HI_BNUM NUMBER
LO_SETID NUMBER
HI_SETID NUMBER
SET_COUNT NUMBER
~~~~~~~~~~也有比較詳細的資訊
SQL> desc v$buffer_pool_statistics;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~很詳細對buffer cache
名稱 是否為空? 型別
----------------------------------------- -------- -------------------------
ID NUMBER
NAME VARCHAR2(20)
BLOCK_SIZE NUMBER
SET_MSIZE NUMBER
CNUM_REPL NUMBER
CNUM_WRITE NUMBER
CNUM_SET NUMBER
BUF_GOT NUMBER
SUM_WRITE NUMBER
SUM_SCAN NUMBER
FREE_BUFFER_WAIT NUMBER
WRITE_COMPLETE_WAIT NUMBER
BUFFER_BUSY_WAIT NUMBER
FREE_BUFFER_INSPECTED NUMBER
DIRTY_BUFFERS_INSPECTED NUMBER
DB_BLOCK_CHANGE NUMBER
DB_BLOCK_GETS NUMBER
CONSISTENT_GETS NUMBER
PHYSICAL_READS NUMBER
PHYSICAL_WRITES NUMBER
SQL> select id,name,dirty_buffers_inspected,free_buffer_inspected,physical_write
s from v$buffer_pool_statistics;
ID NAME DIRTY_BUFFERS_INSPECTED FREE_BUFFER_INSPECTED
---------- -------------------- ----------------------- ---------------------
PHYSICAL_WRITES
---------------
3 DEFAULT 2209 33020
9137
SQL> select id,name,dirty_buffers_inspected,free_buffer_inspected,physical_write
s from v$buffer_pool_statistics;
ID NAME DIRTY_BUFFERS_INSPECTED FREE_BUFFER_INSPECTED
---------- -------------------- ----------------------- ---------------------
PHYSICAL_WRITES
---------------
3 DEFAULT 2209 33020
9137
SQL> alter system checkpoint;
系統已更改。
SQL> select id,name,dirty_buffers_inspected,free_buffer_inspected,physical_write
s from v$buffer_pool_statistics;
ID NAME DIRTY_BUFFERS_INSPECTED FREE_BUFFER_INSPECTED
---------- -------------------- ----------------------- ---------------------
PHYSICAL_WRITES
---------------
3 DEFAULT 2209 33020
9181~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~發生了物理寫 flush buffer cache 也會發生物理寫
SQL> select id,name,cnum_write,physical_writes from v$buffer_pool_statistics;
ID NAME CNUM_WRITE PHYSICAL_WRITES
---------- -------------------- ---------- ---------------
3 DEFAULT 0 9181
SQL> declare
2 begin
3 for i in 1..1000 loop
4 insert into table test values(i);
5 end loop;
6 end;
7 /
SQL> ed
已寫入 file afiedt.buf
1 declare
2 begin
3 for i in 1..1000 loop
4 insert into test values(i);
5 end loop;
6* end;
SQL> /
PL/SQL 過程已成功完成。
SQL> select id,name,cnum_write,physical_writes from v$buffer_pool_statistics;
1 declare
2 begin
3 for i in 1..10000 loop
4 insert into test values(i);
5 end loop;
6* end;
SQL> /
PL/SQL 過程已成功完成。
SQL> select id,name,cnum_write,physical_writes from v$buffer_pool_statistics;
ID NAME CNUM_WRITE PHYSICAL_WRITES
---------- -------------------- ---------- ---------------
3 DEFAULT 0 9224~~~~~~~~都發生物理寫了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-607598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於redis記憶體分析,記憶體優化Redis記憶體優化
- 關於autoreleasepool記憶體管理記憶體
- 關於JavaScript的記憶體機制JavaScript記憶體
- [效能]【JVM】關於JVM記憶體的N個問題JVM記憶體
- 關於虛擬機器記憶體和JVM記憶體設定的思考虛擬機記憶體JVM
- 伺服器記憶體不足的幾個原因伺服器記憶體
- 關於 PHP 記憶體溢位的思考PHP記憶體溢位
- mysql load 相關實驗記錄MySql
- 記憶體管理篇——實體記憶體的管理記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- 關於PHP記憶體洩漏的問題PHP記憶體
- 關於JVM 記憶體的 N 個高頻面試問題!JVM記憶體面試
- SpringBoot SpringSecurity 介紹(基於記憶體的驗證)Spring BootGse記憶體
- Android 專案中對於記憶體優化的幾個細節點Android記憶體優化
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- 基於RT1052 Aworks 記憶體擴容記錄(一)記憶體
- 記錄node記憶體瓶頸分析記憶體
- 關於持久記憶體(PMem)你知道多少?記憶體
- 關於JVM堆外記憶體的一切JVM記憶體
- 關於java記憶體訪問重排序的思考Java記憶體排序
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- 記錄一個關於變數命名的事情變數
- Oracle記憶體結構(四)----如何獲得Oracle各記憶體段的內部資訊(轉)Oracle記憶體
- 【Java基礎】實體記憶體&虛擬記憶體Java記憶體
- [20191220]關於共享記憶體段相關問題.txt記憶體
- JVM記憶體分為3個記憶體空間JVM記憶體
- 關於圖片在記憶體中的大小(k或者M)記憶體
- C++記憶體管理:簡易記憶體池的實現C++記憶體
- [20210126]探究oracle記憶體分配.txtOracle記憶體
- 記憶體管理兩部曲之實體記憶體管理記憶體
- Java的記憶體 -JVM 記憶體管理Java記憶體JVM
- Oracle - 資料庫的記憶體結構Oracle資料庫記憶體
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- 關於javascript原型鏈的記錄JavaScript原型
- 記錄netcore一次記憶體暴漲的坑NetCore記憶體
- OpenResty 和 Nginx 的共享記憶體區是如何消耗實體記憶體的RESTNginx記憶體
- Oracle在Linux下對記憶體大頁HugePage的實踐OracleLinux記憶體
- iOS 關於tabBar的幾處筆記iOStabBar筆記