
Oracle数据库资料
skiof007
http://my.youkuaiyun.com/lifetragedy
展开
-
优快云技术中心UNION 和UNION ALL 的区别
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:select * from gc_dfysunionselect * from ls_jg_dfys这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如转载 2011-01-17 10:43:00 · 446 阅读 · 0 评论 -
关于Oracle中read only Transaction
大家都比较知道在Oracle中可以设置事务的隔离级别,其中有一个级别是read only.read-only遵从事务级的读一致性,仅仅能看见在本事务开始前由其它事务提交的更改。不允许在本事务中进行DML操作。read only是serializable的子集。它们都避免了非重复读和幻像。区别是在read only中是只读;而在serializable中可以进行DML操作。转载 2014-11-16 18:25:29 · 2532 阅读 · 0 评论 -
Oracle --- 事务隔离级别
隔离级别(isolation level),是指事务与事务之间的隔离程度。 显然,事务隔离程度越高,并发性越差、性能越低;事务隔离程度越低,并发性越强、性能越高。 ANSI/ISO SQL92标准中定义了4种事务隔离级别: 1. 序列化(serializable)最高隔离级别。系统中所有的事务都是一个接一个执行的。因此也就不会发生转载 2014-11-16 18:24:34 · 670 阅读 · 0 评论 -
oracle table-lock的5种模式
Oracle中的锁定可以分为几类:DML lock(data lock),DDL lock(dictionary lock)和internal lock/latch。DML lock又可以分为row lock和table lock。row lock在select.. for update/insert/update/delete时隐式自动产生,而table lock除了隐式产生,也可以调用lo转载 2013-08-22 16:47:26 · 1068 阅读 · 0 评论 -
ora-01652无法通过128(在表空间temp中)扩展temp段
今天提交请求后,提示ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段。最后通过ALTER DATABASE TEMPFILE '/*/*/db/apps_st/data/tempx01.dbf' RESIZE 7168M;扩展临时表空间来解决今天提交请求后,提示ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段。最后通过转载 2012-10-24 14:09:32 · 1166 阅读 · 0 评论 -
ORACLE Lock Table
LOCK TABLE 语法: LOCK TABLE table_1 [,table_2, ..., table_n] IN lock_mode MODE NOWAIT 变量: table_1,...,table_n: 一系列你想通过使用LOCK TABLE语句锁住的数据库表。 lock_mode: 对于某一数据库表你要设定的锁转载 2011-12-26 18:03:51 · 1251 阅读 · 0 评论 -
ORA-12048:刷新实体化视图
当系统中存在多个物化视图,使用刷新组会大大简化物化视图的刷新,只需要将同一时间同步的物化视图全都放到一个刷新组中既可。在9i中,使用刷新组方便的时候有一个缺点,如果其中一个物化视图报错,Oracle给出的错误信息并没有说明是哪个物化视图出了问题。这篇文章讨论对于本地物化视图,如何定位刷新组中刷新失败的物化视图。先构造一个简单的例子:SQL> SELECT * FROM转载 2011-12-14 14:23:50 · 6560 阅读 · 0 评论 -
Ora-00018 Maximum number of sessions exceeded超出最大会话数
<br />Ora-00018 Maximum number of sessions exceeded超出最大会话数<br />Oracel默认Process的值为150,导致实际的Session值会超过Oracle的设置值(Session的数量是Process*1.1+5),所以会出错。<br />解决方法:<br />建议将Process的值往大了改。<br />查看当前系统中的Process<br />SQL> show parameter processes;<br />NAME转载 2011-02-14 15:36:00 · 9398 阅读 · 0 评论 -
oracle并行查询一例
今天碰到一个开发人员反映SQL执行时间过长。根本无法得到结果集。 看到服务器压力也没有很高,估计又是一个非常消耗磁盘的查询。果然,发现是一个200w的表和一个超过1100w表的HASH JOIN . 简单的帮助优化了一个SQL后,SQL如下: select count(ui.usin_uid_fk) from table1 av, table2 uiwhere av.av_usse_activatedate >= to_date('20090102', 'y转载 2011-01-18 13:11:00 · 489 阅读 · 0 评论 -
Oracle 并行查询 parallel Query
81 53,5297 P_Base_Day_I_NewTaredUser 2009-06-25 17:28:56 2009-06-25 18:24:21 55 insert 成功 base82 53,5300 P_BASE_DAY_I_NEWTAREDUSER_test 2009-06-25 17:29:31 2009-06-25 17:54:21 24 insert 成功 base这是两个同样的过程 访问6千万的数据进行inner join 统计 前个花了55分钟 后一个花了24分钟inser转载 2011-01-18 13:10:00 · 912 阅读 · 0 评论 -
oracle truncate与delete的区别
1.truncate做的修改是不能回滚的,就是不可恢复的操作。用了这个命令后就收回了表空间。delete删除是要把数据写入系统回滚段中以便 恢复时使用。2.Truncate 释放所有的Block ,而Delete 不释放空间.3.truncate是DDL語言.delete是DML語言(DDL語言是自動提交的.命令完成就不可回滾).4.truncate能降低HWM(高水位问题),而delete 无法降低HWM,因此无法表在用delete删除,表的大小没有改变!转载 2011-01-17 11:09:00 · 583 阅读 · 0 评论 -
ORACLE分页查询SQL语法——最高效的分页
--1:无ORDER BY排序的写法。(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM emp t WHERE hire_date BETWEEN TO_DATE ('2006050转载 2014-11-16 18:23:25 · 553 阅读 · 0 评论