Oracle内存相关知识整理

           今天整理一下oracle内存知识,如果oracle内存分配不到位则会非常影像性能,oracle有自动内存管理,但是我们在自己管理运维的时候,还是应该知道内存的原则。我们oracle都是运行在操作系统之上的,所以我们需要流出一部分给操作系统使用,我们一般操作系统留20%即可,其余的都留给数据库使用,而数据库内存又分为了sg和pga,今天我们就来分别说说,我们举例来说,加入我们的服务器内存是100GB,那么我们分给操作系统的就是80GB,而pga占用20%左右即可,这样我们分给sga就是60G。sga我们分配的主要是sga_target和sga_max_target,其中注意sga_target小于等于sga_max_target。以下是实际分配情况,留作备用。 

 

SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      package/orcl/spfileorcl.ora

SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      package/orcl/spfileorcl.ora

SQL> show parameter target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target                   integer     0
db_flashback_retention_target        integer     1440
fast_start_io_target                 integer     0
fast_start_mttr_target               integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
parallel_servers_target              integer     1280
pga_aggregate_target                 big integer 19468M
sga_target                           big integer 58496M

SQL> show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 58496M
sga_target                           big integer 58496M

SQL> show parameter pga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 19468M

SQL> show parameter memory

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
shared_memory_address                integer     0

SQL> 

Oracle 10g中实现了SGA的自动分配(服务器内存10G)

show parameter sga_target;

show parameter pga_aggregate_target;

show parameter sga_max_size;--SGA的最大分配

alter system set sga_target=6G scope=spfile;
alter system set pga_aggregate_target=2G scope=spfile;

Oracle内存最最一般点服务器的80%,SGA与PGA比例为8:2

 

Oracle 11g中实现了SGA、PGA的自动分配(服务器内存10G)

show parameter memory_target;
show parameter memory_max_target;
alter system set memory_target=8G scope=spfile;
alter system set memory_max_target=8G scope=spfile;
sga_target:默认设置为0
pga_aggregate_target:默认设置为0

注意,以上两种方式都能实现内存的修改,但是我们修改之后要注意一下scope,主要有三种范围,分别是spfile,memory,both

第一种是需要重启服务器后生效,第二种重启服务器后失效,第三种是同时生效。我们一般都是使用第三种。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值