日期:2014-05-17  浏览次数:20941 次

大家帮忙解释一下 有点不明白
数据库中所谓的会话或者说session是什么意思

------解决方案--------------------
例如 用 Pl/SQl devloper 连接Oracle。就会产生一个会话。
就是一个连接。不会轻而断开。
------解决方案--------------------
会话就是多个连接的问题
就像你开着2个dos窗口来连接oracle
在其中一个做update 
必须commit之后
在另一个才能看到update后的结果


------解决方案--------------------
会话就是‘连接到断开’的全部过程,但是你如果开个n个窗口,n个窗口连接到服务器就是打开一个session
------解决方案--------------------
可以这样来理解!

一个固定电话,如果你先用手机打了,那么我再打的时候,就在通话中了,只能等你打完了,我才能再打!
简单一点来讲,oracle中的session其实也是这个道理!

当然oracle的session机制比我举的这个例子肯定要复杂的多,但是道理永远是那个道理!

一般认为,我们连接一次数据库即产生一个会话,那么这个时候,该会话内一切操作安全,这个时候,如果有其他的用户也想要操作数据库,那么它连接时,也产生了另一个新的会话。
这个时候,两个会话如果操作不同的表或者记录,那么会话是安全的,如果操作相同的数据,oracle为了保护数据安全,会产生锁,当地一个会话操作时,第二个会话将处于等待状态!直到第一个会话结束后,第二个会话才会执行
------解决方案--------------------
探讨

会话就是‘连接到断开’的全部过程,但是你如果开个n个窗口,n个窗口连接到服务器就是打开一个session

------解决方案--------------------
会话就是‘连接到断开’的全部过程,但是你如果开个n个窗口,n个窗口连接到服务器就是打开N个session