1 SGA_MAX_SIZE的设置参考
      1G内存   500MB
       2G           1G
       4         2500MB
       8         5GB
       16gb       10gb

2 10G的时候,产生了sga_target参数,设置该参数后,就不用另外再设置其他参数了,大小会自动调节,
比如alter system set sga_target=1024M,重新启动数据库起效果

3 LOCK_SGA
   为保证SGA都被锁在物理内存中,不用page in/page out,可以设置lock_sga,默认为false,设定为true时,可以
全部锁在物理内存中
    alter system set lock_sga=true scope=spfile;
  有些操作系统不支持内存锁

4 pre_page_sga
   oracle实例启动时,不会将所有sga设置的内存大小加载到操作系统中去,只是预约内存,如果要实例一开始就加载到物理内存中去,
但启动时间长点,能达到性能好的状态
    alter system set pre_page_sga=true scope=spfile;

5 利用USE_INDIRECT_DATA_BUFFERS突破32位的2G内存限制
    但副作用大,参考:
http://yangtingkun.itpub.net/post/468/492617

http://yangtingkun.itpub.net/post/468/492653
需要注意,使用USE_INDIRECT_DATA_BUFFERS参数,不能在使用其他9i以后新增的内存控制参数了,比如SGA_TARGET、DB_CACHE_SIZE等等

,必须通过DB_BLOCK_BUFFERS参数来指定内存的容量。

6 v$sgainfo
   10g才引入的,可以查询SGA中的信息
   select name,round(bytes/1024/1024)||'MB' "size",resizeable from v$sgainfo;

7 v$sgastat
   SGA的统计信息
   查看内存快还剩下多少
   select pool,name,bytes/1024/1024MB from v$sgastat where name='free memory'

8 v$sga_target_advice
   当设置了sga_target后,oracle会收集SGA相关的统计信息,通过v$sga_target_advice展现
还要确保statsistics_level参数不能为basic

show parameter statistics_level;

SQL> desc v$sga_target_advice
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
SGA_SIZE                                           NUMBER         --sga大小,就是sga的期望值
SGA_SIZE_FACTOR                                    NUMBER     --sga大小因子,也就是与实际sga大小的百分比
ESTD_DB_TIME                                       NUMBER     --设置到sga_size后dbtime消耗的期望变化
ESTD_DB_TIME_FACTOR                                NUMBER     --dbtime消耗的变化因子,也就是体现出改变sga大小后性能的变化

百分比
ESTD_PHYSICAL_READS                                NUMBER     --物理读的百分比
--SGA_SIZE_FACTOR为1代表的是当前实际sga大小。
SQL> select * from v$sga_target_advice order by sga_size;

9 数据缓冲区
   1. 数据库高速缓冲区的大小设置

数据库高速缓冲区大小的设置有两种方式:

第一种方式是直接在参数文件内设置DB_CACHE_SIZE,DB_CACHE_SIZE参数是9i之后的版本才有的参数,其默认值为48 MB。

第二种方式是利用DB_BLOCK_BUFFERS和DB_BLOCK_SIZE这两个参数,DB_BLOCK_BUFFERS指定了数据库高速缓冲区中块的数量,DB_BLOCK_SIZE

则指定了每个块的大小。因此,数据库高速缓冲区的大小就等于DB_BLOCK_ BUFFERS×DB_BLOCK_SIZE。9i之后的版本,块的大小的默认值是

8 KB。

提示

DB_CACHE_SIZE和DB_BLOCK_BUFFERS是不能同时设置的,否则当实例启动时会有错误信息。

DB_CACHE_SIZE是可以动态修改的参数,修改后实例不需要重启。

按照一般经验,联机事务处理系统(On-line Transaction Processing,OLTP)中DB_CACHE_SIZE的大小可设置为SGA_MAX_SIZE/2到

SGA_MAX_SIZE×2/3之间,但还是需要根据实际的情况进行调整。
   2. 清除数据库高速缓冲区

之前提到过,Dirty Buffer是指存放已修改,但尚未写入数据库的数据。如果数据库高速缓冲区中存在大量的Dirty Buffer,那么,就可能

导致整体性能下降,此时可以使用人工的方式将Dirty Buffer整批地写回到数据文件内。

在Oracle 9i版本中,可以使用以下的语句。

