Oracle 初始化参数&性能视图

Oracle 初始化参数&性能视图》
1.数据库版本
LEO1@LEO1>select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux:Version 11.2.0.1.0 - Production
NLSRTL Version11.2.0.1.0 - Production

2.设置memory_target参数,并通过v$memory_target_advice分析数据库的最佳内存大小
Memory_target:1.是oracle11g中的一个内存调整参数,11g对自动化管理内存方面又继续加强了,原来10g中可以对SGA进行自动管理与分配,11g即可以自动管理SGA,又可以自动管理PGA,对这两部分进行综合管理,自动调整所有内存区的大小。11g中默认为0
现在把这几个参数语法列举一下,这是静态参数需要重启数据库生效
alter systemset memory_max_target= 1000m scope=spfile;
alter system set  memory_target= 1000m scope=spfile;
alter system set sga_max_size=600m scope=spfile;
alter system set pga_aggregate_target=400m scope=spfile;
2.memory_max_target 是设定 Oracle 能占物理内存多大空间,一个是 Oracle SGA 区最大能占多大内存空间+PGA区多大空间,memory_max_target是memory_target上限值,如果只设置了memory_max_target没有设置memory_target,则Oracle认为memory_target=0不使用内存自动管理。
3.如果只设置memory_target,没有设置memory_max_target,则Oracle自动将memory_max_target设置为memory_target。
4.如果同时设置这两个值,则memory_target的上限值为memory_max_target。
这是我的数据库上的参数值
LEO1@LEO1> showparameter memory_max_target
NAME                                 TYPE        VALUE
----------------------------------------------- ------------------------------
memory_max_target                    big integer 652M
LEO1@LEO1> showparameter memory_target
NAME                                 TYPE        VALUE
----------------------------------------------- ------------------------------
memory_target                        big integer 652M
5. 10g 的sga_max_size 是动态分配 Shared Pool Size,database buffer cache,largepool,java pool,redo log buffer 大小的,根据 Oracle 运行状态来重新分配 SGA 各内存区大小。 PGA 在 10g 中需要单独设定(即手工管理)。
实验
下面我们通过以下的几个命令来让大家清楚memory_target 的设置与PGA和SGA的关系
(1)memory_target设置为非0值
Memory_Target=SGA_TARGET+PGA_AGGREGATE_TARGET  ,大小等于memory_max_size 一致。
sga_target和pga_aggregate_target都设置了大小,则这两个参数将做为最小起始值
sga_target  设置大小, pga_aggregate_target  没有设置大小  
          那么 pga_aggregate_target 初始化值 =memory_target-sga_target
sga_target  没有设置大小, pga_aggregate_target  设置大小  
          那么 sga_target 初始化值 =memory_target-pga_aggregate_target
sga_target  和pga_aggregate_target都没有设置大小 Oracle 11g 将根据数据库运行状态自动分配大小。但在数据库启动时会有一个固定比例来分配:
        sga_target =memory_target *60%     pga_aggregate_target=memory_target *40%
(2)memory_target没有设置或等于0(11g中默认为0)
11g中默认为0则初始状态下取消了 memory_target 的作用,完全和10g在内存管理上一致,完全向下兼容。
   (也有三种情况来对 SGA 和 PGA 的大小进行分配)
SGA_TARGET 设置值,则自动调节 SGA 中的 shared pool,buffer cache,redo logbuffer,java pool,larger pool内存区,PGA 则依赖 pga_aggregate_target 的大小单独设置。 sga和 pga不能自动增长和自动缩小。
SGA_target 和PGA_AGGREGATE_TARGET 都没有设置,SGA 中的各内存区大小都要明确设定,不能自动调整各内存区大小。PGA 不能自动增长和收缩。
memory_max_target设置而memory_target =0  这种情况和10g 一样不使用内存自动管理

LEO1@LEO1> showparameter target


>>>阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值