返回顶部
首页 > 资讯 > 数据库 >数据库中如何查询pga/sga及组件值
  • 951
分享到

数据库中如何查询pga/sga及组件值

2024-04-02 19:04:59 951人浏览 安东尼
摘要

这篇文章主要介绍数据库中如何查询pga/sga及组件值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 查询buffer_cache设置的大小对于物理读次数

这篇文章主要介绍数据库中如何查询pga/sga及组件值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

查询buffer_cache设置的大小对于物理读次数和时间的预估影响:
select size_for_estimate         "Cache Size (MB)",
       size_factor,
       buffers_for_estimate      "Buffers",
       estd_physical_read_factor est_read_factor,
       estd_physical_reads       estd_phy_red,
       estd_physical_read_time   est_phy_red_t
  from v$db_cache_advice
 where name = 'DEFAULT'
   and block_size =
       (select value from v$parameter where name = 'db_block_size');


查询当sga组件大小
sql> select component,current_size,max_size,min_size from v$sga_dynamic_components;

COMPONENT                                                        CURRENT_SIZE   MAX_SIZE   MIN_SIZE
---------------------------------------------------------------- ------------ ---------- ----------
shared pool                                                        4294967296          0 4294967296
large pool                                                          268435456          0  268435456
java pool                                                           134217728          0  134217728
streams pool                                                        436207616          0  436207616
DEFAULT buffer cache                                               1.6744E+10          0 1.6744E+10
KEEP buffer cache                                                           0          0          0
RECYCLE buffer cache                                                        0          0          0
DEFAULT 2K buffer cache                                                     0          0          0
DEFAULT 4K buffer cache                                                     0          0          0
DEFAULT 8K buffer cache                                                     0          0          0
DEFAULT 16K buffer cache                                                    0          0          0

COMPONENT                                                        CURRENT_SIZE   MAX_SIZE   MIN_SIZE
---------------------------------------------------------------- ------------ ---------- ----------
DEFAULT 32K buffer cache                                                    0          0          0
ASM Buffer Cache                                                            0          0          0

13 rows selected.

SQL>


SQL>  select pool,sum(bytes/1024/1024) size_m from v$sgastat group by pool;

POOL             SIZE_M
------------ ----------
             15983.9976
shared pool  4126.17428
streams pool  416.03157
large pool          256
java pool           128



oracle 提供了多个初始化参数,来设置SGA中各个部分的内存大小
SQL> show parameter shared_pool_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size                     big integer 244M
控制共享池的大小,实例运行期间可以动态调整


SQL> show parameter java_pool_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_pool_size                       big integer 52M
 控制JAVA池的大小,实例运行期间可以动态调整


SQL> show parameter large_pool_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
large_pool_size                      big integer 60M
 控制大池的大小,实例运行期间可以动态调整


SQL> show  parameter streams_pool_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size                    big integer 0
 控制流池的大小,实例运行期间可以动态调整


SQL> show parameter db_cache_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_cache_size                        big integer 160M
控制数据缓冲区的大小,实例运行期间可以动态调整


SQL> show parameter log_buffer;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_buffer                           integer     5603328
 控制日志缓冲区的大小,该参数在运行期间是不能修改的。


SQL> show parameter sga_target;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_target                           big integer 0
与SGA的自动管理相关,如果值是零,需要DBA手动管理SGA


SQL> show parameter sga_max_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 524M
sga可以使用的最大内存,sga_target的值不能超过sga_max_size,在为SGA中个部分组成 分配内存时,SGA的总内存不能超过sga_max_size设置的值,否则会报错。sga_max_size 在实例运行期间不能够动态调整,必须先修改初始化参数文件,然后重启实例。
sga_max_size参数仅在实例运行期间有效,如果实例启动时发现SGA各部分组成的参数值 总和大于sga_max_size,实例会忽略当前设置的sga_max_size值,并修改sga_max_size为 当前SGA的最大值。
 
SQL> show parameter statistics_level;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
statistics_level                     string      TYPICAL
 该值与SGA内存的自动管理相关,值为typical或者all的时候oracle会根据会更加收集到的相关统计信息作为参照,确定如何分配SGA中的各部分内存。
 
 oracle SGA中的各部分内存都是以粒度进行分配与回收。粒度的大小不能由DBA设定,取决与SGA的大小,系统平台的类型。 在大多数平台下SGA<1G 粒度是4MB,SGA>1G 粒度是16MB。 在win32平台下,SGA>1G,粒度是8MB。设置oracle SGA中各部分的值时,需要是oracle 粒度的整倍数,否则oracle会自动进行调整
