您现在的位置是:群英 > 数据库 > 关系型数据库
oracle sga用处是什么,sga由什么组成
Admin发表于 2022-05-07 17:50:371760 次浏览
这篇文章给大家分享的是“oracle sga用处是什么,sga由什么组成”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“oracle sga用处是什么,sga由什么组成”吧。

sga指的是“系统全局区”,是ORACLE为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。sga主要由共享池、数据缓冲区、重作日志缓冲区组成;其中数据缓冲区用来存储最近从数据文件中读写过的数据。

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

内存结构是oracle数据库最重要的组成部分之一,在数据库中的操作或多或少都会依赖到内存,是影响数据库性能的重要因素Oracle数据库中包括3个基本的内存结构:

下面给大家介绍一些内存结构中的sga。

oracle sga简介

sga全称“System Global Area”,中文意思为“系统全局区”,是ORACLE为实例分配的一组共享缓冲存储区,主要用于存放数据库数据和控制信息,该信息为数据库进程所共享(PGA不能共享的),以实现对数据库数据的管理和操作。

它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

SGA是一组共享内存结构, 被所有的服务和后台进程所共享。当数据库实例启动时,系统全局区内存被自动分配。当数据库实例关闭时,SGA内存被回收。 SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素。

查询SGA区的情况:

SQL> show SGA

Total System Global Area 3290345472 bytes
Fixed Size            2217832 bytes
Variable Size         1795164312 bytes
Database Buffers     1476395008 bytes
Redo Buffers           16568320 bytes
SQL> select * from v$sga;

NAME              VALUE
-------------------- ----------
Fixed Size        2217832
Variable Size         1795164312
Database Buffers     1476395008
Redo Buffers           16568320
  • Fixed Size表示固定区域,存储SGA各个组件的信息。不能修改大小。

  • Variable Size表示可变区域,比如共享池、java池、大池等。

  • Database Buffers表示数据库高速缓冲区。

  • Redo Buffers表示日志缓冲区。

SGA主要包括:

系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。

1、共享池(shared pool) :用来存储最近执行的SQL语句和最近使用的数据字典的数据。

它主要由两个内存结构构成:Library cache和Data dictionary cache

修改共享池的大小:ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

Library Cache缓存被执行的SQL和PL/SQL的相关信息,即存放SQL语句的文本,分析后的代码及执行计划。实现常用语句的共享,使用LRU算法进行管理,由以下两个结构构成:Shared SQL area、Shared PL/SQL area;

Data Dictionary Cache缓存被使用的数据库定义,即存放有关表、列和其它对象定义及权限。它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。在语法分析阶段,Server Process访问数据字典中的信息以解析对象名和对存取操作进行验证。数据字典信息缓存在内存中有助于缩短响应时间。

2、数据缓冲区 (database buffer cache):用来存储最近从数据文件中读写过的数据。

在数据高速缓冲区中存放着Oracle系统使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用户访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。数据高速缓冲区包括三个类型的区:

1) 脏数据区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。

2) 自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块该区。

3) 保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。

3、重作日志缓冲区(redo log buffer):用来记录服务或后台进程对数据库的操作。

主要用于恢复其中的每一项修改记录都被称为redo 条目。利用Redo条目的信息可以重做修改。

另外在SGA中还有两个可选的内存结构:

4、Java池(Java Pool): 用来存储Java代码。

5、大型池(Large Pool): 用来存储不与SQL直接相关的大型内存结构。备份、恢复使用。


以上就是关于“oracle sga用处是什么,sga由什么组成”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: oracle sga
相关信息推荐
2022-07-01 17:51:04 
摘要:这篇文章主要介绍了Oracle Sqlplus命令登录多种方式案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
2022-10-25 18:10:20 
摘要:本篇文章给大家带来了关于MySQL的相关知识,其中主要整理了约束与多表查询的相关问题,约束是作用于表中字段上的规则,用于限制存储在表中的数据,下面一起来看一下,希望对大家有帮助。
2022-08-11 17:40:09 
摘要:在oracle中,可以利用revoke取消dba权限,revoke可以对权限进行撤销操作,并且执行该语句需要执行者本来就具有dba权限,语法为“revoke dba from user_Name;”。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部