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基於會話和基於事務的臨時表測試例子
首發原文 http www.laozizhu.com view.jsp?articleid 120 臨時表可以是基於會話的 臨時表中的資料可以跨提交存在,即提交之前仍然存在,但是斷開連線後再連線後再連線時資料就沒有了 也可以是基於事務的 提交之後資料就消失 下面這個例子顯示了這兩種不同的臨時表。我使...
Oracle中會話與事務有什麼區別
乙個會話可以啟動多個事務,會話是session,指一次連線。事務是指乙個操作單元,要麼成功,要麼失敗,沒有中間狀態。會話中可以完成多個事務。例如 會話好比,在應用程式中連線資料庫要執行連線,然後會關閉,這算一次會話。事務呢,就好比在開啟會話後要執行程式中的某乙個或多個對資料庫進行的操作。事物的最好例...
程序組 程序 會話的理解2
這篇看懂了。第一種情況 顯然kill掉父程序,子程序也消亡了!第二種情況 我寫了兩個指令碼a.sh 和b.sh,在a.sh中呼叫b.sh,執行後顯然有兩個程序,而且a.sh為b.sh的父程序,然後我再另外乙個terminal中kill 掉a.sh程序,但b.sh過寄給init程序,而不會終止!我的例...