服务进程

进程分为:用户进程和oracle进程;

oralce进程运行在oralce服务器端,分为服务器进程和后台进程。服务器进程用于处理连接到数据库的用户进程的请求。它又分为共享服务器进程和专有服务器进程。服务器进程是为一个单独的用户进程服务的进程。服务器进程是为用户进程而创建的,并由用户进程用来与
oracle数据库服务器进行通信。例如,用户发出查询数据请求,它就分析sql代码的语法,并执行该程序。然后,它将数据从数据文件读到内存中(如果其他用户进程读取同样的数据,就不用再从磁盘上读取了)。最后,服务器进程将查询结果返回给用户。


专有服务器进程

每当用户登陆oracle时,oracle总会为之创建一个新的进程,称为专有服务器进程,在会话的生存期专门为之服务,比如接受或执行用户提交的sql语句。

共享服务器进程

oracle提供一个共享进程池为大量用户提供服务。这样数据库就能让更多的用户与数据库连接,否则很难连接更多用户,共享服务器进程通常和服务器一同启动。

共享服务器进程和专有服务器进程之间有个重大区别,与数据库连接的客户端不会与共享服务器进程直接通信,但是专有服务器进程则不然,客户进程会与专有服务器进程直接通信。
要想连接共享服务器进程,中间还有一个调度器,它负责将客户的请求放入SGA中的请求队列。第一个空闲的共享服务器进程会得到这个请求,完成命令后,共享服务器会把响应放到原调度器的响应队列中。调度器一直监听这个队列,发现有结果后,就会把结果传给客户。



和用户进程相关的两个概念是连接和会话
连接:是用户进程到数据库实例之间的一条通信路径。如果用户进程和实例在同一台机子上,
则使用进程间的通信机制(IPC),不在同一条机子上,则使用网络通信机制。

会话:会话是有生命的,从登陆数据库开始,到退出数据库服务器。一个用户可以创建多个会
话,就是打开多个客户端,使用相同的名字和密码登陆oracle。

1.如何查询当前数据库都有哪些会话?

select USERNAME,TYPE from v$session where type='USER';

2.如何查询Test用户是从那台机子上登陆的?
select terminal from v$session where USERNAME='Test';

3.如何杀掉一个会话?

首先找出SID和SERIAL#
select SID,SERIAL# USERNAME,STATUS,SERVER from v$session
然后用如下命令杀掉
ALTER SYSTEM KILL SESSION 'SID,SERIAL#',
例如:ALTER SYSTEM KILL SESSION '148,78'

注意:是单引号不是双引号。一个会话在执行回滚事物、执行I/O操作、数据的导出与导入时,是不能杀掉改进程的,否则会报错。

如果自己的会话被别人杀掉了,可以重新登陆oralce即可。

4.判断是专有服务器模式还是共享服务器模式?

show parameter shared
如果值都不为0,表示数据库运行在共享服务器模式


5.判断客户端连接到的是专有服务器还是共享服务器连接?

select server from v$session;


数据库服务


OracleService<SID>是xp的一个系统服务,如果安装了一个数据库,它的缺省启动类型为自动,对应进程为oracle.exe,当xp系统启动时,就会启动该服务,而改服务就会自动把对应的实例启动起来。这样,系统启动后,相应的数据库实例就会打开。打开、关闭该服务会自动地打开、关闭相应的数据库实例。

每一个数据库实例都对应一个OracleServiceSID。一台机子上可以同时运行多个实例,每个实例都有一个名字(SID),实例是用来驱动数据库的.

监听器负责监听连接,然后把该连接发送到对应的OracleServiceSID上,每个系统只有一个数据库监听器,但是可以有多个OracleServiceSID。 如果OracleServiceSID服务没有启动,对应的数据库实例也没有启动,即便监听器监听到有连接请求,也知道请求的是哪个数据库,当时没有地方接受该请求。所以,数据库服务进程必须启动,好接受监听器发送过来的连接请求,然后再创建专有服务器进程。

OracleService[SID] can stay up with or without DB instance running. Starting/stopping the Windows service by default starts/stops the DB instance at the same time (see below). But you can start/stop the DB instance with the Windows service running.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值