alter system set events = 'immediate trace name flush_cache';
另外,9i版本设置事件的方式可以是针对系统全部的,也可以是针对会话的(即,将该会话造成的Dirty Buffer写回)。

10g之后的版本(包含10g),可以使用以下方式。

alter system flush buffer_cache;
提示

Oracle 9i版本的方式可以针对整个系统进行Flush,也可以针对会话进行,将会话内的Dirty Buffer写回到数据文件内。

Oracle 9i版本的方式在Oracle 10g之后依然可以使用。

3  数据库高速缓冲区的分区管理
    回收池(Recycle Pool)中:放到回收池中的数据,只要空间不够用,它们马上就会被释放出来。被放在回收池中的数据块不会被反复使

用。也就是说,这些数据块只在事务(Transaction)还存在时才会被用到,一旦事务结束,就会被释放出来。回收池的大小最好是默认池的

1/2。

保留池(Keep Pool):当数据只要放到保留池里时,就代表这个数据是需要常常被重复使用的,数据如果已经被放在保留池里,则数据会尽

可能地被放在里面。保留池的大小应该是默认池的10%

默认池(Default Pool):当没有指定时,数据就会放在默认池中,也就是说,放在默认池的数据利用的是LRU机制。

10 数据缓冲区的重要参数
    1)DB_CACHE_ADVICE
      从Oracle 9i版本开始,Oracle提供了一些自动检测性能的工具,用于提高系统性能。DB_CACHE_ADVICE就是其中一种,设置

DB_CACHE_ADVICE的作用就是在系统运行的过程中,通过监控相关的统计数据,为DBA提供数据库高速缓冲区的相关信息,以做最佳的调整。

DB_CACHE_ADVICE的设置有三种方式:

DB_CACHE_ADVICE=OFF  
DB_CACHE_ADVICE=ON  
DB_CACHE_ADVICE=READY  
OFF代表不打开DB_CACHE_ADVICE。

DB_CACHE_ADVICE=ON表示开启DB_CACHE_ADVICE,但要注意,一旦开启(即为ON)时,Oracle会从共享池中获取一些内存空间,所以有可能会

影响性能。

DB_CACHE_ADVICE=READY表示在下次打开实例时,会预先分配足够的内存,通常建议使用此方式。

DB_CACHE_ADVICE可以动态设置,也就是使用ALTER SYSTEM SET…来修改,并且当DB_CACHE_ADVICE开启后,会将统计数据存储到V

$DB_CACHE_ADVICE内。

2) 2. DB_nK_CACHE_SIZE

Oracle 9i以后的版本可以同时支持不同大小的数据块(2 KB、4 KB、8 KB、16 KB及32 KB等5种),除了DB_BLOCK_SIZE之外,还可以设

置其他的大小,并且可以为不同尺寸的数据块指定不同大小的数据库高速缓冲区。而DB_BLOCK_SIZE的参数设置,称为标准数据块(Standard

Block),区间在2 KB至32 KB之间。在9i以后,除了系统表空间(System Tablespace)和临时表空间(Temporary Tablespace)必须使用标准数

据块外,所有其他表空间最多可以指定4种不同的标准数据块大小。

当设置好DB_nK_CACHE_SIZE之后,在配置表空间中可通过BLOCKSIZE参数来指定数据块大小,如以下示例所示。

在参数文件内设置DB_nK_CACHE_SIZE的方法如下:
   db_16k_cache_size=16M
  此参数也可以动态设置,语句示例如下
   ALTER SYSTEM SET db_16k_cache_size = 16 SCOPE=MEMORY;  
ALTER SYSTEM SET db_32k_cache_size = 32 SCOPE=MEMORY;  
ALTER SYSTEM SET db_4k_cache_size = 4 SCOPE=MEMORY;  
ALTER SYSTEM SET db_8k_cache_size = 8 SCOPE=MEMORY; 
     提示

不同大小的数据块不能相互混合存储。一个16 K的表空间必须通过DB_16K_CACHE_ SIZE来指定数据库高速缓冲区,不可以用4 K去存储。

如果DB_BLOCK_SIZE设置为8 K,就不可以再设置DB_8K_CACHE_SIZE 参数。

