Oracle Memory Structures

Oracle 在内存中存储以下信息:
         1.程序代码
         2.已连接的会话(session)信息,包括当前活动的(active)及非活动的会话
         3.程序执行过程中所需的信息( 例如,某个查询的状态) 
         4.需要在 Oracle 进程间共享并进行通信的信息(例如,锁信息)
         5.数据文件内数据的缓存(例如 数据块 data block 及重做日志条目(redo log entry)

ORACLE 基本内存结构 包括: 
                                                      1.系统全局区    (system global area)             server 进程 和  后台进程 共享

                                  java池               large 池        buffer cache           shared_pool          redo buffer          stream pool          数据字典缓冲区///

在 SGA 之外,存在服务进程,后台进程,及 Oracle 进程,她们能够和 SGA 交换信息。同时每个进程还需与其 PGA 通信
                                
                                                      2 .程序全局区   pga                     每个进程自己私有pga 

                                                      3. code area   软件代码区

系统全局区 sga 是一组包含ORACLE数据实例控制信息共享内存结构。多个用户并发连接到同一实例,用户共享SGA数据 
                      用户关闭实例时由操作系统负责内存回收。    sga 可读写      fixed sga :sga中包含数据库实例状态信息,后台使用 ,  用户数据不存储在这里。

sga_target  非静态参数可直接修改   sga_max_size 静态参数   sga_max_size 会根据sga_target 调整

             看

SQL> show parameter sga

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

SQL> alter system set sga_target=240m;
SQL> show parameter sga_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----
sga_target                           big integer 240M
SQL> show parameter sga_max

NAME                                 TYPE        VALUE
------------------------------------ ----------- --------
sga_max_size                         big integer 252M
SQL> shutdown immediate
SQL> startup
SQL> show parameter sga
sga_max_size                         big integer 240M
sga_target                                big integer 240M
SQL> alter system set sga_target=250m;
alter system set sga_target=250m
*
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00823: 指定的 sga_target 的值大于 sga_max_size

 

实例监控自动调整的内存组件性能 。  根据内部视图和各种统计信息来决定内存分配使用。
少量sga内存组件不能自动调整 1.保留/回收缓冲区  keep/Recycle buffer cache   db_keep_cache_sizedb_recycle_cache_size 参数设置  2.非标准容量数据块使用的缓存 db_nk_cache_size   3. log_buffer   4. streams_pool_size

使用spfile    oracle shutdown 能够记录各个自动调整内存组件的容量。后启动评估负载特性

待续

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/377444/viewspace-90055/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/377444/viewspace-90055/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值