`
MicroJoey
  • 浏览: 88348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle / Buffer cache

阅读更多
引用
8.7 Tuning the Operating System Buffer Cache
To take full advantage of raw devices, adjust the size of Oracle Database buffer cache. If memory is limited, then adjust the operating system buffer cache.
The operating system buffer cache holds blocks of data in memory while they are being transferred from memory to disk, or from disk to memory.

Oracle Database buffer cache is the area in memory that stores Oracle Database buffers. Because Oracle Database can use raw devices, it does not use the operating system buffer cache.

If you use raw devices, then increase the size of Oracle Database buffer cache. If the amount of memory on the system is limited, then make a corresponding decrease in the operating system buffer cache size.

Use the sar command to determine which buffer caches you must increase or decrease.



Hi all,

Does oracle benifits from hp-ux buffer cache?
We have oracle 8.1.7 running on HP-UX 11.11 (Nclass 4 cpu) 3G of memory. As of now the memory utilization is 99% and 1.3 G of that is into buffer cache. Our DBA told me that they having a slow down on query. Do I need to modify my kernel parameter to increase the performance of oracle?

Thanks in advance

Joseph



Hi Joseph

Oracle has its own buffer cahce, although all DB read/writes pass through the OS buffer, unless you set specific filesystem mount options to bypass the OS buffer (these are only available with OnlineJFS).
If you have 3GB of memory & you're using 1.3GB for buffer, then your buffer cache is really too high.
It be should be around 400MB. Resize your OS buffer cache so it consumes a maximum of 400MB-500MB of memory (ie set dbc_max_pct=15 & dbc_min_pct=5).

Its very possible that with only 3GB of memory & buffer using 1.3GB then memory is causing Oracle performance issues.

However your DBA also needs to look at the Oracle DB Buffer size, this is completely independant from the OS buffer. Indeed a number of the SGA parameters set in the init.ora file can have a significant impact on Oracle performance if they are not sized correctly.

Cheers
Con


Hi Joseph

The 2 options are:
mincache=direct,convosync=direct,nodatainlog

You should only use these options for filesystems that contain the Oracle datafiles.

In some cases these options can lead to small performance gains but it there's no gaurantee.
If you're having Oracle performance issues, I'd first look at reducing your OS buffer cache size & then get the DBA's to examine their SGA parameters to ensure they are sized correctly.

Cheers
Con

Hi Joseph

Sorry I don't have a document on Oracle Tuning on HP-UX relating to buffer cache (dbc_max_pct).
I can point you to 2 HP-UX performance tuning guides that discuss buffer cache sizing.

http://h21007.www2.hp.com/dspp/files/unprotected/devresource/Docs/TechPapers/UXP
erfCookBook.pdf

http://docs.hp.com/hpux/onlinedocs/os/11.0/tuningwp.html#top

Both are excellent docs & are written by one of HP's top performance experts.

If you search the forums, you'll also find many threads discussing buffer cache sizing. I missed that you were running 11i which handles buffer cache slightly differently than 11.00 and can benefit from larger cache sizes than 11.00. However with only 3GB of memory, I'd say your buffer cache is definitely much too large at 1.3GB.

Cheers
Con

Hi there.
Here a URL for Oracle doc :

http://otn.oracle.com/documentation/index.html

you should find everything you need there.
Rgds
Alexander M. Ermes
分享到:
评论

相关推荐

    Oracle Buffer和Cache的区别

    Oracle数据库中的Buffer Cache和一般的Cache概念虽然相似,但它们在具体应用中有着不同的侧重点。首先,我们需要理解Buffer Cache的基本概念。在Oracle数据库系统中,Buffer Cache是内存结构的一部分,它存储了最近...

    oracle性能调优之buffer cache

    Oracle 性能调优之 Buffer Cache Buffer Cache 是 Oracle 中的一种缓存机制,负责将磁盘上的数据 block 读取到内存中,以提高数据库的访问速度。在本文中,我们将详细介绍 Buffer Cache 的工作原理、状态、管理和...

    oracle_buffer_cache深入分析

    ### Oracle Buffer Cache 深入分析 #### 一、Buffer Cache 概念及重要性 Oracle 数据库的核心功能之一就是高效地管理和访问数据。而为了提高数据访问速度,Oracle 引入了一个重要的内存组件——Buffer Cache(数据...

    Oracle 中 Buffer Cache 的研究.pdf

    Oracle数据库中的Buffer Cache是数据库性能优化的关键组件,主要用于缓存数据块,以提高用户访问数据文件数据的效率。Buffer Cache的工作原理和参数设置对于数据库性能有着显著的影响。本文将深入探讨Buffer Cache的...

    深入Buffer Cache 原理

    Buffer Cache作为System Global Area (SGA) 的一部分,在Oracle数据库中扮演着极其重要的角色。它的主要任务是缓存数据块以减少磁盘I/O操作,提高数据访问速度。通过优化Buffer Cache的管理机制,可以显著提升数据库...

    Oracle buffer cache

    Oracle Buffer Cache 深度解析 Oracle Buffer Cache 是 Oracle 数据库中的一种内存缓存机制,用于提高数据库的性能。Buffer Cache 通过将频繁访问的数据块缓存在内存中,减少了磁盘 I/O 操作,从而提高了数据库的...

    深入学习Buffer cache

    Buffer Cache是Oracle数据库管理系统中的一个重要组件,主要用于存储从数据文件中读取的数据块,以减少对磁盘的物理I/O操作,从而显著提升数据库的性能。在Oracle 10g中,Buffer Cache的设计和管理更加先进,实现了...

    Performance Analysis of the Linux Buffer Cache While Running an Oracle OLTP Workload

    本文档提供了一项针对 Linux 缓冲区缓存(Buffer Cache)在运行 Oracle OLTP(在线事务处理)工作负载时的性能分析研究。通过一系列测试收集了缓冲区缓存命中率及测试运行时间数据,为理解该系统复杂操作提供了宝贵...

    Oracle 数据缓冲区调优精选

    在Oracle数据库系统中,数据缓冲区(Buffer Cache)是用来存储数据文件中的数据块的内存区域,通过缓存数据,避免频繁地进行磁盘I/O操作,从而提高数据库的性能。本课件“Oracle 数据缓冲区调优精选”由CUUG网络公开...

    Oracle9i rac手工建库步骤

    *.db_cache_size=150549376 *.db_file_multiblock_read_count=16 *.db_name='rac' *.fast_start_mttr_target=300 *.hash_join_enabled=TRUE *.job_queue_processes=2 *.large_pool_size=3145728 *.pga_...

    LoadRunner对数据库的监控指标(sqlserver/oracle/db2)

    - **缓冲区高速缓存命中率 (Buffer Cache Hit Ratio%)** - **指标描述**: 表示从缓冲区高速缓存中获取数据而非从磁盘中读取的比例。 - **指标范围**: 0%-100% - **指标单位**: % - **重要性**: 极高 - **参考值...

    最全的oracle常用命令大全.txt

    SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被...

    Oracle_IO.rar_oracle

    Oracle I/O的基础在于操作系统级别的I/O操作,但Oracle通过其自身的内存结构和管理机制,如Buffer Cache和Redo Log Buffer,提供了更为高效的数据访问路径。Buffer Cache是Oracle用于缓存数据块的主要机制,它减少了...

    创建Oracle数据库(以Oracle10g为例)

    - `LOG_BUFFER`: 日志缓冲区大小。 - `SORT_AREA_SIZE`: 排序操作的工作区大小。 4. **资源限制和许可配置** - `LICENSE_MAX_SESSIONS`: 最大并发会话数。 - `LICENSE_MAX_USERS`: 最大用户数。 - `LICENSE_...

    Oracle数据库中的Cache对象

    1. **缓冲区缓存(Buffer Cache)**:这是Oracle数据库中最主要的缓存机制,用于存储最近访问过的数据块。当数据被请求时,如果在缓存中找到,就直接从内存中读取,避免了慢速的磁盘I/O。缓冲区缓存的大小可以通过...

    oracle pl/sql

    内存结构称为系统全局区(SGA),大约占据了操作系统内存的60-70%,由多个组件构成,包括共享池(shared pool)、数据库缓冲区(database buffer cache)和重做日志缓冲区(redo log buffer)。共享池存储SQL语句、...

    oracle架构/伺服器架构/系统全域区介绍等

    - **SGA 的组成**:SGA 包含多个子区域,如数据缓冲区缓存 (Database Buffer Cache)、共享池 (Shared Pool)、大型池 (Large Pool)、Java 池 (Java Pool) 和重做日志缓冲区 (Redo Log Buffer)。 - **动态 SGA**:自 ...

    oracle性能调优

    本文主要关注Oracle的Shared Pool和Buffer Cache的调优。 首先,我们来看Shared Pool的调优。Shared Pool是Oracle SGA(System Global Area)的一部分,主要用于存储SQL语句、PL/SQL代码、数据字典信息等。其优化对...

    ORACLE 9i 慢查询分析

    此外,还可以利用Oracle的自动工作区内存管理(Automatic Workarea Management,AWR)报告来获取关于Buffer Cache和PGA(Program Global Area)的建议,以便更科学地分配内存资源。 通过这些调整,期望能够显著降低...

Global site tag (gtag.js) - Google Analytics