自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

事后诸葛亮的程序人生(微信:zq9017197)

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

  • 博客(49)
  • 资源 (10)
  • 收藏
  • 关注

原创 ASH(Active Session History)——根据SID生产报告(3)!

ASH可以在Session级别生产报告,使用sql_trace也有同样的功能,但是sql_trace使用必须是Session还处于Active状态,而ash则没有这个限制。[oracle@linux ash]$ sqlplus / as sysdba @?/rdbms/admin/ashrpti.sqlSQL*Plus: Release 10.2.0.4.0 - Product

2011-11-30 21:08:48 2001

原创 ASH(Active Session History)——分析(2)!

下面是ASH报告的第一部分:ASH Report For ORCL/orcl DB NameDB IdInstanceInst numReleaseRACHostORCL1293815896orcl110.2.0.4.0NOlinuxCPUsSGA Size

2011-11-30 20:38:01 4444

原创 ASH(Active Session History)——概述(1)!

1、大家都知道v$session里面记录的是活动会话当前的等待,这个也可以通过v$session_wait查看,而v$session_wait_history记录的也只是活动会话的最近10次等待事件。2、那么想要看活动Session更早的等待事件就只能通过ASH了,ASH的信息通过视图v$active_session_history查看。3、使用ASH报告可以以几分钟为跨度对数据库进行精确

2011-11-30 19:54:29 1661

原创 Oracle物理读与逻辑读!

Physical Reads(物理读):物理读是内容不在内存中,要去硬盘中读入内存。计算公式可以如下:Physical Reads = db block gets + consistent gets;Logical Reads(逻辑读):逻辑读内容在内存中,不需要读硬盘。db block gets                    --从buffer

2011-11-30 19:08:23 1863

原创 statspack性能报告——分析(2)!

注意:由于这个报告采样时间只间隔了1秒不到,所以可以看见后面的数据都非常不可思议的。仅仅用来学习只用!!!第一部分:数据库概要信息报表头部分是数据库概要信息,包含数据库的一些基本信息(数据库名称、版本号、主机信息等)和采样信息、数据库的cache信息等。(1)首先是数据库名称、dbid等信息:Database DB Id Instance Inst

2011-11-30 17:33:33 1290

原创 statspack性能报告——概述(1)!

尽管Oracle 10g使用AWR性能报告基本上可以取代之前的statspack,但是statspack可以随意的选定一段时间作为性能采集的周期。1.数据库参数修改:QL> show parameter job_queue_processesNAME TYPE VALUE----------

2011-11-30 11:45:17 1169

原创 监控表及索引!

监控索引:SQL> alter index TEST_PK monitoring usage; --监控索引索引已更改。SQL> select * from v$object_usage; --查看INDEX_NAME TABLE_NAME MON USE START_MONITORING

2011-11-28 20:26:57 767

原创 Linux命令:动态查看进程的变化(top)!

top:动态查看进程的变化。-d 后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒。-p 指定某些个PID来进程查看监测而已。在top执行过程当中可以使用的按键命令: P 以CPU的使用 排序显示。 M 以内存的使用资源排序显示。 N 以PID来排序。 q 离开top软件的按键。[root@db bdump]# toptop - 22:50:06 up

2011-11-28 18:04:31 6305

原创 Linux命令:检查系统资源变化(vmstat)!

vmstat:检查系统资源变化。-S 后面可以接单位,让显示的数据有单间。例如K/M取代bytes的容量。[root@linux oracle]# vmstat -S M 3procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free

2011-11-28 17:39:56 616

原创 Linux命令:实时列出整个CPU与存储设备的I/O状态(iostat)!

iostat:可以实时列出整个CPU与存储设备的I/O状态。-c 仅显示CPU的状态。-d 仅显示存储设备的状态,不可以与-c一起用。-k 默认显示的是block,这里可以改成KB的大小来显示。-m 与-k类似,只是以MB的单位来显示结果。-t 显示日期出来。[root@linux oracle]# iostat -cLinux 2.6.18-164.el5

2011-11-28 17:09:04 869

原创 Linux命令:free & df & du !

