ホームページ データベース 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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleで2つの日付の間の日数を計算する関数 Oracleで2つの日付の間の日数を計算する関数 May 08, 2024 pm 07:45 PM

Oracleで2つの日付の間の日数を計算する関数

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 で特定の文字の出現数を確認する方法

oracle に 2 つの文字列が含まれているかどうかを判断する方法 oracle に 2 つの文字列が含まれているかどうかを判断する方法 May 08, 2024 pm 07:00 PM

oracle に 2 つの文字列が含まれているかどうかを判断する方法

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle にはどれくらいのメモリが必要ですか?

See all articles