SQL> select component,granule_size from v$sga_dynamic_components;
 
COMPONENT                                                        GRANULE_SIZE
---------------------------------------------------------------- ------------
shared pool                                                           4194304
large pool                                                            4194304
java pool                                                             4194304
streams pool                                                          4194304
DEFAULT buffer cache                                                  4194304
KEEP buffer cache                                                     4194304
RECYCLE buffer cache                                                  4194304
DEFAULT 2K buffer cache                                               4194304
DEFAULT 4K buffer cache                                               4194304
DEFAULT 8K buffer cache                                               4194304
DEFAULT 16K buffer cache                                              4194304
DEFAULT 32K buffer cache                                              4194304
Shared IO Pool                                                        4194304
ASM Buffer Cache                                                      4194304
14 rows selected
oracle SGA中各部分组成粒度值

SQL> select name,bytes from v$sgainfo;
NAME                                  BYTES
-------------------------------- ----------
Fixed SGA Size                      1375820    存储数据库与实例的状态信息
Redo Buffers                        5795840
Buffer Cache Size                 167772160
Shared Pool Size                  255852544
data dictionary cache              62914560
Java Pool Size                     54525952
Streams Pool Size                         0
Shared IO Pool Size                       0
Granule Size                        4194304
Maximum SGA Size                  548237312
Startup overhead in Shared Pool    58720256
Free SGA Memory Available                 0
SGA中各部分内存分配情况查看
 
SQL> select * from v$sga;
 
NAME                      VALUE
-------------------- ----------
Fixed Size              1375820
Variable Size         373293492 包括共享池,大池,java池,流池几个组成部分。
Database Buffers      167772160  数据缓冲区(Buffer Cache Size)
Redo Buffers            5795840
SGA中各部分内存分配情况查看。

SGA中各个部分所使用的内存只能供自己使用,相互之间无法共享。如果Java Pool分配了1G的内存,但是当前数据库并没有运用流特性,分配给流池的空间也不能被SGA中的其他
组件使用。所以使用alter system set 设置SGA中各部分组成的内存的时候,需要谨慎设置以免导致系统内存的浪费,性能损耗。

SQL> show parameter shared_pool_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size                     big integer 244M
 
SQL> alter system set shared_pool_size=230m;
System altered

SQL> show parameter shared_pool_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size                     big integer 232M  
 

oracle自动根据粒度调整为粒度(此处是4MB)进行调整。


SQL> show parameter pga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 4G

SQL> select * from v$pgastat;

NAME                                                                  VALUE UNIT
---------------------------------------------------------------- ---------- ------------
aggregate PGA target parameter                                   4294967296 bytes
aggregate PGA auto target                                        2837357568 bytes
global memory bound                                               429496320 bytes
total PGA inuse                                                  1607690240 bytes
total PGA allocated                                              2188926976 bytes
maximum PGA allocated                                            1.0088E+10 bytes
total freeable PGA memory                                         176619520 bytes
process count                                                           336
max processes count                                                    1115
PGA memory freed back to OS                                      7.4384E+13 bytes
total PGA used for auto workareas                                 464832512 bytes

NAME                                                                  VALUE UNIT
---------------------------------------------------------------- ---------- ------------
maximum PGA used for auto workareas                              5814672384 bytes
total PGA used for manual workareas                                       0 bytes
maximum PGA used for manual workareas                               1062912 bytes
over allocation count                                                 82922
bytes processed                                                  3.2595E+14 bytes
extra bytes read/written                                         4.6775E+12 bytes
cache hit percentage                                                  98.58 percent
recompute count (total)                                            15634412

19 rows selected.

SQL>

以上是“数据库中如何查询pga/sga及组件值”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库中如何查询pga/sga及组件值

