久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

oracle中SGA區基礎知識與查看命令的示例分析

180次閱讀
沒有評論

共計 3156 個字符,預計需要花費 8 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 oracle 中 SGA 區基礎知識與查看命令的示例分析,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Instance:數據庫啟動后在內存中的映像,以及管理該內存區的后臺進程;

組成:(SGA+background process);

查看數據庫的實例名:

  Sql  show parameter instance name;

查看數據庫名:

  Show parameter db_name;

數據庫的文件組成:參數文件(spfile,pfile..),控制文件 (controlfile),日志文件 (redofile..),口令文件 (v$pwfile_users),數據文件,跟蹤文件 (.trace),警告文件 (alert),歸檔文件 (achivlog);

實例與數據庫的關系:

  一個實例對應一個數據庫:單點數據庫(通常情況)

  多個實例對應一個數控庫:OPS 和 RAC(多個 SGA)

  前期的并行服務器:Oracle Paraller Server

  應用集群:Real Application Cluster

 

SGA(system global area)

SGA 是一組包含著一個 oracle 實例的數據和控制信息的共享內存結構

  是為 oracle 系統分配的共享內存;

  是實例的主要組成部分,最影響數據庫性能;

  自動動態管理各種緩沖(ASMM,keep,recycle,redo_log_buffer 不參與動態分配)

SGA 的緩存類型:

1.  db_buffer_cache(數據緩存)

(1) default_pool(普通進程訪問此緩沖區會將該緩存區移動到 LRU 列表的 MRU 端,但是執行 FTS(full table scan)和小表查詢時會放到 LRU 端)

(2) keep pool(數據先進先出,用來放熱點表,VIP 池)

(3) recycle pool(用來放冷點大表,不需要多大空間,吸引冷數據。相當于垃圾池)

(4) db_nk_cache_size(不同內存塊大小以適應不同塊大小表空間)

2.  shared_pool(SGA 中最關鍵內存片段,太小降低性能,太大消耗大量 cpu 資源)

(1)  library_cache(sql 語句緩存)

(2)  data dictionary cache(數據字典緩存)

(3)  other(600 多項部分)

3.  large_pool(常用做備用池)

4.  java_pool(java 開發支持)

5.  redo_log_buffer(記載對數據庫的任何修改,寫入磁盤的 redolog 是實例恢復的依據)

 

SGA 部分重要查詢命令:

設置自動跟蹤統計:

Set autot on stat

Set autot off

Show sga

Select * from v$sga

Show parameter sga;(查看 sga max size,sga target size 大小,運行時是否將 SGAs 鎖定到物理內存(lock sga),啟動時是否都使用物理內存(pre page sga);

Show parametetr pre_page_sga;

Show parameter lock_sga;

Alter system set pre_page_sga=true scope=spfile

alter system set sga_max_size=512M scope=spfile (重啟生效)

show parameter sga_max_size;

show parameter sga_target;

alter system set sga_target_size=400m scope=both (memory –a- s pfile)

Granule_size: sga 內存的顆粒度大小,手工分配內存大小,會自動調整為顆粒度的整數倍。

若 SGA 小于 1G,granule_size=4m

若 SGA 大于 1G granule-size=8m (for windows) granule-size=16m(fro other)

SGA_TARGET  (Automatic shared memory management)

查看各緩存下限值:

Show parameter db_cache_size;

Show parameter shared_pool_size;

Show parameter java_pool_size;

Show parameter large_pool_size;

查看實際大小:

Select  name,current_size from v$buffer_pool;

Select pool,sum(bytes) from v$sgastat group by pool;(查看 java,shared,large pool size)

若需改小某緩沖區的分配下限值,需先關閉 ASMM, 修改完后需將所有緩存下限修改回 0 使 ASMM 能自動管理

查詢當前各池的分配大小:

 Select component,current_size from v$sga_dynamic_components ;

指定對象全表掃描時數據仍放在 MRU 端

  Create table aaa() cache;

 Altert table aaa cache;

修改 keep,recycle 池大小并指定對象使用

Alter system set db_keep_cache_size=10m scope=both

Alter system set db_recycle_cache_size=10m scope=both

Create table aaa()  storage (buffer_pool keep/recycle)

Alter table bbb storage(buffer_pool keep/recycle)

創建非標準內存塊大?。▋却鎵K不為 8k),以建非標準大小塊表空間

  Show parameter db%cache_size;

Alter system set db_16k_cache_size=10m;

Create tablespace I datafile‘/u01/i.dat’size 50m blocksize 16k;

查看 library cache 大小

Select sum(sharable_mem) from v$db_object_cache

清空緩存區:

 Alter system flush shared_pool

設置計時:

Set timing on;

查看保存在 library cache 中保存的已分析 sql 語句

Select * from  v$sqltext where sql_text like‘%dba_object%’;

Select  sql_text from v$sqlarea where sql_text like‘%dba_object%’;

數據字典:

Select * from dict; 查看數據字典

查看數據庫中有哪些用戶:

Select username from dba_users;

查看數據庫中有哪些數據文件;

Select file_name from dba_data_files;

Select name from v$datafile;

查看數據字典緩存的大小

Select sum(sharable) from v$sqlarea;

動態表:

查看系統中所有的動態表:

Select * from v$fixed_table;

Fixed SGA:shared pool 內的 dictionary cache 中的一部分與其他部分附加內存信息會被實例的后臺進程所訪問,在實例啟動后會被固定在 SGA 中,是 SGA 中固定組件;

關于“oracle 中 SGA 區基礎知識與查看命令的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2024-02-04發表,共計3156字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 双流县| 琼结县| 手游| 十堰市| 微山县| 清远市| 宁波市| 文化| 余庆县| 泗水县| 陇南市| 武汉市| 阿合奇县| 邓州市| 连平县| 静宁县| 永定县| 扶风县| 彰化县| 调兵山市| 梧州市| 贺兰县| 玉屏| 临江市| 塔河县| 宜丰县| 晋江市| 池州市| 抚松县| 子长县| 辰溪县| 达日县| 靖安县| 乌兰县| 昭平县| 南皮县| 合山市| 唐山市| 霍山县| 宜君县| 阿拉善左旗|