暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE SGA和PGA管理

bjgzxx 2023-12-25
488

# Memory_Target =SGA_TARGET+PGA_AGGREGATE_TARGET ,大小和memory_max_size一致
SQL> alter system set memory_target=4096M scope=spfile;

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

# 查询SGA区的情况
SQL> show SGA
SQL> select * from v$sga;

# 参数调优
(1)修改SGA大小
SQL> alter system set sga_target=4096M scope=spfile;


(2)共享池 Shared Pool:
# 查看共享池大小Sql代码:
SQL> show parameter shared_pool_size;

# 修改共享池大小的Sql代码:
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;


(3)缓冲区高速缓存 Database Buffer Cache:
# 查看其大小的Sql代码:
SQL> show parameter db_cache_size;

# 修改缓冲区高速缓存大小
SQL> alter system set db_cache_size=4096M scope=spfile;


(4)日志缓冲区
# 查看日志缓冲区使用情况的Sql代码:
SQL> SELECT name, value FROM v$sysstat WHERE name IN ('redo entries','redo log space requests');


(5)大型池
# 指定Large Pool的大小:
SQL> ALTER SYSTEM SET LARGE_POOL_SIZE=64M;



2. PGA
# PGA包含单个服务器进程或单个后台进程的数据和控制信息,PGA 是为每个连接到Oracle database的用户进程保留的内存,PGA 在创建进程时分配,在终止进程时回收。

(1)PGA_AGGREGATE_TARGET初始化设置

SQL> alter system set workarea_size_policy=auto scope=both;

SQL> alter system set pga_aggregate_target=512m scope=both;

SQL> show parameter workarea

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

workarea_size_policy string AUTO --这个设置成AUTO

SQL> show parameter pga

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

pga_aggregate_target big integer 536870912

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论