まず、Oracleデータベースのアーキテクチャ
以下に簡単にOracleのアーキテクチャ
EM(Enterprise Managerは)、データベースにアクセスするためのブラウザインタフェースを介して管理することができ、実際のOracleのJavaベースの管理ツールであるSQL PLUSデータベースのデータにアクセスすることができます。
二、SQL文の実行プロセス
1、いくつかの背景
(1)ORACLEデータベースの起動時、Oracleは、第一まとめOracleインスタンスとして知られている方法、プロセス、メモリ領域の束を開始するためにメモリの一部のスペースを取っておきます
インスタンスに関連付けられている基本的なメモリ構造(2)オラクルを含みます:
(3)システム・グローバル領域(SGA)は、すべてのサーバーおよびバックグラウンドプロセスで共有、すべてのプロセス、共有メモリ空間のために、実際の作業領域に存在割り当てられます
(4)プログラム・グローバル領域(PGA)特別なサービス特定のプロセスまたはバックグラウンド・プロセス、各プロセスがPGA、Oracleの新しいバージョンを使用して、室内空間のPGAがたくさんある、それぞれのプロセスを開始するだろう、必ずしも空間PGA対応するプロセスに、フォアグラウンドプロセスとPGAとの関係に焦点を当て
(5)Oracleデータベース3つのファイルで構成される
.CTL制御ファイル
.logのログファイル
.DBFデータファイル
2、知識
サーバ・プロセスは、プロセス・インスタンス、SQL処理の主な動作機能であります
SQL文の実行
(1)クライアントSQL文を入力してください
データベースインスタンスへのネットワークを介して(2)SQL文
(3)サーバプロセスが解決取得するSQL文の後に行う、最初にすべての対応する文と実行計画があるかどうかを確認するために、共有プールでなければならず、見つからない場合は、サーバプロセス、独自の分析、分析、分析の手順を実行するための次のステップに次のとおりです。
正しい文の構文かどうかを判断するためにSQLプロセス
表にアクセスするかどうかにアクセス
SQLテーブルを含む文とデータベースのないビューがありません
どのようにSQL文が実行されなければならない - >実行の最適な方法を見つけ、その後、実行計画
(4)server process根据SQL语句的执行计划去DBF取出数据,放到buffer cache,然后返给用户,在此之前是server process首先寻找的是buffer cache,如果存在则直接在buffer cache取出数据。
三、SQL语句解析类型——硬解析和软解析
1、硬解析和软解析
Oracle数据信息全部存储在数据字典中,Oracle的解析有两种,软解析以及硬解析
(1)硬解析 hard parse 没有缓存进入硬解析
硬解析内容:语法错误,对象存不存在,用户是否有操作权限
硬解析在n种执行方案中找出最优的执行方案最消耗资源以及损耗时间
(2)软解析 soft parse 有缓存
SQL语句语法
SQL所对应一些对象的权限满不满足
软硬解析的区别在于,软解析不必挑选最优方案
均要频繁访问数据字典信息(对象权限信息),所以oracle将数据字典信息放置到 share pool中跟library cache放置在一块
2、shared pool功能
shared pool 缓存SQL语句以及SQL语句的执行计划
parse 解析
excel 执行
fetch 取回数据
3、shared pool组成
shared pool是一块内存池,内部被分成比较小的区块,
free部分 空闲部分
library cache 库缓存,保存的是SQL语句以及SQL语句的执行计划
row cache 缓存数据字典信息
4、SQL语句
(1)查看各个内存块的大小
library cache
select * from v$sgastat a where a.Name='library cache
free memory
select * from v$sgastat a where a.pool='shared pool'and a.name='free memory';
row cache
a.Nameは= '行キャッシュ' 五$ SGASTAT aから選択*;
(2)SQL
名前、名前「%を解析」のような五$ sysstatのから値を選択します。
仕上げは、友人のよう賛美聖歌を指して、容易ではありません!!!