学习《Oracle 9i10g编程艺术》的笔记 (九) 进程
2009-11-27 15:17
274 查看
1.Oracle 实例主要有3 类进程
Oracle 中的各个进程要完成某个特定的任务或一组任务,每个进程都会分配内部内存(PGA 内存)来
完成它的任务。Oracle 实例主要有3 类进程:
服务器进程(server process):这些进程根据客户的请求来完成工作。我们已经对专用服
务器和共享服务器有了一定的了解。它们就是服务器进程。
后台进程(background process):这些进程随数据库而启动,用于完成各种维护任务,如
将块写至磁盘、维护在线重做日志、清理异常中止的进程等。
从属进程(slave process):这些进程类似于后台进程,不过它们要代表后台进程或服务
器进程完成一些额外的工作。
2.Oracle 术语中连接和会话之间的区别
连接(connection)就是客户进程与Oracle 实例之间的一条物理路径(例如,客户与实例之间的一个网络连接)。会话(session)
则不同,这是数据库中的一个逻辑实体,客户进程可以在会话上执行SQL 等。多个独立的会话可
以与一个连接相关联,这些会话甚至可以独立于连接存在。
在一条连接上可以建立0 个、一个或多个会话。各个会话是单独而且独立的,即使它
们共享同一条数据库物理连接也是如此。一个会话中的提交不会影响该连接上的任何其他会话。实际上,
一条连接上的各个会话可以使用不同的用户身份!
连接(connection):连接是从客户到Oracle 实例的一条物理路径。连接可以在网络上建
立,或者通过IPC 机制建立。通常会在客户进程与一个专用服务器或一个调度器之间建立连接。
不过,如果使用Oracle 的连接管理器(Connection Manager ,CMAN),还可以在客户和CMAN
之间以及CMAN 和数据库之间建立连接
会话(session):会话是实例中存在的一个逻辑实体。这就是你的会话状态(session
state),也就是表示特定会话的一组内存中的数据结构。提到“数据库连接”时,大多数人首
先想到的就是“会话”。你要在服务器中的会话上执行SQL、提交事务和运行存储过程。
3.进程任务
专用服务器进程和共享服务器进程的任务是一样的:要处理你提交的所有SQL。当你向数据库提交一
个SELECT * FROM EMP 查询时,会有一个Oracle 专用/共享服务器进程解析这个查询,并把它放在共享池
中(或者最好能发现这个查询已经在共享池中)。这个进程要提出查询计划,如果必要,还要执行这个查询
计划,可能在缓冲区缓存中找到必要的数据,或者将数据从磁盘读入缓冲区缓存中。
Oracle 中的各个进程要完成某个特定的任务或一组任务,每个进程都会分配内部内存(PGA 内存)来
完成它的任务。Oracle 实例主要有3 类进程:
服务器进程(server process):这些进程根据客户的请求来完成工作。我们已经对专用服
务器和共享服务器有了一定的了解。它们就是服务器进程。
后台进程(background process):这些进程随数据库而启动,用于完成各种维护任务,如
将块写至磁盘、维护在线重做日志、清理异常中止的进程等。
从属进程(slave process):这些进程类似于后台进程,不过它们要代表后台进程或服务
器进程完成一些额外的工作。
2.Oracle 术语中连接和会话之间的区别
连接(connection)就是客户进程与Oracle 实例之间的一条物理路径(例如,客户与实例之间的一个网络连接)。会话(session)
则不同,这是数据库中的一个逻辑实体,客户进程可以在会话上执行SQL 等。多个独立的会话可
以与一个连接相关联,这些会话甚至可以独立于连接存在。
在一条连接上可以建立0 个、一个或多个会话。各个会话是单独而且独立的,即使它
们共享同一条数据库物理连接也是如此。一个会话中的提交不会影响该连接上的任何其他会话。实际上,
一条连接上的各个会话可以使用不同的用户身份!
连接(connection):连接是从客户到Oracle 实例的一条物理路径。连接可以在网络上建
立,或者通过IPC 机制建立。通常会在客户进程与一个专用服务器或一个调度器之间建立连接。
不过,如果使用Oracle 的连接管理器(Connection Manager ,CMAN),还可以在客户和CMAN
之间以及CMAN 和数据库之间建立连接
会话(session):会话是实例中存在的一个逻辑实体。这就是你的会话状态(session
state),也就是表示特定会话的一组内存中的数据结构。提到“数据库连接”时,大多数人首
先想到的就是“会话”。你要在服务器中的会话上执行SQL、提交事务和运行存储过程。
3.进程任务
专用服务器进程和共享服务器进程的任务是一样的:要处理你提交的所有SQL。当你向数据库提交一
个SELECT * FROM EMP 查询时,会有一个Oracle 专用/共享服务器进程解析这个查询,并把它放在共享池
中(或者最好能发现这个查询已经在共享池中)。这个进程要提出查询计划,如果必要,还要执行这个查询
计划,可能在缓冲区缓存中找到必要的数据,或者将数据从磁盘读入缓冲区缓存中。
相关文章推荐
- 学习《Oracle 9i10g编程艺术》的笔记 (五)
- 38.Oracle深度学习笔记——OS下关闭连接进程脚本
- 学习《Oracle 9i10g编程艺术》的笔记 (二)
- 学习《Oracle 9i10g编程艺术》的笔记 (三)
- 学习《Oracle 9i10g编程艺术》的笔记 (六) 体系结构
- 学习《Oracle 9i10g编程艺术》的笔记 (八) 内存结构
- 学习《Oracle 9i10g编程艺术》的笔记 (七) 文件
- 学习《Oracle 9i10g编程艺术》的笔记 (十) 锁
- 学习《Oracle 9i10g编程艺术》的笔记 (十三) 索引
- 学习《Oracle 9i10g编程艺术》的笔记 (四)
- 学习《Oracle 9i10g编程艺术》的笔记 (十二) redo 和undo 如何协作
- 学习《Oracle 9i10g编程艺术》的笔记 (一)
- UNIX环境编程学习笔记(15)——进程管理之进程终止
- Linux内核学习笔记之进程切换(八)
- [Linux学习笔记]进程概念及控制
- Oracle 10g 进程体系学习总结
- Oracle学习小笔记
- Oracle第一课(学习中笔记)
- 24.Oracle深度学习笔记——使用存储提纲
- 遍历进程——学习笔记