博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 48 49 50 51 52 53 54 55 56 ··· 78 下一页

2012年9月11日

摘要: 1.批量编译存储工程的存储过程create or replace procedure compile_invalid_procedures( p_owner varchar2 -- 所有者名称,即 SCHEMA) as--编译某个用户下的无效存储过程 str_sql varchar2(200);begin for invalid_procedures in (select object_name from all_objects where status = 'INVALID' and object_type = 'PROCEDURE' and owner=up 阅读全文

posted @ 2012-09-11 16:44 徐正柱- 阅读(1393) 评论(0) 推荐(0) 编辑

2012年8月31日

摘要: SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE [MByte]", SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]", (TO_NUMBER(e.value) * TO_NUMBER(f.value) * g.undo_block_per_sec) / (1024*1024) "NEEDED UNDO SIZE [MByte]" FROM ( SELECT SUM(a.bytes) undo_size FROM v$datafile a, v$ta 阅读全文

posted @ 2012-08-31 15:08 徐正柱- 阅读(628) 评论(0) 推荐(0) 编辑

摘要: 调整Oracle应用系统性能的原则和方法 转载 来源: 中国IT实验室 作者: 未知 摘要:通过探讨和研究Oracle服务器和Client/Server的特点和原理,阐述了提高、调整Oracle应用系统性能的一些原则和方法。 关键词:Oracle;客户/服务器;系统全程区;网络I/O;回滚段。 Oracle 数据库广泛应用在社会的各个领域,特别是在Client/Server模式的应用,但是应用开发者往往碰到整个系统的性能随着数据量的增大显著下降的问题,为了解决这个问题,从以下几个方面:数据库服务器、网络I/O、应用程序等对整个系统加以调整,充分发挥Oracle的效能,提高整个系统的性能。 1 阅读全文

posted @ 2012-08-31 14:32 徐正柱- 阅读(424) 评论(0) 推荐(0) 编辑

2012年8月29日

摘要: 在实际工作中经常要看某个sql语句的执行计划,例如: 在sqlplus使用命令SET AUTOTRACE ON后,执行计划显示如下: SQL>set autotrace on SQL> select count(*) from emp; COUNT(*)---------- 12 Execution Plan---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE 1 0 SORT (AGGREGATE) 2 1 TABLE ACCESS (FULL) 阅读全文

posted @ 2012-08-29 17:48 徐正柱- 阅读(1186) 评论(0) 推荐(0) 编辑

摘要: 本篇主要内容如下:1 触发器类型 1.1 DML触发器 1.2 替代触发器 1.3 系统触发器2创建触发器 2.1 触发器触发次序 2.2 创建DML触发器 2.3 创建替代(INSTEAD OF)触发器 2.3 创建系统事件触发器 2.4 系统触发器事件属性 2.5 使用触发器谓词 2.6 重新编译触发器3删除和使能触发器4触发器和数据字典5 数据库触发器的应用举例 触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。1触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要 阅读全文

posted @ 2012-08-29 15:41 徐正柱- 阅读(350) 评论(0) 推荐(0) 编辑

2012年8月27日

摘要: 转摘:http://www.cnblogs.com/preftest/archive/2010/11/14/1876856.html1、监控等待事件select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*)from v$session_wait group by event order by 4;Lock wait occur when a session attempts to acquire a lock that is already held by another 阅读全文

posted @ 2012-08-27 16:48 徐正柱- 阅读(13051) 评论(2) 推荐(1) 编辑

2012年8月16日

摘要: Top 10 by Buffer Gets:set linesize 100set pagesize 100SELECT * FROM(SELECT substr(sql_text,1,40) sql, buffer_gets, executions, buffer_gets/executions "Gets/Exec", hash_value,addressFROM V$SQLAREA WHERE buffer_gets > 10000ORDER BY buffer_gets DESC)WHERE rownum <= 10;Top 10 by Physical 阅读全文

posted @ 2012-08-16 17:55 徐正柱- 阅读(800) 评论(0) 推荐(0) 编辑

2012年8月11日

摘要: Oracle Hint Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,在另一个时刻,却可能很差,这也是CBO 取代RBO的原因之一,规则是死的,而数据是时刻变化的,为了获得最正确的执行计划,只有知道表中数据的实际情况,通过计算各种执行计划的成本,则其最优,才是最科学的,这也是CBO的工作机.. 阅读全文

posted @ 2012-08-11 17:05 徐正柱- 阅读(465) 评论(0) 推荐(0) 编辑

2012年8月8日

摘要: ROW MOVEMENT特性最初是在8i时引入的,其目的是提高分区表的灵活性——允许更新Partition Key。有一点希望不要产生误解,开启ROW Movement并不会导致发生Row Migration时修改记录的Rowid。 ROW MOVEMENT特性最初是在8i时引入的,其目的是提高分区表的灵活性——允许更新Partition Key。这一特性默认是关闭,只是在使用到一些特殊功能时会要求打开。除了之前提到的更新Partition Key,还有2个要求打开的ROW MOVEMENT的功能就是flushback table和Shrink Segment。所以,只有当使用到以上3个功.. 阅读全文

posted @ 2012-08-08 11:13 徐正柱- 阅读(2052) 评论(0) 推荐(1) 编辑

2012年8月6日

摘要: 在Oracle 9i以上,Oracle有时候会选择将B-Tree索引进行BITMAP转换来进行SQL执行,从而导致极其恶劣的执行计划。该转换由隐藏参数_b_tree_bitmap_plans决定。如果该参数为true,则进行转换,否则不进行转换。而8i里,该参数缺省为false,所以只有存在bitmap索引时才会考虑将B树索引转换为bitmap; 而到了9i里,该参数缺省为true了,则对任何索引都有可能进行bitmap转换。解决办法有两个:1.通过过对_b_tree_bitmap_plans参数调整,禁用将B-tree索引转换成位图索引 alter system set "_b_t 阅读全文

posted @ 2012-08-06 10:32 徐正柱- 阅读(713) 评论(0) 推荐(0) 编辑

上一页 1 ··· 48 49 50 51 52 53 54 55 56 ··· 78 下一页