原文地址: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的更多相关文章

  1. 【转】Oracle基础结构认知——oracle内存结构 礼记八目 2017-12-15 20:31:27

    oracle的数据库实例是一组后台进程和内存结构组成的,而内存结构由系统全局区(system global area)和程序全局区(program global area)组成. #修改SGA和PGA ...

  2. 【转】Oracle基础结构认知—oracle物理结构 礼记八目 2017-12-13 20:31:06

    原文地址:https://www.toutiao.com/i6499008214980362765/ oracle数据库启动:oracle服务启动,通过参数文件查找控制文件,启动控制文件,则控制文件调 ...

  3. 【转】Oracle基础结构认知—初识oracle 礼记八目 2017-12-12 21:19:30

    Oracle服务器(oracle server)由实例和数据库组成.其中,实例就是所谓的关系型数据库管理系统(Relational Database Management System,RDBMS), ...

  4. Oracle基础结构认知—初识oracle【转】

    Oracle服务器(oracle server)由实例和数据库组成.其中,实例就是所谓的关系型数据库管理系统(Relational Database Management System,RDBMS), ...

  5. 【转】ORACLE SQL基础—DDL语言 礼记八目 2017-12-23 21:26:21

    原文地址:https://www.toutiao.com/i6502733303550837261/ SQL语言分为:DDL数据定义语言,DML数据操纵语言,DCL是数据库控制语言,TC事务控制语言 ...

  6. 【转】Oralce基础—Sqlplus工具运用 礼记八目 2017-12-20 20:22:45

    原文地址:https://www.toutiao.com/i6501603661565657614/ 一.数据库连接: sqlplus [user_name[/password][@ host_str ...

  7. Linux下使用ps命令来查看Oracle相关的进程

    Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [oracle@ www.linuxidc.com ...

  8. Oracle删除死锁进程的方法

    本文实例讲述了Oracle删除死锁进程的方法.分享给大家供大家参考.具体如下: 步骤1:用以下SQL查看进程列表,判断出被锁定的表 复制代码代码如下: SELECT dob.OBJECT_NAME T ...

  9. Oracle体系结构之进程

    Oracle体系结构之进程 一.概述 Oracle中的每个进程都要执行一个特定的任务(或者一组任务),每个进程都会为自己分配内存(PGA)来完成它的任务.一个Oracle实例主要有以下3类进程: (1 ...

随机推荐

  1. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)

    在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数.那么这个连接数是干什么的?这就要理解inode. 先说一下文件是怎么存储的 ...

  2. 系统和帮助-Linux基础知识

    iOS镜像: 硬盘分区:留出一些空间;实在不成,可安装完成以后,新增一块虚拟硬盘; 终端:terminal 用户界面: GUI:图形界面 GNome KDE CLI: bash,zsh,sh,csh, ...

  3. js中二维数组的创建方法 2017-04-04 14:50 120人阅读 评论(0) 收藏

    法一:var myarr=[[0,1,2],[1,2,3]]; 将[0,1,2]看做原来的0,将[1,2,3]看做原来的1,而二者又分别为子数组 如myarr[0][1]=1,myarr[1][1]= ...

  4. 【ABCD组】Scrum meeting 3

    前言 第3次会议在6月15日由组长在教9 405召开. 主要对下一步的工作进行说明安排,时长90min. 主要内容 讨论怎么用c#进行下一步系统的完成 任务分配 姓名 当前阶段任务 贡献时间 下阶段任 ...

  5. python下的线程 进程,以及如何实现并发服务器

    在一个CPU(一核)的电脑上, 程序的运行是并发运行的,调度的算法叫时间片轮转法,也叫轮询法 在多CPU(多核)的电脑上,一个CPU跑一个程序,刚程序运行数量小于核心数时,程序是并行的 并发:看上去一 ...

  6. 转载 - Catalan数(卡特兰数)

    出处:http://blog.sina.com.cn/s/blog_6aefe4250101asv5.html 什么是Catalan数 说到Catalan数,就不得不提及Catalan序列,Catal ...

  7. 【ACM】poj_2356_Find a multiple_201308061947

    Find a multipleTime Limit: 1000MS  Memory Limit: 65536K Total Submissions: 4988  Accepted: 2159  Spe ...

  8. [Javascript Crocks] Recover from a Nothing with the `coalesce` Method

    The alt method allows us to recover from a nothing with a default Maybe, but sometimes our recovery ...

  9. ListViewItem中的图片不能动态改变的解决方法

    近期遇到了一个问题,就是我的listviewitem中有个图片,点击的时候须要变成还有一种图片.结果在getView()中设置了响应.可是能够运行.就是不起作用.在网上查了非常多资料也没有解决.最后发 ...

  10. 去掉文本框前后的空格(JS+JQuery)

    表单验证时,需要去除文本框前后的空格才可以正确通过验证.以前看到过一句话:任何设计和代码都要对用户足够宽容. <input type="text" class="p ...