oracle 进程 会话,游标,事务的关系
oracle 进程 会话,游标,事务的关系
如果在LINUX 下 是用TOP 可以看到正在跑的ORACLE 进程。ORACLE 除了后台进程外还有用户进程。
既是开启了并行,也是单独的进程。
PL/SQL DEVELOPER 里的多个查询窗口实际上是进程。
一个进程可以包含多个会话,当它们只能串行运行。比如在一个查询窗口中执行三个SELECT查询。
下面语句查询出看,都是同一个进程和会话ID中
select a.SPID,a.PID,b.SID,B.USERNAME,STATUS,PROCESS,MACHINE,B.TERMINAL,TYPE,SQL_ID
from v$process a,v$session b
where background is null
and a.ADDR=b.PADDR
and B.username <>'SYSMAN'
and B.username <>'SYS'
AND B.TERMINAL='PC-200904171104'
ORDER BY B.TERMINAL;
--13084 70 69 3608:3612
事务概念: 为了维护数据的前后一致性而设置的。
一般是改变了表的结构和数据,才会产生事务。
DML,DDL。
事务提交语句是COMMIT;
一个会话可以有多个事务。比如存储过程中。当然也是串行进行的。
OPEN_CURSORS参数的游标
为了处理SQL语句,Oracle分配了一片叫做context area的区域来处理所必要的信息,其中包括要处理的行的数目,一个指向语句被分析以后的表示形式的指针,以及查询的结果集.cursor是一个指向 context area的一个句柄或指针,通过它,pl/sql可以处理该区域的数据.
相关文档:
如何看懂ORACLE执行计划
一、什么是执行计划
An explain plan is a representation of the access path that is taken when a query is executed within Oracle.
二、如何访问数据
At the physical level Oracle reads blocks of data. The smallest amount of data read is a single Oracle block, the largest is con ......
1,列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数。
select job,count(empno) from emp
where job in(select job from emp group by job having min(sal)>1500)
group by job;
2,列出薪金高于公司平均薪金的所有员工所在部门,上级领导,公司的工资等级。
select e.ename,d.dname,m.ename,e.sal,sa. ......
ORACLE常用命令
一、ORACLE的启动和关闭
1、在单机环境下
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su - oracle
a、启动ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b、关闭ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR& ......