Thingking in Oracle

学Oracle就像学乐器,光看不练很难突破瓶颈!

  • 博客访问: 1404578
  • 博文数量: 185
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-26 02:13
  • 认证徽章:
个人简介

Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(185)

文章存档

2017年(3)

2015年(36)

2014年(6)

2013年(20)

2012年(54)

2011年(58)

2009年(8)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

发布时间:2015-04-19 01:18:34

我们知道Oracle的是个大型而复杂的软件体系。在未启动Oracle时,这些软件好比沉睡中的巨人,当执行starup启动命令时,紧跟着启动相应进程,同时这些进程根据参数文件中的配置参数在内存中分配相应的SGA、PGA等实例正常工作所需共享或独占的区域后,对共享磁盘中的控制文件、数据文件头、undo、redo等进行相应的一致性验证后完成实例的构建。接下来的工作基本为进程之间的通信为基础,因此有必要了解如下Linux基础。......【阅读全文】

阅读(3979) | 评论(0) | 转发(0)

发布时间:2015-03-27 01:42:09

    关于数据库性能优化,最好从什么时候开始更合适呢?,根据自己几年下来的实际经验,我想从安装前的存储规划开始最好。存储规划并不是说偏要采用技术最先进的而是要采用最合适业务需求的,先说总体原则:1、数据文件、备份文件、归档日志文件存放位置分离原则,最好分别放到不同磁盘组,而不.........【阅读全文】

阅读(8558) | 评论(0) | 转发(0)

发布时间:2012-08-13 20:54:19

如下为对包含40487239条记录行的表通过在线重定义方法分区过程,表名SCOTT.PART_TESTselect * from SCOTT.PART_TEST --40487239select segment_name, partition_name, segment_type from dba_segments where owner='SCOTT' and segment_name='PART_TEST';select * from dba_segments where owner='SCOTT' and segment_name='PART_TEST';[@more@] --判断是否存在足够表空间和索引空间,这是很重要的。--备份要分区的原表--开始对表SCOTT.PART_TEST进行分区--1.判断能否分区beginDBMS_REDEFINITION.CAN_REDEF_TABLE('SCOTT', 'PART_T......【阅读全文】

阅读(4011) | 评论(0) | 转发(0)

发布时间:2012-08-13 01:01:21

在线重定义表可以将一个非分区表转换成一个分区表。使用exchange 和split partition 也可以将一个非分区表转换为分区表。后者相比较前者,因为不受要转换的数据量影响,因此也更方便、快捷一些。exchange partition 操作能将一个分区表的一个分区和另一张表的数据互换,这里的互换是segment 头部信息的修改,数据block 并不做改动,因此,和数据量无关,速度会非常快;完成后,再可以按照需要将分区具体split 成多个分区。[@more@]步骤:

1.建立一个空的,只有一个分区的同构分区表

2.exchange
partition with table 来互换数据

......【阅读全文】

阅读(3099) | 评论(0) | 转发(0)

发布时间:2012-07-19 02:50:25

今天在研究enqueue、resource、lock等的关系时通过 select * from v$fixed_view_definition where view_name='GV$LOCK'; 找出定义,如下: select s.inst_id, l.laddr, l.kaddr, s.ksusenum, r.ksqrsidt, r.ksqrsid1, r.ksqrsid2, l.lmode, l.request, l.ctime, decode(l.lmode, 0, 0, l.block) from l, x$ksuse s, x$ksqrs r where l.saddr = s.addr ......【阅读全文】

阅读(4231) | 评论(0) | 转发(0)

发布时间:2012-07-14 23:58:29

无论前面介绍的通过“手工”分析手段或通过“工具”分析手段,很多时候我们很有可能面临TOP SQL语句的优化,即SQL优化。很多情况下可以说数据库的优化就是SQL的优化,而SQL的优化呢?那就是的索引的优化! Oracle 10g开始有个SQL优化功能,即SQL优化顾问(SQL Tuning Adviser),这个工具可以作为SQL优化过程的参考依据,但并并不能全靠它。因为很多时候SQL的优化还涉及到业务特性,关键业务高峰期等多种因素。另外在使用过程中也发现,SQL Tuning Adviser很多时候对select类语句用处较大… 当我们通过前面介绍动态性能视......【阅读全文】

阅读(5060) | 评论(0) | 转发(0)

发布时间:2012-07-14 14:03:56

除了“手工”诊断分析Oracle性能,也可以通过Oracle提供的各类工具来快速的进行分析诊断。 尤其是Oracle10g以来,采用工具的特性更强大及方便。接下来介如何利用ASH工具来诊断分析,生成ASH报告有两种方式: 1、脚本方式: 执行$ORACLE_HOME/rdbms/admin/ashrpt.sql脚本 [dbserv1]@dbserv-db1[/export/home/oracle/awr_dir]$sqlplus / as sysdba SQL> @$ORACLE_HOME/rdbms/admin/ashrpt.sql Current Instance ~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instance ----------- -----------......【阅读全文】

阅读(4215) | 评论(0) | 转发(0)

发布时间:2012-07-14 03:01:36

在Oracle10g中增加了dba_his_*类统计信息表,在瓶颈时间过时了的时候,可以参考这些表来诊断瓶颈来源。 1、确定时间段: select * from dba_hist_snapshot where snap_id between &snapid1 and &snapid2 order by end_interval_time; 例如以上&snapid1 and &snapid2的值分别为10910 and 10913 2、对瓶颈时间段的等待时间进行汇总排序: select event,count(*) from dba_hist_active_sess_history where snap_id between 10910 and 10913 group by event order by ......【阅读全文】

阅读(4530) | 评论(0) | 转发(0)

发布时间:2012-07-14 01:04:22

Oracle的事件分为等待时间和诊断事件两类,熟练这两类事件在无工具诊断会有很大的帮助。 一、Oracle等待事件的分类 通过如下查询可以看,如下的wait_class是由 SQL> select wait_class#, wait_class_id, wait_class 2 from v$event_name 3 group by wait_class#, wait_class_id, wait_class; WAIT_CLASS# WAIT_CLASS_ID WAIT_CLASS ----------- ------------- ---------------------------------------------------- 10 2396326234 Scheduler 4 38......【阅读全文】

阅读(3681) | 评论(0) | 转发(0)

发布时间:2012-07-11 17:38:02

三、内存锁(Latch)导致的系统无响应或慢 当系统慢时,说明在某个环节出现等待,可以通过如下查询语句确定具体等待时间 select event#,event, count(*) sessions from v$session where STATUS = 'ACTIVE' and event not like '%SQL*Net%' and USERNAME is not null group by event#,event order by 3 desc; select s.SID,s.USERNAME,s.EVENT,s.WAIT_TIME,s.SECONDS_IN_WAIT,s.LAST_CALL_ET , s.STATE,s.BLOCKING_SESSION,s.BLOCKING_SESSION_STATUS from v$session s where s.U......【阅读全文】

阅读(3028) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

lhrbest2015-05-13 20:08

该引用已被删除!

非常感谢

回复  |  举报

lhrbest2015-05-06 16:29

学Oracle就像学乐器,光看不练很难突破瓶颈!  你这句说的很好,为啥不更新blog了

回复  |  举报
留言热议
请登录后留言。

登录 注册