【oracle学习笔记02】Oracle Architecture —— Process Structure
Oracle中有三类进程:
1 User Process
2 Server Process
Server Process is a program that directly interacts with the Oracle Server. Once a user has established a connection, a server is started to handle the user processes requests. The user process does not interact directly with the Oracle Server. Server Process generate SQL tasks on behalf of user process and return results to user process.
A Server process can be either a deidcated server process or a shared server process.
- Dedicated server process: the server handles the request of a single user process. Once a user process disconnects, the server process is terminated.
- Shared server process: the server can handles the requests of several user processes. Once a user has established a connection, an avaliable server is started to handle the user processes requests.
3 Background processe
Started when an oracle instance is started.
DBWn(Database Writer):writes the dirty buffers from the Database Buffer Cache to the data files.
LGWR(Log Writer): writes from the Redo Log Buffer to the online redo log file.
SMON(System Monitor): If the Oracle instance fails, any information in the SGA that has not been written to disk is lost. After the loss of the instance, SMON will automatically performs instance recovery when the database is reopened.
Instance recovery:
- Rolling forward to recover data that has not been recorded in the data files but that has been recorded in the online redo log file.
- Opening the database so that users can log on.
- Rolling back uncommitted transactions.
PMON(Process Monitor):
Cleans up after failed processes:
- Rolling back the user's current transaction
- Freeing the resources currently reserved by the user
CKPT(CheckPoint):
Responsible for:
- Signaling DBWn to ensure that Database Buffer Cache that were modified prior to the checkpoint in time have been written to disks.
- Updating datafile headers with checkpoint information.
- Updating control files with checkpoint information.
SCN(System Change number)是一个随着时间不断递增的数字。每对checkpoint进行一次更新操作,就将checkpoint更新为指令执行时的SCN。SCN号和检查点号均可在database表中查到(分别是current_scn和checkpoint_change#)。
data file和control file的每一个文件的文件头中都会有一个检查点号,标志当前文件的同步版本。执行更新checkpoint首先会通知DBWn进行写盘,将所有文件同步到checkpoint,然后会去修改data file和control file的检查号。
检查点的更新策略:
①手动更新。
通过指令"alter system checkpoint"
②自动更新。
系统中有一个动态参数ESTIMATED_MTTR(可以在instance_rcovery表中查到),这个参数代表了当前系统预估所需恢复时间。
可以通过设置fast_start_mttr_target参数(通过"alter system set fast_start_mttr_target=..."指令来设置)来指定多长时间更新一次,当ESTIMATED_MTTR大于fast_start_mttr_target时就执行一次checkpoint更新操作。
【oracle学习笔记02】Oracle Architecture —— Process Structure的更多相关文章
- 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子
1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...
- oracle学习笔记系列------oracle 基本操作之基本函数的用法
--创建一个accout账户表 CREATE TABLE account( id ) NOT NULL, recommender_id ), login_name ) NOT NULL, login_ ...
- oracle学习笔记系列------oracle操作例子的专用表
CREATE TABLE dept( deptno ), dname ) , loc ) ) ; CREATE TABLE emp( empno ), ename ), job ), mgr ), h ...
- oracle学习笔记系列------oracle 基本操作之表的增删改查
--创建一个表 CREATE TABLE employee_souvc( id ), name ), gender ), birth DATE, salary ,), job ), deptno ) ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记——点滴汇总
Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
随机推荐
- Flutter: Draggable和DragTarget 可拖动小部件
API class _MyHomeState extends State<MyHome> { List<Map<String, String>> _data1 = ...
- 使用 Tye 辅助开发 k8s 应用竟如此简单(三)
续上篇,这篇我们来进一步探索 Tye 更多的使用方法.本篇我们来了解一下如何在 Tye 中如何对数据库进行链接. Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架.如果您是首次 ...
- 010_HTML5
目录 初识HTML 什么是HTML HTML发展史 HTML5的优势 W3C标准 常见IDE IDEA开发HTML IDEA创建HTML文件,并用浏览器打开 配置浏览器 HTML基础 HTML基本结构 ...
- spring boot的 yml和properties的对比
Spring Boot 虽然做了大量的工作来简化配置,但其配置依然是相当的复杂!支持的外部配置方式就有很多种,笔者没有去统计,也许是为了灵活使用吧. application.yml 和 appli ...
- 第44天学习打卡(JUC 线程和进程 并发和并行 Lock锁 生产者和消费者问题 如何判断锁(8锁问题) 集合类不安全)
什么是JUC 1.java.util工具包 包 分类 业务:普通的线程代码 Thread Runnable 没有返回值.效率相比Callable相对较低 2.线程和进程 进程:一个程序.QQ.exe, ...
- Tango with django 1.9 中文——3.Django基础
让我们开始运用Django.本章主要是给你一个关于创建新项目和新应用过程的概览.在本章的末尾,你将建立起一个简单的由Django驱动的网站. 3.1 配置测试 让我们测试以下你的Python和Djan ...
- c++函数指针说明
下面随笔说明函数指针用法. 函数指针的定义: 定义形式: 存储类型 数据类型 (*函数指针名)() 含义: 函数指针指向的是程序代码存储区 函数指针的典型用途-----实现函数回调 通过函数指针调用的 ...
- 使用windbg定位内存问题【入门级】
1. 背景 在开发过程中,我们可能遇到应用程序线程占用过大的问题,可以通过windbg命令去定位哪些类型,哪些内存一直占用堆资源,从而查出问题,解决问题. 2. 准备工作 工具: 抓取DUMP文件的工 ...
- STL中常用容器及操作 学习笔记1
@[TOC](下面介绍STL中常见的容器及操作)## 不定长数组 vector> vetcor:其实就是一个数组或者说是容器 其操作不同于之前直接定义的数组 > 而且可以直接赋值也可以直接 ...
- Kilo 使用教程
写了这么多篇 WireGuard 相关的保姆教程,今天终于牵扯到 Kubernetes 了,不然怎么对得起"云原生"这三个字.如果看到这篇文章的你仍然是个 WireGuard 新手 ...