free:查看内存使用情况。-m:显示的单位是以MB来显示。-t:在输出的最终结果中显示物理内存与swap的总量。[root@db ~]# free -m total used free shared buffers cachedMem: 503 195 3

2011-11-28 16:31:30 587

原创 Linux命令:rpm & yum!

rpm 常用命令:1.安装一个包# rpm -ivh 2.升级一个包,没安装就直接安装# rpm -Uvh 3.移除一个包# rpm -e 4.列出所有被安装的rpm package # rpm -qa 5.查询一个包是否被安装 # rpm -q 安装参数:--force 即使覆盖属于其它包的文件也强迫安装--nodep

2011-11-28 16:01:39 440

原创 Linux命令:service & netstat !

[root@db init.d]# service [service name] (start|stop|restart|status|...)service name:就是服务名,需与/etc/init.d/目录下面的应用程序对应。--显示出目前系统上面所有服务的运行状态[root@db init.d]# service --status-allacpid (pid 1900)

2011-11-28 16:00:54 799

原创 Linux下面开起启动服务命令(chkconfig、ntsysv)!

netstat可用查看目前已经启动的服务,service可以用来立即启动某个服务。chkconfig用来设置服务在开机的时候自动启动。--查看nfs服务是否开机自动启动。可以看见6个开机级别都不会启动nfs服务。[root@db ~]# chkconfig  --list nfsnfs             0:off   1:off   2:off   3:off   4:of

2011-11-28 15:47:49 1773

原创 database link (分布式数据库)!

