Java世界
学习笔记
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2013年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
留言簿
(11)
给我留言
查看公开留言
查看私人留言
收藏夹
大家的博客地址(1)
(rss)
随笔档案
2014年5月 (1)
2014年4月 (1)
2013年11月 (3)
2013年10月 (2)
2013年6月 (2)
2013年1月 (3)
2012年12月 (1)
2012年11月 (1)
2012年8月 (3)
2012年7月 (1)
2012年6月 (2)
2012年4月 (3)
2012年3月 (4)
2011年2月 (1)
2010年12月 (6)
2010年7月 (5)
2010年6月 (6)
2010年5月 (4)
2010年1月 (3)
2009年7月 (2)
2009年5月 (2)
2009年1月 (1)
2008年12月 (2)
2008年10月 (1)
2008年8月 (1)
2008年7月 (2)
2008年6月 (9)
2008年5月 (1)
2008年3月 (9)
2008年2月 (9)
2008年1月 (1)
2007年12月 (4)
2007年11月 (8)
2007年10月 (16)
文章档案
2007年11月 (8)
2007年10月 (1)
阅读排行榜
1. java字符串的各种编码转换 (213696)
2. 怎么查看端口占用情况?(150001)
3. 深入学习Oracle分区表及分区索引(46684)
4. 如何导入.sql文件到mysql中?(22509)
5. ORACLE中Like与Instr模糊查询性能大比拼(20798)
评论排行榜
1. 怎么查看端口占用情况?(38)
2. java字符串的各种编码转换 (25)
3. Files' name is invalid or does not exist (1205).错误解决方法(4)
4. JSON与JAVA数据的转换(3)
5. ORACLE中Like与Instr模糊查询性能大比拼(3)
常用链接
我的随笔
我的评论
我的参与
最新评论
统计
随笔 - 120
文章 - 9
评论 - 115
引用 - 0
积分与排名
积分 - 612427
排名 - 77
天籁村
新华网
雅虎
最新评论
1. re: ORACLE中Like与Instr模糊查询性能大比拼
我在oracle 10g中执行instr和like %%开销差不多呢?
--小龙在线
2. re: Files' name is invalid or does not exist (1205).错误解决方法
去玩儿
--二恶
3. re: Files' name is invalid or does not exist (1205).错误解决方法
sdfsd
--dedf
4. re: JPA插入或者修改数据的时候使用数据库表的default值(JPA动态插入动态更新)
健康减肥咖啡姐看风景
--123456789
5. re: 解决IE下Iframe的Session丢失
很好
--shickvip
oracle table-lock的5种模式
Oracle中的锁定可以分为几类:
1、DML lock(data lock),
2、DDL lock(dictionary lock)
3、internal lock/latch。
DML lock又可以分为row lock和table lock。row lock在select.. for update/insert/update/delete时隐式自动产生,而table lock除了隐式产生,也可以调用lock table <table_name> in </table_name> name来显示锁定。
如果不希望别的session lock/insert/update/delete表中任意一行,只允许查询,可以用lock table table_name in exclusive mode。(X)这个锁定模式级别最高,并发度最小。
如果允许别的session查询或用select for update锁定记录,不允许insert/update/delete,可以用
lock table table_name in share row exclusive mode。(SRX)
如果允许别的session查询或select for update以及lock table table_name in share mode,只是不允许insert/update/delete,可以用
lock table table_name in share mode。(share mode和share row exclusive mode的区别在于一个是非抢占式的而另一个是抢占式的。进入share row exclusive mode后其他session不能阻止你insert/update/delete,而进入share mode后其他session也同样可以进入share mode,进而阻止你对表的修改。(S)
还有两种锁定模式,row share(RS)和row exclusive(RX)。他们允许的并发操作更多,一般直接用DML语句自动获得,而不用lock语句。
详细参考concepts文档中的"Type Of Locks":
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2937
-------------------------------------
怎么unlock table 解锁
方法一、kill session:
SQL> select object_id,session_id from v$locked_object; //注意session_id 就是上锁的 session标志
SQL> select username,sid,SERIAL# from v$session where sid=。。; //这里的SID = session_id
SQL> alter system kill session 'id,serial#'; //杀死该session
方法二、rollback/commit 终止事务处理
ORACLE 大表建立索引的一些考虑
首先,
应当考虑表空间和磁盘空间是否足够
。我们知道索引也是一种数据,在建立索引的时候势必也会占用大量表空间。因此在对一张大表建立索引的时候首先应当考虑的是空间容量问题。
其次,在对建立索引的时候要对表进行加锁,因此应当注意
操作在业务空闲的时候进行
。
性能调整方法:
首先应考虑IO, 物理上,应当尽量把索引与数据分散到不同的磁盘上。 逻辑上,数据表空间与索引表空间分开。这是在建索引时应当尊守的基本原则
。
其次,
在建立索引的时候要对表进行全表的扫描工作
,因此,应当考虑调大初始化参数
db_file_multiblock_read_count的值。一般设置为16或更大
。
再 次,
建立索引除了要进行全表扫描外同时还要对数据进行大量的排序操作
,因此,应当调整排序区的大小。在9I之前, 可以在SESSION级别上加大sort_area_size 的大小, 比如设置为100M或者更大。9I 以后, 如果
初始化参数workarea_size_policy的值为TRUE, 则排序区从PGA_AGGREGATE_TARGET里自动分配获得
posted on 2013-11-05 14:31
Rabbit
阅读(2053)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © Rabbit