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数据库。
启动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是怎么运作的
- User访问Oracle Server之前提交一个请求(包含了db_name、instance_name、username、password等信息),Oracle Server接收到请求并通过Password File的验证后,分配SGA内存池,启动后台进程同时创建并启动实例。
- 在启动实例之后User Process与Server Process建立Connect。
- 再通过Server process和Oracle Instance完成建立Sesscion。
- 用户执行SQL语句,由server process接收到并直接与Oracle交互。
- SQL语句通过Server Process到达Oracle Instance,再将SQL载入数据库缓冲区。
- Server Process通知Oracle Database将与SQL语句相关的数据块副本加载到缓冲区中。
- 在数据库缓存区执行SQL语句,并产生”脏缓冲区”。
- 由CKPT检查点进程检查到”脏缓冲区”,并调用DBWn数据库写进程,但在DBWn执行之前,应该由LGWR先将数据文件的原始状态、数据库的改变等信息记录到Redo Log Files。
- 将更新的内容写入到磁盘中的数据文件。
- 返回结果给用户
oracle 架构和一些工具了解的更多相关文章
- 使用oracle的大数据工具ODCH访问HDFS数据文件
软件下载 Oracle Big Data Connectors:ODCH 下载地址: http://www.oracle.com/technetwork/bdc/big-data-connectors ...
- [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构
万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...
- Oracle RAC 常用维护工具和命令
Oracle RAC 常用维护工具和命令 分类: Oracle Basic Knowledge Oracle RAC2010-03-09 01:02 13987人阅读 评论(6) 收藏 举报 orac ...
- Oracle EBS使用adpatch工具打patch过程【Z】
Oracle EBS使用adpatch工具打patch过程 从Metalink下载补丁 登陆到Metalink(https://support.oracle.com),Oracle内部用户可以使用AR ...
- 数据库--oracle图形化管理工具和新增自定义用户
oracle数据库图形化管理工具: 1 navicat工具很小,操作mySQL和SQLServer非常好用,但对于oracle体验性就有点差,要自己下载编码和替换oci文件.下面是解决的方法教程链接 ...
- Oracle GI 日志收集工具 - TFA
1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...
- 很多人都没用过的轻量级Oracle数据库数据导出工具SQLLDR2——性能超赞
SQLLDR2 介绍 每周发表一篇数据库或大数据相关的帖子,敬请关注 1. 工具介绍 Sqluldr2(SQL * UnLoader 第二版)是灵活与强大的 Oracle 文本导出程序,已被大众使 用 ...
- Oracle架构实现原理、含五大进程解析(图文详解)
目录 目录 前言 Oracle RDBMS架构图 内存结构 系统全局区SGA 高速缓存缓冲区数据库缓冲区 日志缓冲区 共享池 其他结构 进程结构 用户连接进程 用户进程User Process Ser ...
- oracle wrapped 代码解密工具 unwraper
Oracle中的Wrap 功能是为了不让别人看到函数/存储过程的SQL源码的明文, 作为技术宅,有的时候想看源码但是看不到的那种心情是可以理解的, 发一个简单易用的 Oracle wrapped 解码 ...
随机推荐
- 【tp3.2】根据不同域名来加载不同的配置文件
遇到问题: 最近遇到一个需求,需要多个公众号使用同一个项目,这就导致了不同公众号访问的数据库和公众号配置不同. 解决思路: 查看文档:http://document.thinkphp.cn/manua ...
- 深入剖析RocketMQ源码-NameServer
一.RocketMQ架构简介 1.1 逻辑部署图 (图片来自网络) 1.2 核心组件说明 通过上图可以看到,RocketMQ的核心组件主要包括4个,分别是NameServer.Broker.Produ ...
- oracle 基础SQL语句 增删改
一.SQL操作 查询已创建的数据库:SELECT datname FROM pg_database; 创建数据库:CREATE DATABASE wzxdb; 删除数据库:DROP DATABASE ...
- 使用php函数 json_encode ,数据存入mysql
$data = json_encode($array); // 过滤 $data = addslashes($data); // 插入数据库 $db->insert($table_name,ar ...
- ios web 媒体查询兼容
原文:https://blog.csdn.net/dear_zx/article/details/82785250 防止链接丢失,复制一下 兼容iphone4/4s: @media (device-h ...
- [原创]配置php+nginx 时遇到的”file not found","access denied"奇怪问题的解决过程
在centos 7中按照我的随笔转载文章"[转载]CentOS 下安装LEMP服务(Nginx.MariaDB/MySQL和PHP)"安装好后,结果无法显示phpinfo()信息, ...
- P7099-[yLOI2020]灼【数学期望,结论】
正题 题目链接:https://www.luogu.com.cn/problem/P7099 题目大意 给出\(n\)个坐标轴上的点,\(q\)次询问从某点出发每次等概率向左或者向右一格求到达某个给出 ...
- hmac和socketserver
一,hmac 验证客户端的合法性 hmac,检测客户端是否合法,不依赖登录认证 server import os,socket,hmac sk=socket.socket() sk.bind(('12 ...
- 2021-06-27 & 2021-06-28 集训题解
西克 题目传送门 Description Solution 跟 2021年省选A卷D2T1 一模一样,懒得讲了 不过这个题似乎有点卡空间,所以卡不过去 Code #include <bits/s ...
- Miller-Rabin学习笔记
首先给出两个定理: 1.费马小定理 设p是一个素数,a是一个整数,且不是p的倍数,那么 \(a^{p−1} \equiv\ 1 \pmod p\) 2.二次探测定理 若\(p\)是素数,\(x\)是一 ...