分布式数据库:其实就是将一个大的数据库,按功能划分成多个小的数据库,每一个小的数据库功能、数据都相对独立,如果多个小数据库之间要互相访问数据,通过数据库链接。这就是分布式数据库,其实只是一个概念而已,生产中都用的非常普遍了!!!创建数据库链接:CREATE [ SHARED ] [ PUBLIC ] DATABASE LINK dblink [ CONNECT

2011-11-26 14:13:27 697

原创 Oracle全文索引!

首先创建两个表:SQL> create table t1(id int,name varchar(10),value varchar(10)); 表已创建。 SQL> insert into t1 values(1,'a','aa a'); 已创建 1 行。 SQL> insert into t1 values(1,'b','bb b'); 已创

2011-11-24 19:35:33 701

原创 B树索引和位图索引的区别!

B树索引主键和唯一性约束字段的B树索引,效率几乎和海量数据没有关系。键值重复率低的字段比较适合使用B树索引。位图索引键值重复率高的字段比较适合使用位图索引。count、and、or、in这些特定的操作更适合位图索引。DML操作比较多的表不适合使用位图索引。复合索引在where条件中必须带驱动列,复合索引才会使用。键值重复率低(DISTINCT数量

2011-11-24 17:07:22 8561 1

原创 Oracle Scheduler(三)——Jobs(Repeat Interval参数)!

FREQ 关键字用来指定间隔的时间周期,可选参数有:YEARLY(年), MONTHLY(月), WEEKLY(周), DAILY(日), HOURLY(时), MINUTELY(分), SECONDLY(秒)等单位。INTERVAL 关键字用来指定间隔的频繁,可指定的值的范围从1-999。BYHOUR  指定一天中的小时。可指定的值的范围从1-24。16,17,18就表示每天下午的4、5

2011-11-17 22:55:42 5451

原创 Oracle Scheduler(二)——Jobs(调用shell脚本)!

不带参数:首先有一个shell脚本:[oracle@linux shell]$ cat mk.sh #!/bin/bashmkdir -p /u01/app/oracle/shell/t1[oracle@linux shell]$ ll总计 8-rwxr-xr-x 1 oracle oinstall 25 11-13 07:01 mkdir.sh-rwxr-xr

2011-11-17 16:57:42 3901 1

原创 Oracle Scheduler(一)——Jobs(基本使用)!

创建Jobs语法:通过DBMS_SCHEDULER包来创建Jobs,是使用其CREATE_JOB过程。例如:SQL> BEGIN 2 DBMS_SCHEDULER.CREATE_JOB ( 3 job_name => 'INSERT_TEST_TBL', 4 job_type => 'STORED_PROC

2011-11-17 13:00:59 11465

原创 autotrace使用详解!

查看执行计划、统计信息、执行时间并且返回sql结果集:SQL> set autotrace on;SQL> set timing on;SQL> select count(*) from t; COUNT(*)---------- 50295已用时间: 00: 00: 00.01执行计划------------------------

2011-11-13 17:42:42 1163

原创 高水位线HWM!

如何知道一个表的HWM?1、首先对表进行分析:analyze table compute/estimate statistics;compute:是全表分析。estimate :是抽样分析。2、查看相关信息:select segment_name,segment_type,bytes,blocks,extents from user_segments;bytes:对象

2011-11-10 17:05:24 862

原创 直接加载和Index!

续接前面的实验“直接加载和redo!”!前面的加载t1表是没有索引的。下面实验有索引的情况下redo的大小:SQL> create index t1_ind on t1(object_id);索引已创建。可以看见有索引了后,普通加载和直接加载redo的大小都比没有索引的时候多!SQL> alter table t1 logging;表已更改。SQL>

2011-11-09 21:12:30 402

原创 直接加载和redo!

首先有t1和t2两个表,t1里面没有记录,t2里面有大约40万条记录:SQL> select count(*) from t1; COUNT(*)---------- 0SQL> select count(*) from t2; COUNT(*)---------- 402344下面是表是否记录redo的操作:SQL>

2011-11-09 20:54:10 538

原创 统计信息!

exec dbms_stats.gather_schema_stats(ownname=>'u1',options=>'gather',cascade=>true); --收集schema下面所用对象的统计信息。exec dbms_stats.gather_table_stats(ownname=>'u1',tabname=>'t',cascade=>true);

2011-11-09 16:35:32 612

原创 cursor_sharing参数!

cursor_sharing这个参数用来告诉Oracle在什么情况下可以共享游标,即SQL重用。它有3个值可以设置:CURSOR_SHARING = { SIMILAR | EXACT | FORCE }EXACT:SQL必须绝对一样,才可以共享游标,否则将作为新的SQL语句处理。SIMILAR:如果CBO发现被绑定变量的谓词还有其他的执行计划可以选择时,如果谓词条件的值有变化,就将会产生

2011-11-07 20:29:34 836

原创 生成ASH性能报告!

ASH侧重于当前数据库中活动会话的信息分析。[oracle@linux oracle]$ sqlplus / as sysdba @?/rdbms/admin/ashrpt.sqlSQL*Plus: Release 10.2.0.4.0 - Production on 星期二 11月 1 06:36:43 2011Copyright (c) 1982, 2007, Or

2011-11-04 16:24:06 1376

原创 statspack性能报告!

尽管Oracle 10g使用AWR性能报告基本上可以取代之前的statspack,但是statspack可以随意的选定一段时间作为性能采集的周期。1.数据库参数修改:SQL> show parameter job_queue_processesNAME                                 TYPE        VALUE------------

2011-11-04 16:05:39 622

原创 AWR性能报告分析!

以AWR的一个HTML格式的报告为例:DB NameDB IdInstanceInst numReleaseRACHostORCL1290103567orcl110.2.0.4.0NOlinux Snap IdSnap TimeSessionsCursors/Se

2011-11-04 15:40:47 1182

原创 生成AWR性能报告!

Oracle 10g 下新增了一个性能采样工具,AWR(Automatic Workload Repository),它比statspack收集的信息更多,使用起来更方便。AWR由运行在Oracle的后台进程自动、定期收集数据库的性能数据,并将数据保存起来,每一个小时,AWR都会生成一次性能数据快照,不需要认为干预,我们要做的就是使用这些信息,生成一个AWR的性能分析报告。[oracl

2011-11-04 13:06:04 741

原创 网络上的等待事件 —— SQL*Net more data to client/dblink

SQL*Net more data to clientSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'SQL*Net more data to client'; EVENT# NAME

2011-11-03 19:27:11 3703

原创 网络上的等待事件 —— SQL*Net more data from client/dblink

SQL*Net more data from clientSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'SQL*Net more data from client'; EVENT# NAME

2011-11-03 19:18:57 7922

原创 网络上的等待事件 —— SQL*Net message to client/dblink

SQL*Net message to clientSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'SQL*Net message to client'; EVENT# NAME

2011-11-03 17:42:16 8507

原创 网络上的等待事件 —— SQL*Net message from client/dblink

SQL*Net message from clientSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'SQL*Net message from client'; EVENT# NAME

2011-11-03 17:31:21 8214

原创 网络上的等待事件 —— SQL*Net break/reset to client & SQL*Net break/reset to dblink

SQL*Net break/reset to clientSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'SQL*Net break/reset to client'; EVENT# NAME

2011-11-03 17:18:45 5812

原创 log buffer —— log file switch (archiving needed)、log file switch (checkpoint incomplete)

log file switch (archiving needed)SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'log file switch (archiving needed)'; EVENT# NAME

2011-11-03 16:19:23 1888

原创 log buffer —— log buffer space

欲向重做缓冲区上写入重做记录的进程,为了确保拥有重做缓冲区内必要的空间,需要获得redo allocation锁存器。已获得redo allocation锁存器的状态下,在想要得到重做缓冲区时,若没有适当的剩余空间,则需要等到直到获得空间为止。这时,根据情况等待两种事件。如果当前正在使用的重做日志文件已满,因此无法获得剩余空间,LGWR就会执行日志文件切换,服务器进程则等待log file swi

2011-11-03 15:47:39 5899

原创 latch free、buffer latch!

latch freeSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'latch free'; EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3---

2011-11-03 15:18:56 1842

原创 I/O上的等待事件 —— direct path read、direct path write

direct path readdirect path read事件的等待是在执行Parallel Query时,Slave Session所执行的direct path I/O引发的。SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'direct path

2011-11-03 14:51:36 6905

原创 I/O上的等待事件 —— db file single write

db file single writeSQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'db file single write'; EVENT# NAME PARAMETER1 PARAMETER2

2011-11-03 14:27:58 2734

《Oracle Wait Interface性能诊断与调整实践指南》

《Oracle Wait Interface性能诊断与调整实践指南》

2012-12-17

《ORACLE SQL 高级编程》随书脚本

《ORACLE SQL 高级编程》随书脚本 英文版叫《pro oracle sql》 想要精通oracle sql必读书籍!

2012-12-17

ORACLE SQL 高级编程

《pro oralce sql》经典书籍的中文版《ORACLE SQL 高级编程》! 找了好久才找到的书籍,是中文的,英文瞥的童鞋也可以看的!

2012-12-17

java面试宝典

java面试宝典,面试的时候必备资料!

2012-12-17

Linux Shell脚本攻略(pdf书+源码)

Linux Shell脚本攻略(pdf书+源码)

2012-12-17

redhat5.4 Oracle 10G Data Guard 配置

redhat5.4 Oracle 10G Data Guard 配置 redhat5.4+Oracle 10g 我自己写的 里面带截图 详细到每一步!!!

2011-09-21

oracle常用函数大全

oracle常用函数大全 包含了oracle常用的100多个函数

2011-02-13

oracle高级sql学习

1.集合操作 2.EXISTS和NOT EXISTS的使用 3.WITH子句 4.MERGE INTO合并资料 5.层次查询(HIERARICAL RETRIVAL) 6.DECODE函数和行列互换 7.CASE表达式 8.ROWNUM—TOP-N分析 9.相关子查询和非相关子查询 10.增强的GROUP BY 11.分析函数(ANALYTICAL FUNCTIONS) 12.ROWID的使用 13. ORACLE10G正则表达式 14.使用HINT 15.PARITION分区 16.并行操作 17.扩展DDL和DML语句 18.MODEL语句 19.10G闪回查询 20.专题—行列转换 21.专题—连续值和累计值问题 22.专题—NULL和DUAL详 23.专题—时间、数字、字符格式详解 24.专题—ORACLE字符集问题 25.专题-随机值查询

2011-02-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除