lt;lt;oracle管理之道》读书笔记1相关推荐

  1. Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理

    Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...

  2. 数据之道读书笔记-03差异化的企业数据分类管理框架

    数据之道读书笔记-03差异化的企业数据分类管理框架 不同的企业或组织基于不同的目的,可以从多个角度对数据进行分类,如结构化数据和非结构化数据.内部数据和外部数据.原始数据和衍生数据.明细数据和汇总数据 ...

  3. 数据之道读书笔记-06面向“自助消费”的数据服务建设

    数据之道读书笔记-06面向"自助消费"的数据服务建设 数据底座建设的目标是更好地支撑数据消费,在完成数据的汇聚.整合.联接之后,还需要在供应侧确保用户更便捷.更安全地获取数据.一方 ...

  4. 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复

    原文:<SQL Server企业级平台管理实践>读书笔记--几个系统库的备份与恢复 master数据库 master作为数据库的主要数据库,记录着SQL Server系统的所有系统级信息, ...

  5. Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据

    Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...

  6. 每个人的商学院--管理基础(第三章:管理工具)--读书笔记

    第三章:管理工具 面向业绩:梦想归梦想,绩效归绩效 读书笔记: 管理工作并非总能收获大团圆的结局,还要时常做出真正艰难的决定. 管理只对绩效负责. 绩效就是达成公司的经营目标. 公司里的两层关系:第一 ...

  7. 每个人的商学院--管理基础(第五章:管理常见病)--读书笔记

    破窗效应:无序邀请无序,混乱引发混乱 读书笔记: 建立秩序非常困难,可秩序一旦被破坏,将如山崩地裂般顷刻间灰飞烟灭. 作为管理者,必须高度重视破窗效应:1.立即处理(一旦发现破窗就要立即修补,否则,破 ...

  8. 你想学习吗?你会学习吗?你知道该如何学习吗?学习之道-读书笔记

    作者: [美] 芭芭拉·奥克利(Barbara Oakley):出版社: 机械工业出版社 :出版年: 2016-11 前言 我们的大脑潜力无穷,却没有配备使用手册 思考:大脑没有使用说明手册,想要很好 ...

  9. 复制:高效程序员的45个习惯敏捷开发修炼之道 读书笔记

    为什么80%的码农都做不了架构师?>>>    第一章 敏捷-高效软件开发之道 什么是敏捷开发方法? 从语法简单到c语言,从面向过程到面向对象语言到语言标准的建立,再到设计模式,以及 ...

最新文章

  1. css 字体大小_用一个 CSS 属性打造自适应网站
  2. 离散傅里叶变换(DFT)(为了使用而学习的DFT)
  3. 日期代码的js 中将2012年显示成了112年
  4. Docker 学习资源整理
  5. “元宇宙” 是什么东西?
  6. 在RHEL5/CentOS5上配置使用Open×××
  7. 使用 Swift 在 iOS 10 中集成 Siri —— SiriKit 教程
  8. Log4j配置学习文档之三 参考
  9. Linux虚拟网络设备之tun/tap
  10. vilatile用法总结
  11. HYSBZ - 2243 染色 (树链剖分+线段树)
  12. WinPE启动盘制作
  13. [openwrt]:斐讯K3C OPCC+中大H3C校园网认证配置指南(一)
  14. 【Nginx服务优化与防盗链】
  15. 十月上旬百度 阿里巴巴 迅雷搜狗最新面试七十题 第201 270题
  16. 《计算机网络》笔记摘抄汇总
  17. !include: could not find: nsProcess.nsh
  18. 如何让计算机停止打印,电脑打印提示print Splooer停止无法使用怎么办
  19. JDBC问题: Unknown error 1146 Query
  20. 国行Android手机使用google全套GMS服务小结

热门文章

  1. 电商类网站需要办理icp许可证吗
  2. 华北科技学院 嵌入式实训知识点
  3. ProxyPool 爬虫代理IP池安装与使用(附官方文档)
  4. 感冒引起了鼻窦炎?我的头痛是因为这个吗?治疗过程手记!
  5. python做一个冒险游戏
  6. Python Celery异步快速下载股票数据!炒股还怕输吗?
  7. Activiti 中的 Start event(启动事件元素)介绍
  8. 关于电子科技大学清水河校区流浪猫狗的调研报告.
  9. PyTorch学习笔记-Convolution Layers与Pooling Layers
  10. MicMac 命令集