【转】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 ...
随机推荐
- open-ldap服务安装(1)
LDAP简介 LDAP 代表 轻量级目录访问协议.在我的理解中ldap就是一个数据库. 在LDAP中,目录条目以分层树状结构排序. 传统上,这种结构反映了地理和组织边界,表示国家/地区的条目显示在树的 ...
- C++string和int的相互转化
本方法主要利用sstream头文件中的方法来进行转换 1.int转成string #include <iostream> #include<string> #include&l ...
- 2018ICPC南京
可能上一次秦皇岛拿了银,有了偶像包袱? 打的时候感觉状态不是很好. 第一题,让你每次将连续一段区间的石头都拿掉.. 然后让你做个博弈. 橘子一顿分析,认为k+1的倍数都是输. 这时,我们以及默认i+1 ...
- Hystrix 断流器
一.分布式系统面临的问题 服务雪崩 多个服务之间调用的时候,假设微服务 A 调用微服务 B 和微服务 C,,微服务 B 和微服务 C 又调用其他的微服务,这就是所谓的“扇出”.如果扇出的链路上某个微服 ...
- mysql的用户访问权限规划
看了mysql的关于用户权限和安全的管理,感觉看起来还是不太好理解,首先mysql的连接方式是需要核对三个要素:user.passwd. host.而且这个user和passwd并不是o上面的user ...
- Spring MVC-Hello World示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_hello_world_example.htm 说明:示例基于Spring MVC ...
- Map 遍历取值及jstl的取值
Map 遍历取值及jstl的取值 学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239 1.Java map的便利取值 Java代 ...
- 面向基于英特尔® 架构的 Android* 的 CoCos2D
Cocos2D 是一款游戏引擎,可与从电脑到手机等多种设备配合使用. 该引擎支持丰富的特性,可帮助创建出色的 2D 游戏.它甚至包含具备全面功能的物理引擎. CoCos2D 的核心元素是基本动画元素( ...
- Android 安装应用后点击打开带来的问题
今天安装完APP的时候.界面会显示两个button,一个完毕键,一个打开键,点击Open键之后,外部打开应用.此时,我们点击HOME键.程序将会在后台. 然后再点击该桌面上应用程序的图标,app会自己 ...
- 拒绝switch,程序加速之函数指针数组
先看一个使用switch语句的程序: #include <stdio.h> #include <time.h> //加法 int add(int a,int b) { retu ...