데이터 베이스 MySQL 튜토리얼 认识Oracle数据库System Global Area (SGA)

认识Oracle数据库System Global Area (SGA)

Jun 07, 2016 pm 04:53 PM
oracle

1 概述 Oracle SGA区的监控和管理,是数据库日常维护的重要内容。本文详细介绍SGA的基本概念,SGA运行情况检查,以及SGA的参

 1 概述

  Oracle SGA区的监控和管理,是数据库日常维护的重要内容。本文详细介绍SGA的基本概念,SGA运行情况检查,以及SGA的参数设置原则,希望对大家的有所帮助。

  2 SGA的基本概念

  当启动Oracle数据库时,系统会先在内存内规划一个固定区域,用来储存用户需要的数据,以及Oracle运行时必备的系统信息。我们称此区域为系统全局区(System Global Area),简称SGA。

  SGA 包含数个重要区域,分别是:

  ■ Database Buffer Cache (数据库缓冲区)

  ■ Redo Log Buffer (重做日志缓冲区)

  ■ Shared Pool (共享区)

  ■ 其它,如Java pool, Large pool

  2.1 Database Buffer Cache (数据库缓冲区)

  数据库缓冲区的作用主要是在内存中缓存从数据库中读取的数据块。数据库缓冲区越大,为用户已经在内存里的共享数据提供的内存就越大,这样可以减少所需要的磁盘物理读。

  在9i以前数据库缓冲区的大小是由db_block_buffers*db_block_size 来决定大小的。db_block_size参数是在创建数据库时设置的,OLTP系统的db_block_size一般设置为8k。

  在9i中,数据库缓冲区的大小由db_cache_size决定,8i中的db_block_buffers被取消。db_cache_size的单位是字节,它直接决定了数据库缓冲区的大小,而不再是块的数量。

  2.2 Shared Pool (共享区)

  共享区由三部分组成,分别是Dictionary cache(包括数据字典的定义,如表结构、权限等),Library cache(包括共享的sql游标,sql原代码以及执行计划、存储过程和会话信息)和Control structure。它的大小由初始化参数shared_pool_size控制,它的作用是缓存已经被解析过的SQL,使其能被重用,不用再解析。SQL的解析非常消耗CPU的资源,如果一条SQL在Shared pool中已经存在,则进行的仅是软解析(在Shared pool中寻找相同SQL),这将大大提高数据库的运行效率。当然,这部分内存也并非越大越好,太大的Shared pool,oracle为了维护共享结构,将付出更大的管理开销。建议在150M-500M之间。如果系统内存为1G,该值可设为150M-200M;如果为2G,该值设为250M-300M;每增加1G内存,该值增加100M;但该值最大不应超过500M。

  2.3 Redo Log Buffer (重做日志缓冲区)

  Log_buffer是重做日志缓冲区,对数据库的任何修改都按顺序被记录在该缓冲,然后由LGWR 进程将它写入磁盘。LGWR的写入条件是:用户提交、有1/3 重做日志缓冲区未被写入磁盘、有大于1M 重做日志缓冲区未被写入磁盘、超时、DBWR需要写入的数据的SCN 号大于LGWR 记录的SCN 号,DBWR 触发LGWR写入。

  从中可以看出,,大于1M的log buffer值意义并不大。重做日志缓冲区的大小由初始化参数log_buffer设定。

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

오라클에서 두 날짜 사이의 일수를 계산하는 함수 오라클에서 두 날짜 사이의 일수를 계산하는 함수 May 08, 2024 pm 07:45 PM

오라클에서 두 날짜 사이의 일수를 계산하는 함수

Oracle 데이터베이스 로그는 얼마나 오래 보관됩니까? Oracle 데이터베이스 로그는 얼마나 오래 보관됩니까? May 10, 2024 am 03:27 AM

Oracle 데이터베이스 로그는 얼마나 오래 보관됩니까?

Oracle 데이터베이스 시작 단계의 순서는 다음과 같습니다. Oracle 데이터베이스 시작 단계의 순서는 다음과 같습니다. May 10, 2024 am 01:48 AM

Oracle 데이터베이스 시작 단계의 순서는 다음과 같습니다.

오라클에서 간격을 사용하는 방법 오라클에서 간격을 사용하는 방법 May 08, 2024 pm 07:54 PM

오라클에서 간격을 사용하는 방법

Oracle에서 특정 문자의 발생 횟수를 확인하는 방법 Oracle에서 특정 문자의 발생 횟수를 확인하는 방법 May 09, 2024 pm 09:33 PM

Oracle에서 특정 문자의 발생 횟수를 확인하는 방법

오라클에 두 문자열이 포함되어 있는지 확인하는 방법 오라클에 두 문자열이 포함되어 있는지 확인하는 방법 May 08, 2024 pm 07:00 PM

오라클에 두 문자열이 포함되어 있는지 확인하는 방법

Oracle 데이터베이스 서버 하드웨어 구성 요구 사항 Oracle 데이터베이스 서버 하드웨어 구성 요구 사항 May 10, 2024 am 04:00 AM

Oracle 데이터베이스 서버 하드웨어 구성 요구 사항

오라클에는 얼마나 많은 메모리가 필요합니까? 오라클에는 얼마나 많은 메모리가 필요합니까? May 10, 2024 am 04:12 AM

오라클에는 얼마나 많은 메모리가 필요합니까?

See all articles