【转】Oracle基础结构认知—进程及逻辑结构 礼记八目 2017-12-17 19:33:21
原文地址:https://www.toutiao.com/i6500477672349499917/
一、 Process Structure进程结构
Oracle有两种类型的进程: 服务器进程和后台进程(server processes and background processes)。
1.服务器进程 Oracle 服务器进程是处理用户与实例连接的事务。
任务是:
(1)分析和执行应用所发出的SQL语句。
(2)从数据文件读必要的数据到SGA区的共享数据区。
(3)返回必要信息给应用。
2.后台进程 Oracle系统使用一些附加的进程来处理系统的必须的工作;其中有5个强制性的进程(DBWn,LGWR,CKPT,PMON,SMON)。
(1) DBWn 数据库写入器(Database Writer)的任务是将修改,变更,撤销后的(在内存)数据块写回数据文件(data file)中。在某些操作系统中,Oracle可以有两个BDWn进程.
(2)LGWR 日志写入器(Log Writer)用于将SGA区中的存在于redo log buffer(重做日志缓存区)日志信息写入日志文件(redodlog file)的进程。一般是用户所作的修改值先记入日志文件。等到一定时才真正将修改结果写回数据文件.
(3)CKPT 检测点(Check Point)在系统运行中当出现查找数据请求时,系统从数据库中找出这些数据并存入内存区,这样用户就可以对这些内存区数据进行修改等。当需要对被修改的数据写回数据文件时就产生重做日志的交替写(Switch),这时就出现校验点。系统要把内存中灰数据(修改过)块中的信息写回磁盘的数据文件中,此外系统还将重做日志通知控制文件。DBA可以改变参数文件中CHECKPOINT_PROCESS TRUE来使能(使有效或无效)该进程。
(4)SMON 系统监控器(System monitor)是在数据库(database=control file+data file+redolog file)系统启动时执行恢复工作的强制性进程。比如在并行服务器模式下(两台服务器共用一磁盘组),SMON可以恢复另一台处于失败的数据库;使系统切换到另一台正常的服务器上。
(5)PMON 进程监控器(Process Monitor)用于终止那些失败的用户,释放该用户所占用的资源等;回滚当前用户所执行的事物,重置当前用户所占用的锁表和行级锁,释放当前用户保留的其他资源。
(6)ARCn 归档器(Archive)可选进程,当数据库系统处于归档(ARCHIVELOG)模式时使用.
(7)RECO 恢复器 (Recover)分布式数据库(不同地点有不同机器和不同的Oracle系统)模式下使用的可选进程,用于数据不一致时作的恢复工作。在RECO解决恢复前,所作的修改数据的标志均标为“可疑” 。
(8)LCK0 锁(LOCK) 可选进程,当在并行服务器模式可出现多个锁定进程以利于数据库通信。
(9)调度(Dnnn) 可选进程,在多线程下使用,即对每个在用(D000,...,Dnnn)的通信协议至少创建一个调度进程,每个调度进程负责从所联接的用户进程到可用服务器进程的路由请求。把响应返回给合适的用户进程。
(10) 快照进程(SNPn) 快照进程处理数据库快照的自动刷新,并通过 DBMS_JOB 包运行预定的数据库过程. INITsid.ORA 参数 JOB_QUEUE_PROCESS 设置快照进程数, 参数 JOB_QUEUE_INTERVAL 决定快照进程在被唤醒以处理挂起的作业或事务之前休眠的秒数。
(11)并行查询进程(Pnnn)可根据数据库的活动并行查询选项的设置,ORACLE服起动起动或停止查询进程.这些进程涉及并行索引的创建,表的创建及查询。启动的数量与参数 PARALLEL_MIN_SERVERS指定的数量相同,不能超出该参数指定的值。
#查看oracle后台进程和连接数
1.查看oracle后台进程
select * from v$bgprocess where paddr <> '00'; 或在linux系统上:ps -ef |grep ora_
使用v$bgprocess查看oracle进程
使用ps -ef查看oracle进程
2.查看oracle连接数
select count(*) from v$session;
3.查看oracle并发连接数
select count(*) from v$session where status='ACTIVE';
4.查看最大连接数
show parameter processes;
5.修改连接数,重启数据库生效
alter system set processes=500 scope=spfile;
二、oracle 逻辑结构
Oracle数据库包含至少一个表空间,一个表空间对应着多个数据文件(数据表),一个表空间(由多个数据文件组成)包含多个段,一个段包括多个盘区,一个盘区包含若干个块,oracle存储数据的基本单位是块, 块的大小可以从2k至64k不等,一般情况下,一块=8K=7192字节.
表(Table) :存放专门数据而建立和分配的空间。
表空间(Tablespace):是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。
表空间可分为:
1.系统表空间(System tablespace):是各种不同版本的Oracle必备的部分,存放Oracle系统的一些信息,一般只有一个SYSTEM表空间。
2.临时表空间(Temporary tablespace ):由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。一般安装之后只有一个TEMP临时表空间。
3.工具表空间(Tools tablespace):用于保存Oracle数据库工具所需的数据库对象,这些工具表空间存放在工作时所用的专用表。旧的Oracle版本无此表空间。安装之后的工具表空间是Tools。
4.用户表空间(Users tablespace):用于存放一些实验例子用的空间,当然也可以用于存放应用系统的数据。旧版本无Users表空间。现在的用户表空间为 USERS 。
5.数据及索引表空间 :存放数据及索引的表空间,Oracle7以后都提倡在应用系统中,特别是具有大量数据的系统,要把数据和索引分开存放在不同的分区中,以便提高查询速度。在安装后索引表空间可能是INDX。数据表空间就是USERS。
6.回滚段表空间(Rollback Segment):Oracle数据库系统在运行Insert、Update、Delete时都需要一个磁盘空间来存放恢复信息(Undo Information),以便在进行恢复时能将原来信息读出来。安装后的回滚段表空间是RBS表空间。数据库管理员也可根据应用的需要建立另外的回滚段 表空间。 Oracle 以表空间来存储逻辑数据并以物理数据相连。
#查询表空间剩余情况
select tablespace_name, sum(bytes) / 1024 / 1024 / 1024 AS G
from dba_data_files
group by tablespace_name
order by tablespace_name;
【转】Oracle基础结构认知—进程及逻辑结构 礼记八目 2017-12-17 19:33:21的更多相关文章
- 【转】Oracle基础结构认知——oracle内存结构 礼记八目 2017-12-15 20:31:27
oracle的数据库实例是一组后台进程和内存结构组成的,而内存结构由系统全局区(system global area)和程序全局区(program global area)组成. #修改SGA和PGA ...
- 【转】Oracle基础结构认知—oracle物理结构 礼记八目 2017-12-13 20:31:06
原文地址:https://www.toutiao.com/i6499008214980362765/ oracle数据库启动:oracle服务启动,通过参数文件查找控制文件,启动控制文件,则控制文件调 ...
- 【转】Oracle基础结构认知—初识oracle 礼记八目 2017-12-12 21:19:30
Oracle服务器(oracle server)由实例和数据库组成.其中,实例就是所谓的关系型数据库管理系统(Relational Database Management System,RDBMS), ...
- Oracle基础结构认知—初识oracle【转】
Oracle服务器(oracle server)由实例和数据库组成.其中,实例就是所谓的关系型数据库管理系统(Relational Database Management System,RDBMS), ...
- 【转】ORACLE SQL基础—DDL语言 礼记八目 2017-12-23 21:26:21
原文地址:https://www.toutiao.com/i6502733303550837261/ SQL语言分为:DDL数据定义语言,DML数据操纵语言,DCL是数据库控制语言,TC事务控制语言 ...
- 【转】Oralce基础—Sqlplus工具运用 礼记八目 2017-12-20 20:22:45
原文地址:https://www.toutiao.com/i6501603661565657614/ 一.数据库连接: sqlplus [user_name[/password][@ host_str ...
- Linux下使用ps命令来查看Oracle相关的进程
Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [oracle@ www.linuxidc.com ...
- Oracle删除死锁进程的方法
本文实例讲述了Oracle删除死锁进程的方法.分享给大家供大家参考.具体如下: 步骤1:用以下SQL查看进程列表,判断出被锁定的表 复制代码代码如下: SELECT dob.OBJECT_NAME T ...
- Oracle体系结构之进程
Oracle体系结构之进程 一.概述 Oracle中的每个进程都要执行一个特定的任务(或者一组任务),每个进程都会为自己分配内存(PGA)来完成它的任务.一个Oracle实例主要有以下3类进程: (1 ...
随机推荐
- 26.bulk批量操作
主要知识点 1.bulk语法 2.bulk使用时的注意事项 3.bulk size 对es性能的影响 一.bulk语法 每一个操作要两个json串(delete操作除外),每个json串占一行 ...
- vue 手机键盘把底部按钮顶上去
背景:在写提交订单页面时候,底部按钮当我点击输入留言信息的时候,底部提交订单按钮被输入法软键盘顶上去遮挡住了. h5 ios输入框与键盘 兼容性优化 实现原理:当页面高度发生变化的时候改变底部butt ...
- 【习题 4-2 Uva201】Squares
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 注意那个星号的数量... 然后V x y的话,是从(y,x)向(y+1,x)连线. H x y才是从(x,y)向(x,y+1)连线 ...
- nutz中实现登录验证
一.nutz是什么 nutz是一个轻便的web端开发框架.主页如下:http://www.nutzam.com/core/nutz_preface.html 二.session简单介绍 大家都知道ht ...
- Spring MVC-表单(Form)处理示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_form_handling.htm 说明:示例基于Spring MVC 4.1.6 ...
- 【跟我一起学Unity3D】做一个2D的90坦克大战之AI系统
对于AI,我的初始想法非常easy,首先他要能动,而且是在地图里面动. 懂得撞墙后转弯,然后懂得射击,其它的没有了,基于这个想法,我首先创建了一个MyTank类,用于管理玩家的坦克的活动,然后创建AI ...
- 黑马day07 登录注冊案例(一)
简单介绍:依据三层架构的思想设计本案例. 1.搭建好开发环境 准备好须要的包和模拟数据库配置文件users.xml -->cn.itheima.dao -->cn.itheima.serv ...
- Embedded Android 协同翻译
假设你有一定的Android的基础和英语基础. 有愿意贡献开源社区的心. 假设你对下面文件夹感兴趣, 欢迎增加我们协同翻译<Embedded Android> 此次协同翻译.将使用gith ...
- 【cl】本地安装maven的jar包报错Artifact is already in the local repository
原因是我直接把jar包放在了仓库里面 解决办法:将jar办放在不是仓库路径位置,在进行install就okle
- Mina airQQ聊天开门见山篇(一)
Mina airQQ聊天开门见山篇(一) 近期项目可能要用到Mina,这个礼拜就在看这个框架,所以想写个小小的聊天的demo来巩固下,打算用几篇博客来记录下相关的知识 client用的是Flex Ai ...