理解oracle中连接和会话
1.概念不同:
连接是指物理的网络连接。
在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行。
2. 关系是多对多:
一个连接上可以建立0个,1个,2个,多个会话。
Oracle允许存在这样的会话,就是失去了物理连接的会话。
3. 概念应用:概念应用:
oracle的sessions参数决定的是会话数而不是物理连接数。
oracle的临时表中的数据是各会话间隔离的,而与连接概念无关。
jdbc的connection,对oracle是一个会话的概念。
4. 实际应用:
连接池,为了提高数据库交互效率,一般驱动程序都有连接池概念的实现。
Oracle不同的驱动提供两种连接池概念。
一种译为隐式连接缓冲
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:@10.1.3.60:1521:orcl");
ods.setUser("NC50_DEV");
ods.setPassword("NC50_DEV");
ods.setConnectionCachingEnabled(true);
java.util.Properties jup = new java.util.Properties();
jup.setProperty("InitialLimit", "1");
jup.setProperty("MinLimit", "1");
jup.setProperty("MaxLimit", "2");
ods.setConnectionCacheProperties(jup);
Connection cx0 = ods.getConnection();
隐式连接缓冲在第一次getconnection()时将根据配置初始化连接,并在每一个连接上建立一个会话。然后从这些会话中返回一个给本次调用。以后如果在本次connection.close()前调用getconnection(),将肯定得到另外一个会话。如果初始时建立的会话不够了,那么将新建物理连接,并在连接上建立一个会话。当然不能超过两个限制:1.MaxLimit【见程序,限制物理连接数】。2.sessions【oracle参数】。每次close()并不关闭实际的会话,而是返回连接缓冲中,供另一个getconnection()使用。所以可以得知,如果一个getconnection()中给某一个会话级临时表插入数据,然后close(),那么之后如果这个会话被重新得到,是可以看到插入的数据的。
一种译为OCI连接池。
OracleOCIConnectionPool ods = new OracleOCIConnectionPool();
String tns = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS="
+ "(PROTOCOL=TCP)(HOST=10.1.3.60)(PORT=1521)))"
+ "(CONNECT_DATA=(SERVICE_NAME=ORCL)))";
ods.setURL("jdbc:oracle:oci:@"
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
bbed.exe 数据块浏览和编辑工具
dbv.exe 数据文件逻辑检测工具
exp.exe 数据导出工具
imp.exe 数据导入工具
mig.exe 数据库移植工具
nmumigrate.exe Data Gatherer移植工具
ocopy.exe ......
ORACLE EXP/IMP 参数详解
2008-01-09 18:16
ORACLE EXP/IMP 参数详解
===========================================================
作者: magic21(http://magic21.itpub.net)
发表于: 2007.09.27 10:46
分类: 日积月累
出处: http://magic21.itpub.net/post/5324/400048
-------------------------------------- ......
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
......