<p>oracle 进程 会话,游标,事务的关系<br><br>
如果在LINUX 下 是用TOP 可以看到正在跑的ORACLE 进程。ORACLE 除了后台进程外还有用户进程。<br>
既是开启了并行,也是单独的进程。<br><br>
PL/SQL DEVELOPER 里的多个查询窗口实际上是进程。<br><br>
一个进程可以包含多个会话,当它们只能串行运行。比如在一个查询窗口中执行三个SELECT查询。<br><br>
下面语句查询出看,都是同一个进程和会话ID中<br>
select a.SPID,a.PID,b.SID,B.USERNAME,STATUS,PROCESS,MACHINE,B.TERMINAL,TYPE,SQL_ID<br>
from v$process a,v$session b<br>
where background is null<br>
and a.ADDR=b.PADDR<br>
and B.username <>'SYSMAN'<br>
and B.username <>'SYS'<br>
AND B.TERMINAL='PC-200904171104'<br>
ORDER BY B.TERMINAL;<br>
--13084 70 69 3608:3612<br><br>
事务概念: 为了维护数据的前后一致性而设置的。<br>
一般是改变了表的结构和数据,才会产生事务。<br>
DML,DDL。<br>
事务提交语句是COMMIT;<br><br>
一个会话可以有多个事务。比如存储过程中。当然也是串行进行的。<br><br>
OPEN_CURSORS参数的游标<br><br>
为了处理SQL语句,Oracle分配了一片叫做context area的区域来处理所必要的信息,其中包括要处理的行的数目,一个指向语句被分析以后的表示形式的指针,以及查询的结果集.cursor是一个指向 context area的一个句柄或指针,通过它,pl/sql可以处理该区域的数据.</p>
如果在LINUX 下 是用TOP 可以看到正在跑的ORACLE 进程。ORACLE 除了后台进程外还有用户进程。<br>
既是开启了并行,也是单独的进程。<br><br>
PL/SQL DEVELOPER 里的多个查询窗口实际上是进程。<br><br>
一个进程可以包含多个会话,当它们只能串行运行。比如在一个查询窗口中执行三个SELECT查询。<br><br>
下面语句查询出看,都是同一个进程和会话ID中<br>
select a.SPID,a.PID,b.SID,B.USERNAME,STATUS,PROCESS,MACHINE,B.TERMINAL,TYPE,SQL_ID<br>
from v$process a,v$session b<br>
where background is null<br>
and a.ADDR=b.PADDR<br>
and B.username <>'SYSMAN'<br>
and B.username <>'SYS'<br>
AND B.TERMINAL='PC-200904171104'<br>
ORDER BY B.TERMINAL;<br>
--13084 70 69 3608:3612<br><br>
事务概念: 为了维护数据的前后一致性而设置的。<br>
一般是改变了表的结构和数据,才会产生事务。<br>
DML,DDL。<br>
事务提交语句是COMMIT;<br><br>
一个会话可以有多个事务。比如存储过程中。当然也是串行进行的。<br><br>
OPEN_CURSORS参数的游标<br><br>
为了处理SQL语句,Oracle分配了一片叫做context area的区域来处理所必要的信息,其中包括要处理的行的数目,一个指向语句被分析以后的表示形式的指针,以及查询的结果集.cursor是一个指向 context area的一个句柄或指针,通过它,pl/sql可以处理该区域的数据.</p>