原文地址: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. salt 批量添加route路由

    安装net-tools包 因为其余机器没有网络,使用rpm包安装,并添加缺省路由. [root@web1 base]# tree . ├── add-route.sls ├── files │   └ ...

  2. 【hihocoder 1329】平衡树·Splay(Splay做法)

    [题目链接]:http://hihocoder.com/problemset/problem/1329 [题意] [题解] 插入操作:-,记住每次插入之后都要把它放到根节点去就好; 询问操作:对于询问 ...

  3. 洛谷—— P1097 统计数字

    https://www.luogu.org/problem/show?pid=1097 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数 ...

  4. [MGR——Mysql的组复制之单主模式 ]详细搭建部署过程

    1,关于MySQL Group Replication   基于组的复制(Group-basedReplication)是一种被使用在容错系统中的技术.Replication-group(复制组)是由 ...

  5. JS经常使用表单验证总结

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  6. pyhton 从web获取json数据 保存到本地然后再读取

    从web中获取json数据直接进行处理总认为太慢.主要是从web中获取获取数据的过程有点慢. 所以就在想 假设先利用空暇时间把json数据获取并保存到本地,然后再从本地文件里读取和操作.应该就要快非常 ...

  7. iOS- &quot;unacceptable content-type: text/plain&quot;等content-type bug解决方式

    常常在使用AFN的时候会出现content-type错误,缺少请求类型,比方"unacceptable content-type: text/plain" 解决方法: 1.在网络请 ...

  8. ajax跨域POST时执行OPTIONS请求服务端返回403forbidden的解决方法

    ajax访问服务端restful api时,由于contentType类型的原因,浏览器会先发送OPTIONS请求. 本人服务端用的是spring mvc框架,web服务器用的是tomcat的,以下给 ...

  9. [Database] 列出MSSQL所有数据库名、所有表名、所有字段名

    1.获取所有数据库名 Select Name From Master..SysDatabases order By Name 2.获取所有表名 Select Name From SysObjects ...

  10. 922. 按奇偶排序数组 II

    给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数:当 A[i] 为偶数时, i 也是偶数. 你可以返回任何满足上述条件的数组 ...