本文链接: https://lsjlt.com/news/64690.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 数据库中如何查询pga/sga及组件值
    这篇文章主要介绍数据库中如何查询pga/sga及组件值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 查询buffer_cache设置的大小对于物理读次数...
    99+
    2024-04-02
  • 如何查询数据库已经安装组件
    小编给大家分享一下如何查询数据库已经安装组件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! --查询数据库已经安装组件 SQ...
    99+
    2024-04-02
  • PHP中如何查询数据库
    小编给大家分享一下PHP中如何查询数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!查询方法应该如何实现:我们根据以前所讲的原...
    99+
    2024-04-02
  • 如何查询SQLite数据库中的数据
    要查询SQLite数据库中的数据,可以使用SQL语句来执行查询操作。以下是一个示例: SELECT * FROM table...
    99+
    2024-04-09
    SQLite
  • php如何查询数据库并截取字段值
    本篇内容介绍了“php如何查询数据库并截取字段值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、连接数据库在PHP中,首先需要连接数据库才...
    99+
    2023-07-05
  • mysql中如何查询前90%的数据值
    这篇文章主要为大家展示了“mysql中如何查询前90%的数据值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中如何查询前90%的数据值”这篇文章吧。 ...
    99+
    2024-04-02
  • php如何对数组值模糊查询
    这篇文章主要介绍了php如何对数组值模糊查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何对数组值模糊查询文章都会有所收获,下面我们一起来看看吧。一、使用 array_filter 函数functio...
    99+
    2023-07-06
  • 如何查询数据库版本及字符集
    小编给大家分享一下如何查询数据库版本及字符集,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它...
    99+
    2024-04-02
  • YII2数据库如何查询
    小编给大家分享一下YII2数据库如何查询,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据库配置。/config/db.php ...
    99+
    2024-04-02
  • LINQ如何查询数据库
    这篇文章给大家分享的是有关LINQ如何查询数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。您可以通过LINQ来编写针对各种数据源的查询访问信息。您不必在使用SQL语法,因为LINQ提供了c#语言来处理,并提供...
    99+
    2023-06-17
  • mysql数据库存数组类型数据,如何判断数组中是否包含某个值?使用mybatisplus查询。
    跟mybatisplus中.in()方法相反的函数 mybatisplus的in函数:查询的是数据库的某个属性的值是否在给定的集合中。这里我们讲的是一个值是否在数据库的某个属性数组中。 说明:这是一张学生信息表,其中包含了学生曾经就读过的学...
    99+
    2023-08-19
    数据库 mysql java
  • Mysql 查询分组数据中每组某一数值最大的数据
    方法一、将时间进行排序后再分组 该表表名为customer,  park_id表示园区id,joined_at表示用户的加入时间,created_at表示用户的创建时间。 需求:查出每个园区中,最早加入园区的第一位用户 selec...
    99+
    2023-09-06
    mysql 数据库 sql
  • 如何使用PHP查询数据库数值进行操作
    PHP是一种非常流行的服务器端编程语言,广泛用于Web开发。在Web开发中,PHP通常与数据库一起使用,以更好地管理和操作数据。在本文中,我们将介绍如何使用PHP查询数据库数值进行操作。首先,我们需要连接到数据库。PHP提供了许多库和扩展来...
    99+
    2023-05-14
    php 数据库
  • Laravel8中如何优化数据库查询
    这篇文章主要介绍了Laravel8中如何优化数据库查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Laravel8中如何优化数据库查询文章都会有所收获,下面我们一起来看看吧。    &nb...
    99+
    2023-06-29
  • sqlserver如何查询数据库数据量
    要查询数据库中的数据量,可以使用以下SQL语句: SELECT COUNT(*) AS TotalRows FROM You...
    99+
    2024-04-12
    sqlserver
  • PHP中如何查询数组中的数据类型
    标题:PHP中查询数组中的数据类型及具体实现方法 在PHP中,数组是一种非常常用的数据结构,用于存储多个相关元素。有时候我们需要查询数组中元素的数据类型,以便进行进一步的处理或者验证。...
    99+
    2024-03-14
  • php如何在二维数组中查询数据
    这篇文章主要介绍了php如何在二维数组中查询数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何在二维数组中查询数据文章都会有所收获,下面我们一起来看看吧。I. 建立一个简单的二维数组首先,让我们来创建...
    99+
    2023-07-06
  • 如何用数据库分页查询语句进行数据库查询
    这篇文章主要介绍“如何用数据库分页查询语句进行数据库查询”,在日常操作中,相信很多人在如何用数据库分页查询语句进行数据库查询问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何...
    99+
    2024-04-02
  • php如何查询数组字段最小值
    这篇文章给大家分享的是有关php如何查询数组字段最小值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php查询数组字段最小值的方法:1、定义一个数组;2、使用内置函数min()获取数组中的最小值;3、打印得到的最...
    99+
    2023-06-21
  • php如何查询数据库中某年的数据
    这篇文章主要介绍“php如何查询数据库中某年的数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何查询数据库中某年的数据”文章能帮助大家解决问题。首先,我们需要连接数据库,例如连接MySql...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作