- 博客(487)
- 资源 (1)
- 收藏
- 关注
原创 1.4.7 信息统计工具dbms_stats.gather_table_stats
Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要,如果执行计划有误可以使用dbms_stats.gather_table_stats重新统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数、数据块数、行长等信息;列的分析--列值的重复数、列上的空值、数据在列上的分布情况;索引的分析-索引页块的数量、索引的深度、索引聚合因子)。 收
2015-03-24 16:06:55
500
原创 1.4.6 收集sql语句的执行计划 2
explain plan for 生成执行计划这种方式是直接产生执行计划,不会产生SQL结果。步骤1 sqlplus登录数据库步骤2 执行explain plan for语句 SQL> explain plan for select po.charge, po.new_charge,po.avg_charge from lbi_ls_basi
2015-03-24 16:03:17
425
原创 1.4.6 收集sql语句的执行计划
分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。常用的两种方法查看SQL执行计划。方法一:autotrace生成执行计划这种方式执行方便,但是当遇到执行时间长的SQL就变得不太现实,它是先产生结果再生成执行计划的。关于Autotrace几个常用选项的说明:SET AUTOTRACE OFF ---------------- 不生成AUT
2015-03-24 16:02:55
437
原创 1.4.5 收集trace日志
trace日志有助于发现故障的详细信息,确认问题原因、影响范围、故障现象。前提条件alert日志提及到的一些trace日志和incident trace文件,要一并收集。操作步骤步骤 1 以oracle用户登录。步骤 2 根据alert日志中提示所涉及的trace日志文件,收集trace日志。 在alert日志中会提示出所涉及的trace日志文件的全路径名称,一般以
2015-03-24 15:57:18
948
原创 1.4.4 收集alert日志
alert日志有助于发现故障的详细信息,确认问题原因、影响范围、故障现象。背景信息当数据库出现故障时,应该优先检查告警日志文件“alert_.log”,它记录了关于故障的完整错误过程及错误的详细信息。比如: 数据库故障是出现一次还是反复出现。 数据库故障是否能够比较容易的恢复、绕过、解决。 数据库故障发生后业务是否能正常运行。操作步骤步骤 1 以oracle用户登
2015-03-24 15:56:30
649
原创 1.4.3 收集addm报表 2
9. 根据Oracle列出的snap Id提示,输入起始snap Id和结束snap Id,收集两个时段的数据库性能数据。例如输入起始snap Id为3311,结束snap Id为3316,返回信息如下:Specify the Begin and End Snapshot Ids ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enter value
2015-03-24 15:53:43
411
原创 1.4.3 收集addm报表
收集定期内的数据库状态、潜在的数据库性能瓶颈,以及内建专家系统给出的Oracle性能调优方法和数据统计分析。操作步骤步骤 1 以oracle用户登录操作系统。步骤 2 登录数据库。:~> sqlplus / as sysdba; 步骤 3 生成addm报表。8. 开始收集addm报表。SQL> @?/rdbms/admin/addmrpt; 对某些系统,@特殊字符前
2015-03-24 15:52:18
465
原创 1.4.2 收集ash报表 4
1. 输入报表名,默认以“ashrpt_instance_Id_日期_时间”命名,可以不输入。如下所示为生成的ASH报表样例:Report written to ashrpt_1_0729_1920.html 步骤 1 如果没指定目录和文件名,生成的ASH报表在当
2015-03-24 15:49:24
388
原创 1.4.2 收集ash报表 3
3. 按照提示的有效格式输入收集信息的开始时间。有效格式有: 具体的日期和时间,如02/23/03 14:30:15。 当天的某个时间,如14:30:15或14:30。 相对时间,如距当前时间1个半小时输入-1:30,距当前时间15分钟输入-15。例如输入时间07/29/2013 19:00:00,返回信息如下:Report begin time specified:
2015-03-24 15:46:50
469
原创 1.4.2 收集ash报表 2
2. 输入报表的格式,有HTML格式、TEXT格式,默认HTML格式。例如输入格式为html,返回信息如下:Type Specified: htmlInstances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DB Id Inst Num DB Na
2015-03-24 15:45:00
454
原创 1.4.2 收集ash报表
收集活动会话的历史信息、短暂的性能问题(比如只是持续几分钟的性能问题)、特定时段的数据库运行的性能状态信息,以及针对特定的模块、SQL_ID、SESSION_ID、service等来收集的性能状态信息。背景信息ASH每秒钟收集一次当前处于非空闲等待事件的、活动状态的session的信息,不收集空闲的会话。操作步骤 步骤 1 以oracle用户登录操作系统。
2015-03-24 15:42:55
525
原创 1.4.1 收集awr报表 6
步骤 1 如果没指定目录和文件名,生成的AWR报表在当前目录,执行如下命令查看。1. 回到当前目录。SQL> host2. 查看报表。~> ls返回信息显示如下:awrrpt_1_3166_3168.html----结束
2015-03-24 11:44:53
403
原创 1.4.1 收集awr报表 5
1. 输入起始snap Id和结束snap Id,收集两个时刻间段的数据库性能数据。起始snap Id和结束snap Id这两个时间段之间,不能关闭或启动数据库,否则会报错。注意:例如输入起始snap Id为3166,结束snap Id为3168,返回信息如下:Specify the Begin and End Snapshot Ids
2015-03-24 11:41:54
444
原创 1.4.1 收集awr报表 4
1. 输入一个天数,Oracle会列出指定天数的所有快照信息。例如输入一个天数为1,返回信息如下:Listing the last day's Completed Snapshots SnapInstance DB Name Snap Id Snap Started Level-----------
2015-03-24 11:40:56
334
原创 1.4.1 收集awr报表 3
1. 输入报表的格式,有HTML格式、TEXT格式,默认HTML格式。例如输入格式为html,返回信息如下:Type Specified: html Instances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DB Id
2015-03-24 11:36:28
411
原创 1.4.1 收集awr报表 2
说明:对某些系统,@特殊字符前面可能需要转义字符\,才能运行该命令。请运行命令:SQL> \@?/rdbms/admin/awrrpt.sql;返回信息显示如下:Current Instance ~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instance----------- ------------ -------
2015-03-24 11:32:42
340
原创 1.4.1 收集awr报表
收集某个时间段内的数据库运行的性能诊断信息。前提条件数据库为Oracle 10g以上版本。背景信息Oracle默认快照1小时生成一次、保持7天,可以根据需要调整快照生成的频率、保持时长。如果要手工生成快照,则用~> sqlplus / as sysdba;登录数据库执行命令:SQL> exec dbms_workload_repository.create_snapshot
2015-03-24 11:28:15
380
原创 查看服务器信息 6
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
2015-03-24 11:13:40
379
原创 1.3.2 查看服务器信息 5 磁盘I/O
磁盘I/O步骤1 登录LBI服务器步骤2 查看I/O信息~ # iostat -x 1 100参数说明:rrqm/s: 每秒进行 merge的读操作数目。即 delta(rmerge)/s wrqm/s: 每秒进行 merge的写操作数目。即 delta(wmerge)/s r/s:
2015-03-24 11:12:55
495
原创 1.3.2 查看服务器信息 4
磁盘信息 步骤 1 以root用户登录。 步骤 2 查看磁盘信息(1) 磁盘分信息:~ # df -h(2) 查看分区信息:~ # fdisk
2015-03-24 11:10:16
355
原创 1.3.2 查看服务器信息 3
CPU步骤1 以root用户登录步骤2 查看CPU信息~ # cat /proc/cpuinfolinux_lbi_02:~ # cat /proc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu family : 6model
2015-03-24 11:08:13
379
原创 1.3.2 查看服务器信息 2
内存 步骤 1 以root用户登录。 步骤 2 查看内存信息:~ free剩余内存 = Mem.free + Mem.buffers + Mem.cached返回信
2015-03-24 11:07:27
379
原创 1.3.2 查看服务器信息
操作系统版本 步骤 1 以root用户登录。 步骤 2 查看操作系统信息 :~ # lsb_release –a返回信息如下:linux_lbi_02:~ # lsb_
2015-03-24 11:07:03
368
原创 1.3.1 调整外置磁盘的队列深度
异常处理如果检查外置磁盘的队列深度属性值小于16,必须整改。请参见如下步骤修改磁盘属性。1. 修改磁盘队列深度属性。# chdev -l hdisk6 -a queue_depth =24 -P2. 修改后重启系统使配置生效。----结束
2015-03-24 11:04:32
1608
原创 1.3.1 调整外置磁盘的队列深度
磁盘的队列深度表示并发的IO数,设置值太小会导致操作系统IO等待,引发性能问题,例如斯里兰卡Airtel报表使用的磁盘队列深度使用的是默认值 (queue_depth = 4),导致IO大量的等待。参考标准外置磁盘的队列深度属性值不小于16。如果检查结果小于16,建议改为大于16的值,推荐值为24。操作步骤步骤1 以root用户登录小型机(AIX系统)
2015-03-24 11:04:13
2496
原创 oracle优化19
为事物指定回归段 set transaction use rollback segment rbs_cvt 针对bytes可以使用回滚段回缩。 alter rollback segment rbs_cvt shrink; select bytes,extents,max_extents from dba_segments where segment_type
2015-03-24 10:45:26
491
原创 oracle优化18
13、约束: (1)约束是和表关联的,可在create table或alter table table_name add/drop/modify来建立、修改、删除约束。 可以临时禁止约束,如: alter table book_example disable constraint book_example_1; alter table book_example
2015-03-24 10:44:56
375
原创 oracle优化17
3、数据库对象: select * from dba_objects; CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、 PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。 4、表: select * fr
2015-03-24 10:43:13
279
原创 oracle优化16
SELECT UPPER(F.TABLESPACE_NAME) " 表空间名 ", D.TOT_GROOTTE_MB " 表空间大小 (M) ", D.TOT_GROOTTE_MB - F.TOTAL_BYTES " 已使用空间 (M) ", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) /
2015-03-24 10:40:22
311
原创 oracle优化15
3、数据库对象: select * from dba_objects; CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、 PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。 4、表: select * fr
2015-03-24 10:40:22
379
原创 oracle优化14
22 、有关 connection 的相关信息 : 1 )查看有哪些用户连接 SELECT S.OSUSER OS_USER_NAME,DECODE(SIGN( 48 - COMMAND), 1 ,TO_CHAR(COMMAND),'ACTION CODE #' || TO_CHAR(COMMAND))ACTION,P.PROGRAM ORACLE_PROCESS, STATUS SE
2015-03-24 10:38:55
288
原创 oracle优化13
SQL >SELECT T2.USERNAME,T2.SID,T2.SERIAL#,T2.LOGON_TIME FROM V$LOCKED_OBJECT T1,V$SESSION T2 WHERE T1.SESSION_ID=T2.SID ORDER BY T2.LOGON_TIME;SQL >SELECT SQL_ADDRESS FROM V$SESSION WHERE SID=;
2015-03-24 10:38:10
285
原创 oracle优化12
DECODE(LMODE, 0 , 'NONE' , 1 , 'NULL' , 2 , 'ROW-S' , 3 , 'ROW-X' , 4 , 'SHARE' , 5 , 'S/ROW-X' ,
2015-03-24 10:38:08
278
原创 oracle优化11
SQL >SELECT SYS .V_$SESSION.OSUSER, SYS .V_$SESSION.MACHINE, V$LOCK.SID, SYS .V_$SESSION.SERIAL#, DECODE(V$LOCK.TYPE , 'MR' , 'MEDIA RECOVERY' ,
2015-03-24 10:37:43
320
原创 oracle优化10
16 、查看锁 ( lock ) 情况 : SQL >SELECT /*+ RULE */ LS.OSUSER OS_USER_NAME,LS.USERNAME USER_NAME,DECODE(LS.TYPE , 'RW' , 'ROW WAIT ENQUEUE LOCK' , 'TM' , 'DML ENQUEUE LOCK' ,
2015-03-24 10:35:18
241
原创 oracle优化9
找出消耗 CPU 最高的进程对应的 SQL 语句: SET LINE 240 SET VERIFY OFF COLUMN SID FORMAT 999 COLUMN PID FORMAT 999 COLUMN S_# FORMAT 999 COLUMN USERNAME FORMAT A9 HEADING "ORA USER"COLUMN PROGRAM FORMAT
2015-03-24 10:33:46
296
原创 oracle优化8
根据 SID 找 ORACLE 的某个进程 : SQL > SELECT PRO.SPID FROM V$SESSION SES,V$PROCESS PRO WHERE SES.SID= 21 AND SES.PADDR=PRO.ADDR;监控当前数据库谁在运行什么 SQL 语句 : SQL >SELECT OSUSER, USERNAME, SQL_TEXT FROM V$SESSI
2015-03-24 10:32:18
271
原创 oracle优化7
10 、捕捉运行很久的 SQL: COLUMN USERNAME FORMAT A12 COLUMN OPNAME FORMAT A16 COLUMN PROGRESS FORMAT A8 SELECT USERNAME,SID,OPNAME,ROUND(SOFAR* 100 / TOTALWORK, 0 ) || '%' AS PROGRESS,TIME_REMAINING,SQ
2015-03-24 10:31:22
309
原创 oracle优化6
检查 buffer pool HIT_RATIO 执行 SELECT NAME , (PHYSICAL_READS/(DB_BLOCK_GETS+CONSISTENT_GETS)) "MISS_HIT_RATIO" FROM V$BUFFER_POOL_STATISTICS WHERE (DB_BLOCK_GETS+ CONSISTENT_GETS)> 0 ;( 正常时 db buffer
2015-03-24 10:30:47
307
原创 oracle优化4
查看回滚段的使用情况,哪个用户正在使用回滚段的资源 : SELECT S.USERNAME, U.NAME FROM V$TRANSACTION T,V$ROLLSTAT R,V$ROLLNAME U,V$SESSION S WHERE S.TADDR=T.ADDR AND T.XIDUSN=R.USN AND R.USN=U.USN ORDER BY S.USERNAME;如何查
2015-03-24 10:30:15
314
kettle安装配置
2018-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人