Tuning the Shared Pool的基本概念

这是一篇学习Performance Tuning——Tuning the Shared Pool的学习笔记,主要是基本的概念。

共享池体系结构

shared pool architecture

共享池的基本用途是充当元数据高速缓存。共享池多数是用来支持共享SQL和PL/SQL程序包的执行的。

共享池的主要组件包括:

  • 库高速缓存,它将共享的SQL和PL/SQL代码以及对象元数据存储在按名称空间进行区分的各个区域中
  • 数据字典高速缓存,它报错数据字典表中的 row images,又称row cache(行高速缓存)
  • 结果高速缓存(results cache)保存查询结果集和查询碎片,因此后续查询可直接从该高速缓存中检索结果

共享池中的空间分配由最近最少使用(LRU(least recently used))的算法进行管理。

阅读更多

Using Baseline

这是一篇学习baseline的笔记,主要讲述:基本的概念、使用sql创建和管理(删除),单一AWR基线、基线模板、修改默认的Moving Window Baselin的大小。

在 Oracle Database 11g 中,AWR基线提供了定义动态和未来基线的强大功能,并在很大程度上简化了创建和管理性能数据(以便比较)的过程。

Comparative Performance Analysis with AWR Baselines

Oracle Database 11g 默认具备一个系统定义的Moving Window Baseline,该基线对应于 AWR 保留期中的所有 AWR 数据。仅可存在一个Moving Window Baseline。系统定义的Moving Window Baseline认大小为当前的AWR保留期,即默认为八天。

如果要增大Moving Window Baseline,首先需要相应增大AWR保留期。AWR保留期和系统定义的Moving Window Baseline的大小是两个独立的参数。但是AWR保留期必须大于或等于系统定义的Moving Window Baseline的大小。

Oracle Database 11g 提供了收集两种基线的功能:静态基线和Moving Window Baseline。 静态基线可以是单一的,也可以是重复的。单一 AWR 基线是在单一时段内收集的。重复基线是在重复的时段(例如,六月份的每个星期一)内收集的。

在 Oracle Database 11g 中,如果 STATISTICS_LEVEL=TYPICAL 或 ALL,则默认启用基线。

基线视图

  • DBA_HIST_BASELINE:显示有关系统中所获取的基线的信息。对于每个基线,该视图显示完整的时间范围,以及该基线是否为默认基线。其它信息包括创建日期、上一次统计信息计算的时间和基线类型。
  • DBA_HIST_BASELINE_DETAILS:显示可用来确定给定基线有效性的信息,如基线时段期间是否存在关闭操作及基线时段中由快照数据覆盖的百分比。
  • DBA_HIST_BASELINE_TEMPLATE:保存了基线模板。该视图提供了 MMON 所需的信息,用以确定何时根据模板创建基线,以及何时应删除基线。
  • DBA_HIST_BASELINE_METADATA:显示基线的元数据信息,包括名称、类型、创建时间、模板和失效时间。

如果要在过去的某个时段创建基线,则使用 CREATE_BASELINE 过程;如果时段有任何部分处于未来,则使用 CREATE_BASELINE_TEMPLATE 过程。

阅读更多

创建非标准块的表空间

在默认情况下创建的数据库块大小是由db_block_size参数决定的,一般默认是8k,即8192。db_block_size参数在建库时设置好后,就无法更改。这时候如果我们想要创建16k的表空间用来存放索引,那又该怎么办呢?

DB_BLOCK_SIZE参数

SQL> show parameter db_block_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_size                        integer     8192
SQL>

db_block_size是指定一个Oracle DB块的大小(字节)。此值是在创建数据库时设置的,此后不可更改。此值指定了数据库的标准块大小。所有表空间默认情况下将使用该大小。取值范围:2048到32768(与操作系统相关),即32位操作系统,最大为16k,64位系统最大为32k。默认值:8192 。

表空间的数据文件容量的大小是由db_block_size决定的。

smallfile tablespace的数据文件最大值为 4194304×DB_BLOCK_SIZE/1024M。
即:
4k最大数据文件为:16384M=16G
8K最大数据文件为:32768M=32G
16k最大数据文件为:65536M=64G
32K最大数据文件为:131072M=128G

DB_nK_CACHE_SIZE参数

Oracle是可以配置Multiple Block Sizes的

SQL> show parameter cache_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
client_result_cache_size             big integer 0
db_16k_cache_size                    big integer 0
db_2k_cache_size                     big integer 0
db_32k_cache_size                    big integer 0
db_4k_cache_size                     big integer 0
db_8k_cache_size                     big integer 0
db_cache_size                        big integer 0
db_flash_cache_size                  big integer 0
db_keep_cache_size                   big integer 0
db_recycle_cache_size                big integer 0

如果要配置Multiple Block Sizes,就要配置db_nk_cache_size参数,这些参数默认值都是 0。

db_nk_cache_size参数指定nK的buffer,在指定cache时,要确保有足够的空间。而且不能和db_block_siez参数冲突,n的取值范围是2、4、8、16、32 。

阅读更多

11.2.0.3 RAC on Oracle Linux 5.4

从五月19号开始OCM考试环境变成使用,11.2.0.3的DB和Oracle Linux 5.4 32bit。

本篇描述使用VirtualBox在Oracle Linux 5.4 32bit上安装Oracle Database 11g release 2 (11.2.0.3 32-bit) RAC。默认认为已经安装好VirtualBox,只简单讲述相关的配置。

系统安装注意:最少需要4G的swap,需要关闭firewall, SELinux设置为permissive,且需要安装以下package:

Desktop Environments > GNOME Desktop Environment
Applications > Editors
Applications > Graphical Internet
Development > Development Libraries
Development > Development Tools
Development > Legacy Software Development
Servers > Server Configuration Tools
Base System > Administration Tools
Base System > Base
Base System > Legacy Software Support
Base System > System Tools
Base System > X Window System

——————————————————-

Oracle安装先决条件

在安装之前,必须要先配置Oracle安装相关配置,可以使用自动配置,或者手动配置。

自动配置

你可以通过使用oracle-validated来配置Oracle的安装先决条件,按照在http://public-yum.oracle.com上的说明设置你的OL yum,然后使用:

# yum install oracle-validated

所有需要的先决条件都会被自动执行。

手动配置

如果没有使用oracle-validated,则你需要手动去设置,所以的安装先决条件。

阅读更多