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数据库。

启动em管理器命令: emctl start dbconsole;

启动报错没有jdbc文件解决方法: emca -config dbcontrol db -repos recreate;

执行一条写入的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 架构和一些工具了解的更多相关文章

  1. 使用oracle的大数据工具ODCH访问HDFS数据文件

    软件下载 Oracle Big Data Connectors:ODCH 下载地址: http://www.oracle.com/technetwork/bdc/big-data-connectors ...

  2. [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构

    万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...

  3. Oracle RAC 常用维护工具和命令

    Oracle RAC 常用维护工具和命令 分类: Oracle Basic Knowledge Oracle RAC2010-03-09 01:02 13987人阅读 评论(6) 收藏 举报 orac ...

  4. Oracle EBS使用adpatch工具打patch过程【Z】

    Oracle EBS使用adpatch工具打patch过程 从Metalink下载补丁 登陆到Metalink(https://support.oracle.com),Oracle内部用户可以使用AR ...

  5. 数据库--oracle图形化管理工具和新增自定义用户

    oracle数据库图形化管理工具: 1 navicat工具很小,操作mySQL和SQLServer非常好用,但对于oracle体验性就有点差,要自己下载编码和替换oci文件.下面是解决的方法教程链接 ...

  6. Oracle GI 日志收集工具 - TFA

    1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...

  7. 很多人都没用过的轻量级Oracle数据库数据导出工具SQLLDR2——性能超赞

    SQLLDR2 介绍 每周发表一篇数据库或大数据相关的帖子,敬请关注 1. 工具介绍 Sqluldr2(SQL * UnLoader 第二版)是灵活与强大的 Oracle 文本导出程序,已被大众使 用 ...

  8. Oracle架构实现原理、含五大进程解析(图文详解)

    目录 目录 前言 Oracle RDBMS架构图 内存结构 系统全局区SGA 高速缓存缓冲区数据库缓冲区 日志缓冲区 共享池 其他结构 进程结构 用户连接进程 用户进程User Process Ser ...

  9. oracle wrapped 代码解密工具 unwraper

    Oracle中的Wrap 功能是为了不让别人看到函数/存储过程的SQL源码的明文, 作为技术宅,有的时候想看源码但是看不到的那种心情是可以理解的, 发一个简单易用的 Oracle wrapped 解码 ...

随机推荐

  1. PHP方法参数的那点事儿

    在所有的编程语言中,方法或者函数,都可以传递一些参数进来进行业务逻辑的处理或者计算.这没什么可说的,但是在PHP中,方法的参数还有许多非常有意思的能力,下面我们就来说说这方面的内容. 引用参数 涉及到 ...

  2. webpack4 使用babel处理ES6语法的一些简单配置

    一,安装包 npm install --save-dev babel-loader @babel/corenpm install @babel/preset-env --save-devnpm ins ...

  3. 重新整理 .net core 周边阅读篇————AspNetCoreRateLimit[一]

    前言 整理了一下.net core 一些常见的库的源码阅读,共32个库,记100余篇. 以下只是个人的源码阅读,如有错误或者思路不正确,望请指点. 正文 github 地址为: https://git ...

  4. Java基础(六)——集合

    一.概述 1.介绍 为什么出现集合? 答:面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? ...

  5. Jmeter系列(34)- Jmeter优化常识

    Jmeter UI页面是调试脚本的,运行脚本使用命令行运行:Windows使用batch,Linux使用shell Jmeter减少使用各类监听控件,吃内存.CPU:用后置处理去拿log文件,生成图表 ...

  6. Python项目生成requirements.txt文件之pipreqs的使用

    生成requirements.txt时使用pip freeze > requirements.txt会将环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包.耗时耗力其实是不可取 ...

  7. 『GoLang』字典Map

    map是一种元素对的无序集合,一组称为元素value,另一组为唯一键索引key. 未初始化map的值为nil.map 是引用类型,可以使用如下声明: var map1 map[keytype]valu ...

  8. MacOS Typora集成SM.SM图床 实现自动上传图片

    MacOS Typora集成SM.SM图床 实现自动上传图片 此为PicGo-Core (Command line) (OpenSource)配置方法 参照官网 https://support.typ ...

  9. JDK源码阅读(3):AbstractStringBuilder、StringBuffer、StringBuilder类阅读笔记

    AbstractStringBuilder abstract class AbstractStringBuilder implements Appendable, CharSequence{ ... ...

  10. SpringBoot 如何进行限流?老鸟们都这么玩的!

    大家好,我是飘渺.SpringBoot老鸟系列的文章已经写了四篇,每篇的阅读反响都还不错,那今天继续给大家带来老鸟系列的第五篇,来聊聊在SpringBoot项目中如何对接口进行限流,有哪些常见的限流算 ...