博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 83 下一页

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 徐正柱- 阅读(13078) 评论(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 徐正柱- 阅读(822) 评论(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 徐正柱- 阅读(475) 评论(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 徐正柱- 阅读(2160) 评论(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 徐正柱- 阅读(773) 评论(0) 推荐(0)

2012年8月3日

摘要: 分区索引分为本地(local index)索引和全局索引(global index)。其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有前缀的索引。B树索引和位图索引都可以分区,但是HASH索引不可以被分区。位图索引必须是本地索引。下面就介绍本地索引以及全局索引各自的特点来说明区别;一、本地索引特点:1.本地索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区说,一句话,本地索引的分区机制和表的分区机制一样。2.如果本地索引的索引列以分区键开头,则称为前缀局部索引。3.如果本地索引的列不是以分区键开头,或者不包含分区键列, 阅读全文

posted @ 2012-08-03 15:47 徐正柱- 阅读(335) 评论(0) 推荐(0)

2012年8月2日

摘要: 2011-11-25 11:37 oracle 关闭和开启归档日志一 设置为归档方式1 sql> archive log list; #查看是不是归档方式2 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档 sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile; #设置归档路径 sql> alter system set log_ 阅读全文

posted @ 2012-08-02 12:02 徐正柱- 阅读(750) 评论(0) 推荐(0)

2012年8月1日

摘要: 在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。在线重定义表具有以下功能:修改表的存储参数;可以将表转移到其他表空间;增加并行查询选项;增加或删除分区;重建表以减少碎片;将堆表改为索引组织表或相反的操作;增加或删除一个列。调用DBMS_REDEF 阅读全文

posted @ 2012-08-01 18:18 徐正柱- 阅读(384) 评论(0) 推荐(0)

摘要: Oracle的普通表没有办法通过修改属性的方式直接转化为分区表,必须通过重建的方式进行转变,下面介绍三种效率比较高的方法,并说明它们各自的特点。方法一:利用原表重建分区表。步骤:SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);表已创建。SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;已创建6264行。SQL> COMMIT;提交完成。SQL> CREATE TABLE T_NEW (ID, TIME) PARTITION BY RANGE 阅读全文

posted @ 2012-08-01 15:41 徐正柱- 阅读(487) 评论(0) 推荐(0)

摘要: select rowid,dbms_rowid.rowid_object(rowid) data_object_id#,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,dbms_rowid.rowid_row_number(rowid) row#,b.emp_id,B.EMP_NAMEfrom dim_employee b---where b.rowid='AAAQwWAAEAAAhvfAAD' 阅读全文

posted @ 2012-08-01 11:04 徐正柱- 阅读(404) 评论(0) 推荐(0)

上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 83 下一页