oracle 架构和一些工具了解

Posted fengfengyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 架构和一些工具了解相关的知识,希望对你有一定的参考价值。

oracle的架构大概分为3部分,

客户端:用户端

oracle instance:叫做实例,由内存结构(内存池或者叫SGA)和后台进程组成。Oracle Instance是Oracle RDBMS的核心之一,负责RDBMS的管理功能。内存结构有SGA(share global area)系统全局区域 ,后台五大进程包括 pnom(process monitor),smon(system monitor) ,DBWN,LGWR,CKPT,等。

技术分享图片

 

数据库数据文件:各种文件,数据文件,控制文件,重做日志文件等。

 

说明:可以多个实例对应一个oracle数据库。SGA可以让多个进程共享,PGA一般让一个进程使用,是为没有个用户单独分配的内存。所以在用dbca创建数据库的时候,80%给SGA,20%给PGA。

 用户连接进程 = 用户进程 + 服务进程 + PGA

 

 

dateabase(数据库)

tablespace(表空间)

segment(段)

area?(区)

block(数据块) 最后映射到磁盘块中。

 

 

工具有sqlplus ,em的web管理方式。dbca工具创建数据库。

toad for oracle ,Navicat for oracle 工具也可第三方使用oracle数据库。

 

 

执行一条写入的SQL语句时在RDBMS中都发生了什么

技术分享图片 
1. 将SQL语句加载入数据库缓冲区 
2. 将SQL语句要操作的数据文件副本加载入数据库缓冲区 
3. 执行SQL语句,修改数据文件副本,形成“脏缓冲区” 
4. CKPT检测到“脏缓冲区”,调用DBWn 
5. 在DBWn运行之前,先运行了LGWR,将数据文件的原始状态和数据库的改变记录到Redo Log Files 
6. 运行DBWn,将“脏缓冲区的内容写入到数据文件” 
7. 同时CKPT修改控制文件和数据文件头 
8. SMON回收不必要的空闲资源

最后

最后我们举个例子来看看Oracle RDBMS是怎么运作的 
技术分享图片

技术分享图片

    1. User访问Oracle Server之前提交一个请求(包含了db_name、instance_name、username、password等信息),Oracle Server接收到请求并通过Password File的验证后,分配SGA内存池,启动后台进程同时创建并启动实例。
    2. 在启动实例之后User Process与Server Process建立Connect。
    3. 再通过Server process和Oracle Instance完成建立Sesscion。
    4. 用户执行SQL语句,由server process接收到并直接与Oracle交互。
    5. SQL语句通过Server Process到达Oracle Instance,再将SQL载入数据库缓冲区。
    6. Server Process通知Oracle Database将与SQL语句相关的数据块副本加载到缓冲区中。
    7. 在数据库缓存区执行SQL语句,并产生”脏缓冲区”。
    8. 由CKPT检查点进程检查到”脏缓冲区”,并调用DBWn数据库写进程,但在DBWn执行之前,应该由LGWR先将数据文件的原始状态、数据库的改变等信息记录到Redo Log Files。
    9. 将更新的内容写入到磁盘中的数据文件。
    10. 返回结果给用户









以上是关于oracle 架构和一些工具了解的主要内容,如果未能解决你的问题,请参考以下文章

逆向工程(oracle)架构到 ERD [关闭]

Oracle学习笔记—oracle体系架构及状态(nomountmount和open)简介

九妹带你了解oracle

九妹带你了解oracle

怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

kettle从oracle向mysql迁移大数据量时报错,求教