﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-梦幻之旅-随笔分类-DB-DailyMmaintenance</title><link>http://www.blogjava.net/hwpok/category/49350.html</link><description>DEBUG - 天道酬勤</description><language>zh-cn</language><lastBuildDate>Sun, 13 Apr 2014 19:27:26 GMT</lastBuildDate><pubDate>Sun, 13 Apr 2014 19:27:26 GMT</pubDate><ttl>60</ttl><item><title>oracle 大数据  高速插入</title><link>http://www.blogjava.net/hwpok/archive/2014/04/13/412371.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Sun, 13 Apr 2014 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2014/04/13/412371.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/412371.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2014/04/13/412371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/412371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/412371.html</trackback:ping><description><![CDATA[<p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">1:用merge into 进行匹配更新和插入，<br />2： 开启并行，提高速度<br />3: 如果可以的话加NOLOGING 不写入日志<br />4：如果数据有规律的话，分批次执行</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">1.使用marge快速插入;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">MERGE /*+ append */<br />&nbsp;&nbsp; INTO A d<br />USING (select * B where ...) f<br />&nbsp;&nbsp;&nbsp; ON (d.account_no = f.account_no)<br />WHEN MATCHED THEN<br />&nbsp;&nbsp;&nbsp; update set acc_date = f.acc_date,...<br />WHEN NOT MATCHED THEN<br />&nbsp;&nbsp;&nbsp; insert values ( f.account_no,f.acc_date..)<br />/<br />commit;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;"><br />2.向表中插入两条记录</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">SQL&gt; INSERT ALL<br />&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; INTO toms values(1)<br />&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; into toms values(2)<br />&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; select * from dual;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">已创建2行。</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">SQL&gt; commit;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;"><br />3.在插入时不记录日志记录的快速方法<br />INSERT的时候可通过APPEND选项不产生归档日志。</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">alter table aa nologging</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">alter table aa logging</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">insert /*+append*/ into ...nologing<br />select * from ...</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">insert /*+ append, parallel */ into ods_list_t nologging<br />select * from ods_list;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">但这样不行:整个表可以插入,但要某一个字段则不能加入nologging<br />insert /*+ append, parallel */ into ods_list_t(a,b) nologging<br />select a,b from ods_list;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">但可以这样:<br />insert /*+ append, parallel */ into ods_list_t&nbsp; nologging(a,b)<br />select a,b from ods_list;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">create table ods_list_t nologging as select * from ods_list;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">insert /*+ append, parallel */ into ods_list_t nologging&nbsp;<br />select * from ods_list;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;"><br />insert /*+ Append parallel(tablename,number) */ into ods_list_t nologging&nbsp;<br />select * from ods_list;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">tablename: 表名<br />number: 并行度</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">4、<br />使用批量拷贝方法<br />set arraysize 20<br />set copycommit 5000<br />copy from&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#110;&#97;&#109;&#101;&#47;&#112;&#97;&#115;&#115;&#119;&#111;&#114;&#100;&#64;&#111;&#114;&#97;&#99;&#108;&#101;&#95;&#110;&#97;&#109;&#101;" style="color: navy; text-decoration: none;"><span color="#7ba857" style="line-height: 1.5; color: #7ba857;">username/password@oracle_name</span></a>&nbsp;append table_name1&nbsp;<br />using select * from table_name2;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">--------------------------------------------------<br />一、非归档模式下：<br />没有优化前&nbsp;&nbsp;&nbsp; （1281372&nbsp; redo size）<br />1、单一的使用nologging参数，对redo的产生没有什么影响。&nbsp; （1214836&nbsp; redo size）<br />2、单一的使用append提示，redo的减少很显著&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （43872&nbsp; redo size）<br />3、nologging+append，更显著&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （1108&nbsp; redo size）</p><div style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px; background-color: #ffffff;">二、归档模式下：<br />没有优化前：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />1、单独使用nologging参数，（1231904&nbsp; redo size）<br />2、单独使用append提示，&nbsp; （1245804&nbsp; redo size）<br />3、nologging + append，&nbsp;&nbsp;&nbsp;&nbsp; （3748&nbsp; redo size）</div><div style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px; background-color: #ffffff;"><br />a、使用nologging参数并不代表在dml操作中，oracle不产生redo，只是对于指定表的更新数据不产生redo，但是oracle还是要记录这些操作，所以无论怎么优化，dml操作肯定要产生redo，但是使用这些参数对redo size的影响还是非常可观的。<br />b、单独使用nologging参数，对redo size没有多少影响，只有和append配合时，才能产生效果。<br />c、单独使用append提示，对redo的产生影响很大，这是我到现在都不明白的道理，按说append是绕过freelists，直接去寻找新块，能减少对freelists的争用，为什么会少这么多redo呢？<br />d、归档模式和非归档模式下，参数影响不一样，尤其是单独使用append参数时，看来oracle对归档模式下出于安全考虑还是要多一些。&nbsp;</div><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">---------------------------------------------------------------------------------</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">oracle append有什么作用？<br /><br />请教一下，oracle中append是做什么用的。<br />&nbsp;&nbsp;insert /*+append*/ into table1 select * from table2<br />在使用了append选项以后，insert数据会直接加到表的最后面，而不会在表的空闲块中插入数据。<br />使用append会增加数据插入的速度。<br />/*+APPEND*/的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间<br />append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo<br />不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据。</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">1. 采用高速的存储设备,提高读写能力，如：EMC 和NetApp，</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">2. 假如tab1表中的没有数据的话&nbsp;<br />DROP&nbsp;&nbsp; TABLE&nbsp;&nbsp; TAB1;<br />CREATE&nbsp;&nbsp; TABLE&nbsp;&nbsp; TAB1&nbsp;&nbsp; AS&nbsp;&nbsp; SELECT&nbsp;&nbsp; *&nbsp;&nbsp; FROM&nbsp;&nbsp; TAB2;<br />然后在创建索引</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">3. 用Hint 提示减少操作时间</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">&nbsp;&nbsp;&nbsp; INSERT&nbsp;&nbsp; /*+Append*/&nbsp;&nbsp; INTO&nbsp;&nbsp;&nbsp;&nbsp; tab1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT&nbsp;&nbsp; *&nbsp;&nbsp; FROM&nbsp;&nbsp; tab2;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">4. 采用不写日志及使用Hint提示减少数据操作的时间。</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">建议方案是先修改表为不写日志：&nbsp;<br />sql&gt; alter&nbsp;&nbsp; table&nbsp;&nbsp; table_name&nbsp;&nbsp; NOLOGGING;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">插入数据：</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">INSERT&nbsp;&nbsp; /*+Append*/&nbsp;&nbsp; INTO&nbsp;&nbsp;&nbsp;&nbsp; tab1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT&nbsp;&nbsp; *&nbsp;&nbsp; FROM&nbsp;&nbsp; tab2;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">插入完数据后，再修改表写日志：&nbsp;<br />sql&gt; alter&nbsp;&nbsp; table&nbsp;&nbsp; table_name&nbsp;&nbsp; LOGGING;</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">这里的区别就在于如果插入数据的同时又写日志，尤其是大数据量的insert操作，需要耗费较长的时间。</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">5. 用EXP/IMP 处理大量数据</p><p style="font-size: 13px; line-height: 19px; margin-top: 10px; margin-bottom: 10px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background-color: #ffffff;">(1)给当前的两个表分别改名&nbsp;<br />alter&nbsp;&nbsp; table&nbsp;&nbsp; tab1&nbsp;&nbsp; rename&nbsp;&nbsp; to&nbsp;&nbsp; tab11;&nbsp;<br />alter&nbsp;&nbsp; table&nbsp;&nbsp; tab2&nbsp;&nbsp; rename&nbsp;&nbsp; to&nbsp;&nbsp; tab1;&nbsp;<br />(2)导出改名前的tab2&nbsp;<br />exp&nbsp;&nbsp; user/pwd@...&nbsp;&nbsp; file=...&nbsp;&nbsp; log=...&nbsp;&nbsp; tables=(tab1)&nbsp;<br />(3)把名字改回来&nbsp;<br />alter&nbsp;&nbsp; table&nbsp;&nbsp; tab1&nbsp;&nbsp; rename&nbsp;&nbsp; to&nbsp;&nbsp; tab2;&nbsp;<br />alter&nbsp;&nbsp; table&nbsp;&nbsp; tab11&nbsp;&nbsp; rename&nbsp;&nbsp; to&nbsp;&nbsp; tab1;&nbsp;<br />(4)导入数据&nbsp;<br />imp&nbsp;&nbsp; user/pwd@...&nbsp;&nbsp; file=...&nbsp;&nbsp; log=...&nbsp;&nbsp; fromuser=user&nbsp;&nbsp; touser=user&nbsp;&nbsp; tables=(tab1)</p><img src ="http://www.blogjava.net/hwpok/aggbug/412371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2014-04-13 17:32 <a href="http://www.blogjava.net/hwpok/archive/2014/04/13/412371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle.sysman.emcp.exception.EMConfigException: 启动 Database Control 时出错</title><link>http://www.blogjava.net/hwpok/archive/2014/03/31/411753.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Mon, 31 Mar 2014 13:04:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2014/03/31/411753.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/411753.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2014/03/31/411753.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/411753.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/411753.html</trackback:ping><description><![CDATA[<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">帮网友诊断10.2.0.1数据库安装后配置EM的问题一例，主要是在EM启动过程中遇到了错误，日志如下:</p><pre style="padding-bottom: 10px; text-transform: none; background-color: rgb(245,245,245); margin-top: 6px; text-indent: 0px; padding-left: 10px; font: 14px/20px Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; margin-bottom: 16px; letter-spacing: normal; color: rgb(0,0,0); overflow: scroll; word-spacing: 0px; padding-top: 10px; -webkit-text-stroke-width: 0px">2009-7-7 20:11:39 oracle.sysman.emcp.EMConfig perform
严重: 启动 Database Control 时出错
有关详细资料, 请参阅 oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log 中的日志文件。
2009-7-7 20:11:39 oracle.sysman.emcp.EMConfig perform
配置: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: 启动 Database Control 时出错
	at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569)
	at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:181)
	at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:150)
	at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:155)
	at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:430)
	at java.lang.Thread.run(Thread.java:534)</pre>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">出现错误的java stack call是EMDBPostConfig说明em db repository 已经完成配置在尝试启动EM，但此时出现了问题。</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">实际造成该问题的有多种可能性，这里列举最常见的几种:</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">1. 杀毒软件或者防火墙造成的，这里建议在安装windows期间彻底关闭杀毒类软件和Windows自带的防火墙<br />2. EM使用的端口已经被其他软件所占用，建议使用netstat命令诊断，或另择网络端口<br />3. Windows主机名以&#8221;U&#8221;字母开头</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">针对第三种可能性，可以在MOS上找到Note &lt;Problem: Startup: Db Control 10.2.0.1 Fails To Start when the hostname begins with the letter &#8220;u&#8221;&gt;:</p><pre style="padding-bottom: 10px; text-transform: none; background-color: rgb(245,245,245); margin-top: 6px; text-indent: 0px; padding-left: 10px; font: 14px/20px Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; margin-bottom: 16px; letter-spacing: normal; color: rgb(0,0,0); overflow: scroll; word-spacing: 0px; padding-top: 10px; -webkit-text-stroke-width: 0px">Problem: Startup: Db Control 10.2.0.1 Fails To Start when the hostname begins with the letter "u" 

Applies to:
Enterprise Manager for RDBMS - Version: 10.2.0.1 and later   [Release: 10.2 and later ]

Symptoms

The dbconsole 10.2.0.1 is created with emca.The repository creation completes successfully and the
dbconsole is created and configured without any error.
The last phase of emca is to start the dbconsole.
The standalone agent is started successfully but the dbconsole fails to start.

The file $ORACLE_HOME/cfgtoollogs/emca/sid/emca*.log shows:
===================================================
05/11/2005 23:07:49 oracle.sysman.emcp.util.PlatformInterface serviceCommand
CONFIG: Waiting for service 'OracleDBConsoleAMITAL' to fully start
05/11/2005 23:07:59 oracle.sysman.emcp.EMConfig perform
SEVERE: Error starting Database Control
Refer to the log file at
d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\amital\emca_2005-11-05_10-55-42-PM.log for more
details.
05/11/2005 23:07:59 oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
  at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569)
  at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:181)
Cause
This issue can be reproduced on all windows platforms which name begins with the letter u.
This issue has been logged in the following bug:
Bug:4714774 DBCONSOLE DOES NOT WORK HAVING A HOSTNAME STARTING WITH "U"
This bug will be fixed in the patchset 10.2.0.2
Solution

Download and apply the RDBMS patchset 10.2.0.2 once/if available or

To enable the dbconsole to start successfully, follow the steps listed below:

1. Save the file $ORACLE_HOME\host_SID\sysman\config\emd.properties to emd.properties.orig
2. Update the file $ORACLE_HOME\host_SID\sysman\config\emd.properties, replacing \ with / in the
   following line:
   For example change:
   omsRecvDir=d:\oracle\product\10.2.0\db_1\ukp001_db0\sysman\recv
   to
   omsRecvDir=d:/oracle/product/10.2.0/db_1/ukp001_db0l/sysman/recv
3. Stop and restart the DB Control 

Hdr: 4714774 10.2.0.1 EMCP 10.2.0.1 PRODID-1370 PORTID-912
Abstract: DBCONSOLE DOES NOT WORK HAVING A HOSTNAME STARTING WITH "U"

Problem Description
-------------------
this seems to be releated to bug 3610052.
Having a hostname like u1234, install rdbms10.2.
start dbconsole will take 4-5 min. Even if the service is shown as started,
dbconsole java processes stops and restarts.

Environment Information
-----------------------

Test Case Step-by-Step Instructions
-----------------------------------
1. rename the hostanme to uXYZ....
2. install 10.2 rdbms into its own oraclehome
3. strt listener, create a database using dbca.
4. access the dbconsole page shows: "page cannot be displayed"

Check the dbconsole java process in taksmanager , you will easily see, that
it is coninously restarting. dbconsole service is shown as "started".

Test Case Location
------------------
not needed easy to reproduce

Diagnostic Analysis
-------------------
run the java command from file emd.nohup file, this will show something like:

java...Exception...
Malformed \uxxxx encoding.

and a java stack trace.

I assume that this problem will always happen, having a "\u" in the path for
the dbconsole

Performance
-----------

NLS Information
---------------

Patches
-------

Log Files Location
------------------

Reproducibility
---------------
everytime, only on windows platforms:
w2k w2003, windowsXP

URL
---
not needed

Did you test with the latest version?
-------------------------------------
yes

Available Workarounds
---------------------
Change the hostname from uXYZ to UXYZ,
do
set ORACLE_SID=
emca -config dbcontrol db -reposrecreate 

Related Bugs
------------
3610052

Hdr: 6313490 10.2.0.1.0 CONSOLE 10.2.0.1.0 PRODID-1370 PORTID-215 4714774
Abstract: 10.2.0.1DBCONSOLE IN A DB CREATED FROM IAS INSTALL FAILS TO START

Problem Description
-------------------
The dbconsole 10.2.0.1.0 creating is failing while starting the dbconsole
dbconsole in a db created from iAS install.

as per the logs:-

SEVERE: Error starting Database Control
    Refer to the log file at

D:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\mmds\emca_2007-06-19_09-47-70-A
M.log for more details.
    Jun 19, 2007 9:58:17 AM oracle.sysman.emcp.EMConfig perform
    CONFIG: Stack Trace:
    oracle.sysman.emcp.exception.EMConfigException: Error starting Database
Control at
oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569
) at oracle.sysman.emcp.EMDBPostConfig.invoke

Environment Information
-----------------------
dbconsole in a db created from iAS install.
db console 10.2.0.1.0 on Microsoft Windows Server 2003
The 10g application server version  is 10.1.2.0.2. to include January 2007
database and application server CPUs.

Applied the  database CPU patch and after that reconfigured the Dbconsole .
Now it doesn't get configured .Db console generating core dump

Test Case Step-by-Step Instructions
-----------------------------------

Test Case Location
------------------

Diagnostic Analysis
-------------------
Stopped the application server service and then started the dbcosnole .But
still getting the error

D:\oracle\product\10.2.0\db_1\BIN&gt;emctl status dbconsole
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
    Oracle Enterprise Manager 10g is not running.
    ------------------------------------------------------------------
    Logs are generated in directory 

Asked him to move the file from Oracle_Home&gt;/_/emctl.pid file
to another location . Now the dbconsole is started:-

&gt;emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Starting Oracle Enterprise Manager 10g Database Control ...The
OracleDBConsoleMM
DS service is starting...................The OracleDBConsoleMMDS service was
started successfully.

D:\oracle\product\10.2.0\db_1\BIN&gt;emctl upload
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet..

Asked him to Edit the file
ORACLE_HOME&gt;\oc4j\j2ee\home\applications\dms\WEB-INF\web.xml

Still the dbconsole is not getting started .</pre>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">可能是因为Windows上主机名以&#8221;U&#8221;字母开头后导致相关路径发生了转义。</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">可以通过在cmd中输入hostname来确认Windows上的主机名。</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">给出了2种解决方案：</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">1.升级到10.2.0.2以上版本，目前推荐的是10.2.0.5 Patch set; 版本10.2.0.1到10.2.0.3上的bug太多了..</p>
<p style="padding-bottom: 10px; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/20px 'Droid Serif', arial, serif; white-space: normal; letter-spacing: normal; color: rgb(48,48,48); word-spacing: 0px; text-decoration: none; padding-top: 0px; -webkit-text-stroke-width: 0px">2.修改$ORACLE_HOME\host_SID\sysman\config\emd.properties中的内容，将omsRecvDir变更改成使用斜杠而非反斜杠的路径形式，并重启EM.</p><img src ="http://www.blogjava.net/hwpok/aggbug/411753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2014-03-31 21:04 <a href="http://www.blogjava.net/hwpok/archive/2014/03/31/411753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle10g数据库冷备份、恢复的具体步骤(转)</title><link>http://www.blogjava.net/hwpok/archive/2012/09/27/388672.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Thu, 27 Sep 2012 03:16:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2012/09/27/388672.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/388672.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2012/09/27/388672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/388672.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/388672.html</trackback:ping><description><![CDATA[<div class="articalTitle">数据库冷备份、恢复的具体步骤（实例讲解）：<br />需求：现在将A及机器上的oracle10g数据库全部转移到B机器上，注意：A机器上的数据库很大（用户、表空间以及数据很庞大）</div>
<div id="sina_keyword_ad_area2" class="articalContent  ">
<p>冷备份：<br />1、在A机器上用shutdown immediat;命令将数据库停掉。<br />2、最关键的一部(copy文件)。将数据文件、重做日志文件、控制文件等、密码文件全部copy出来，根据个人的相关经验这些文件基本上在oradata下，所以把oradata全部copy即可，还有数据文件、密码文件一般是在db_1下的database下，所以要把database文件夹全部copy。<br />3、将A机器上的注册文件全部导出。在window的命令行输入regedit进入windows的注册文件界面，点击文件展开菜单点击导出即可导出注册文件。<br />（冷备份完成，接下来就恢复）</p>
<p>恢复：<br />1、在B机器上最好装与A机器相同的数据库结构，包括sid、口令、所装的路径等（本例只将A和B数据库结构一样，若不一样只需要改变控制文件里的路径即可）<br />2、将B机器上的oracle10g同样用shutdown immediat;停掉同时服务全部停掉（避免覆盖的时候出错）<br />3、将备份的oradata全部覆盖B机器上的oradata，同时也将备份database全部覆盖B机器上的db_1下的<br />database文件夹。将导出的注册文件导入到B机器上（具体怎么导给导出是一样的）<br />4、启动oracle10g的服务，在dos下用sqlplus "/as sysdba" 进入导oracle同时用startup重新启动oracle数据库，当出现加载数据库实例完成就ok了。</p>
<p>完工</p>
<p>注：冷备份常用于数据库的全库并且数据较庞大时的移植、备份等。一般用imp和exp或是DPimp和DPexp命令进行备份和恢复（DPimp和DPexp命令是oracle10g出现的新用法，其实和imp和exp用法基本一样，到google一搜很多）。</p></div><img src ="http://www.blogjava.net/hwpok/aggbug/388672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2012-09-27 11:16 <a href="http://www.blogjava.net/hwpok/archive/2012/09/27/388672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PL/SQL Developer报错Dynamic Performance Tables not accessible</title><link>http://www.blogjava.net/hwpok/archive/2012/01/06/368017.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Fri, 06 Jan 2012 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2012/01/06/368017.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/368017.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2012/01/06/368017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/368017.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/368017.html</trackback:ping><description><![CDATA[<span style="font-family: Courier New">彻底禁掉PL/SQL Developer的这个功能。</span><br style="font-family: Courier New" /><span style="font-family: Courier New">方法如下：</span><br style="font-family: Courier New" /><span style="font-family: Courier New">导航到Tools --&gt; Preferences --&gt; Options</span><br style="font-family: Courier New" /><span style="font-family: Courier New">找到&#8220;Automatic Statistics&#8221;选项，将其前面的小对勾去掉，然后点击&#8220;Apply&#8221;和&#8220;OK&#8221;保存退出。</span><br style="font-family: Courier New" /><br style="font-family: Courier New" /><img src ="http://www.blogjava.net/hwpok/aggbug/368017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2012-01-06 16:02 <a href="http://www.blogjava.net/hwpok/archive/2012/01/06/368017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle断电后报 ora-01033错误处理</title><link>http://www.blogjava.net/hwpok/archive/2011/10/11/361007.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Tue, 11 Oct 2011 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/10/11/361007.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/361007.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/10/11/361007.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/361007.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/361007.html</trackback:ping><description><![CDATA[<div id="sina_keyword_ad_area2" class="articalContent  ">
<p>服务器掉电，重启后看oracle服务都启动了，但是连接时报错。<br />错误编码: ora-01033: oracle initialization or shutdown in progress<br /></p>
<p>故障特征: 使用命令行sqlplus或PL/SQL Developer均无法打开数据库。但是可以使用</p>
<p>sys用户以sysdba的身份登录系统。<br /><br />sql&gt; shutdown immediate;<br /><br />sql&gt; startup mount;&nbsp;<br /><br />sql&gt; alter database open;<wbr></p>
<p>提示</p>
<p>ORA-01172: 线程 1 的恢复停止在块 69660 (在文件 5 中)<br />ORA-01151: 如果需要, 请使用介质恢复以恢复块和还原备份<br />//查看状态<br />select status from v$instance;//完成介质恢复<br />recover database</p>
<p>alter database open;<br />图片说明如下:<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/hwpok/ora_err.jpg" width="476" height="703" /><br /><br /></p></div><img src ="http://www.blogjava.net/hwpok/aggbug/361007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-10-11 23:16 <a href="http://www.blogjava.net/hwpok/archive/2011/10/11/361007.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决 ERROR - ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 </title><link>http://www.blogjava.net/hwpok/archive/2011/10/11/361004.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Tue, 11 Oct 2011 14:05:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/10/11/361004.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/361004.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/10/11/361004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/361004.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/361004.html</trackback:ping><description><![CDATA[<div id="cnblogs_post_body">服务器莫名其妙的报这个错，之前一直正常，从google获取解决方案，解决之，记录如下：<br /><br />&nbsp;1. Open the ""&lt;OracleHome&gt;/network/admin/listener.ora" file in the host,and you will see:<br />&nbsp;&nbsp; SID_LIST_LISTENER =<br />&nbsp;&nbsp; (SID_LIST =<br />&nbsp;&nbsp;&nbsp;&nbsp; (SID_DESC =<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_NAME = PLSExtProc)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (PROGRAM = extproc)<br />&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp; )<br />&nbsp; 2. Add the following lines after the 7th line in the above <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_DESC =<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (GLOBAL_DBNAME = ORACLE)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_NAME = ORACLE)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp; 3. At last the content of the file become to the following section:<br />&nbsp;SID_LIST_LISTENER =<br />&nbsp;&nbsp; (SID_LIST =<br />&nbsp;&nbsp;&nbsp;&nbsp; (SID_DESC =<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_NAME = PLSExtProc)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (PROGRAM = extproc)<br />&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp;&nbsp; (SID_DESC =<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (GLOBAL_DBNAME = ORACLE)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_NAME = ORACLE)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp; )<br />&nbsp; 4. Save the file and restart the TNSListener service in the host. That's OK! </div><img src ="http://www.blogjava.net/hwpok/aggbug/361004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-10-11 22:05 <a href="http://www.blogjava.net/hwpok/archive/2011/10/11/361004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ra-01652无法通过128(在表空间temp中)扩展temp段</title><link>http://www.blogjava.net/hwpok/archive/2011/09/22/359278.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Thu, 22 Sep 2011 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/22/359278.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359278.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/22/359278.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359278.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359278.html</trackback:ping><description><![CDATA[<p>今天提交请求后，提示ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段。最后通过ALTER DATABASE TEMPFILE '/*/*/db/apps_st/data/tempx01.dbf' RESIZE 7168M;扩展临时表空间来解决</p>
<p>今天提交请求后，提示ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段。最后通过ALTER DATABASE TEMPFILE '/*/*/db/apps_st/data/tempx01.dbf' RESIZE 7168M;扩展临时表空间来解决。在网上找了些资料，重新学习下临时表空间的知识点，记录在此以免以后忘记。</p>
<p>临时表空间相关知识点总结（转载）</p>
<p>临时表空间的作用：</p>
<p>　　临时表空间主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间，当运算完成之后系统会自动清理。</p>
<p>　　当临时表空间不足时，表现为运算速度异常的慢，并且临时表空间迅速增长到最大空间（扩展的极限），并且一般不会自动清理了。</p>
<p>　　如果临时表空间没有设置为自动扩展，则临时表空间不够时事务执行将会报ora-01652无法扩展临时段的错误，当然解决方法也很简单:1、设置临时数据文件自动扩展，或者2、增大临时表空间。</p>
<p>　　临时表空间的相关操作：</p>
<p>　　查询默认临时表空间：</p>
<p>　　SQL&gt; select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';</p>
<p>　　PROPERTY_NAME</p>
<p>　　------------------------------</p>
<p>　　PROPERTY_VALUE</p>
<p>　　--------------------------------------------------------------------------------</p>
<p>　　DESCRIPTION</p>
<p>　　--------------------------------------------------------------------------------</p>
<p>　　DEFAULT_TEMP_TABLESPACE</p>
<p>　　TEMP</p>
<p>　　Name of default temporary tablespace</p>
<p>　　查询临时表空间状态:</p>
<p>　　SQL&gt; select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;</p>
<p>　　TABLESPACE_NAME</p>
<p>　　&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>　　FILE_NAME</p>
<p>　　&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>　　FILE_SIZE AUT</p>
<p>　　&#8212;&#8212;&#8212;- &#8212;</p>
<p>　　TEMP</p>
<p>　　/u01/app/oracle/oradata/orcl/temp01.dbf</p>
<p>　　100 YES</p>
<p>　　扩展临时表空间：</p>
<p>　　方法一、增大临时文件大小：</p>
<p>　　SQL&gt; alter database tempfile &#8216;/u01/app/oracle/oradata/orcl/temp01.dbf&#8217; resize100m;</p>
<p>　　Database altered.</p>
<p>　　方法二、将临时数据文件设为自动扩展：</p>
<p>　　SQL&gt; alter database tempfile &#8216;/u01/app/oracle/oradata/orcl/temp01.dbf&#8217; autoextend on next 5m maxsize unlimited;</p><img src ="http://www.blogjava.net/hwpok/aggbug/359278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-22 18:12 <a href="http://www.blogjava.net/hwpok/archive/2011/09/22/359278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 10g 修改SGA,PGA大小</title><link>http://www.blogjava.net/hwpok/archive/2011/09/22/359244.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Thu, 22 Sep 2011 03:34:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/22/359244.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359244.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/22/359244.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359244.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359244.html</trackback:ping><description><![CDATA[<p>一、概念<br />SGA指系统全局区域(System Global Area),是用于存储数据库信息的内存区，该信息为数据库进程所共享。<span id="more-981"></span><br />PGA指进程全局区域(Process Global Area),包含单个服务器进程或单个后台进程的数据和控制信息，与几个进程共享的SGA 正相反,PGA 是只被一个进程使用的区域，PGA 在创建进程时分配,在终止进程时回收。 Oracle 10g提供了PGA内存的自动管理。参数pga_aggregate_target可以指定PGA内存的最大值。当参数 pga_aggregate_target大于0时，Oracle将自动管理pga内存，并且各进程的所占PGA之和，不大于 pga_aggregate_target所指定的值。</p>
<p>二、配置<br />oracle推荐OLTP(on-line Transaction Processing)系统oracle占系统总内存的80%,然后再分配80%给SGA,20%给PGA。也就是<br />SGA=system_total_memory*80%*80%<br />PGA=system_total_memory*80%*20%</p>
<p>三、操作<br />用SYS用户以SYSDBA身份登录系统<br />alter system set sga_max_size=2000m scope=spfile;<br />alter system set sga_target=2000m scope=spfile;<br />alter system set pga_aggregate_target=500m scope=spfile;</p>
<p>然后重新启动数据库<br />最后查看一下是否生效<br />show parameter sga_max_size;<br />show parameter sga_target;<br />show parameter pga_aggregate_target;</p><img src ="http://www.blogjava.net/hwpok/aggbug/359244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-22 11:34 <a href="http://www.blogjava.net/hwpok/archive/2011/09/22/359244.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle AWR 介绍 </title><link>http://www.blogjava.net/hwpok/archive/2011/09/21/359207.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 21 Sep 2011 15:48:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/21/359207.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359207.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/21/359207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359207.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359207.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体"><span style="font-family: 宋体; color: red; font-size: 14pt">一</span><span style="color: red; font-size: 14pt">. AWR </span><span style="font-family: 宋体; color: red; font-size: 14pt">说明</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oracle 10g</span><span style="font-family: 宋体">之前对数据库做性能检测使用</span>statspack<span style="font-family: 宋体">工具。</span> <span style="font-family: 宋体">关于</span>statspack<span style="font-family: 宋体">的说明，参考我的</span>Blog<span style="font-family: 宋体">：</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statspack</span><span style="font-family: 宋体; color: red">安装使用</span> <span style="font-family: 宋体; color: red">和</span><span style="color: red"> report </span><span style="font-family: 宋体; color: red">分析</span></span></span></p>
<p sizset="31" sizcache="1"><span sizset="31" sizcache="1"><span style="font-family: 宋体; font-size: small">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><a href="http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4682329.aspx"><span style="font-family: 宋体; color: #0000ff; font-size: small">http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4682329.aspx</span></a></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oracle Database 10g </span><span style="font-family: 宋体">提供了一个新的工具：</span>(AWR:Automatic Workload Repository)<span style="font-family: 宋体">。</span>Oracle <span style="font-family: 宋体">建议用户用这个取代</span> Statspack<span style="font-family: 宋体">。</span>AWR <span style="font-family: 宋体">实质上是一个</span> Oracle <span style="font-family: 宋体">的内置工具，它采集与性能相关的统计数据，并从那些统计数据中导出性能量度，以跟踪潜在的问题。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体; color: red">与</span><span style="color: red"> Statspack </span><span style="font-family: 宋体; color: red">不同，快照由一个称为</span><span style="color: red"> MMON </span><span style="font-family: 宋体; color: red">的新的后台进程及其从进程自动地每小时采集一次。</span><span style="font-family: 宋体">为了节省空间，<span style="color: red">采集的数据在</span></span><span style="color: red"> 7 </span><span style="font-family: 宋体; color: red">天后自动清除。</span><span style="font-family: 宋体">快照频率和保留时间都可以由用户修改。它产生两种类型的输出：文本格式（类似于</span> Statspack <span style="font-family: 宋体">报表的文本格式但来自于</span> AWR <span style="font-family: 宋体">信息库）和默认的</span> HTML <span style="font-family: 宋体">格式（拥有到部分和子部分的所有超链接），从而提供了非常用户友好的报表。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">AWR </span></span><span style="font-family: 宋体; color: red">使用几个表来存储采集的统计数据，所有的表都存储在新的名称为</span><span style="color: red"> SYSAUX </span><span style="font-family: 宋体; color: red">的特定表空间中的</span><span style="color: red"> SYS </span><span style="font-family: 宋体; color: red">模式下，并且以</span><span style="color: red"> WRM$_* </span><span style="font-family: 宋体; color: red">和</span><span style="color: red"> WRH$_* </span><span style="font-family: 宋体; color: red">的格式命名。</span><span style="font-family: 宋体">前一种类型存储元数据信息（如检查的数据库和采集的快照），后一种类型保存实际采集的统计数据。</span>H <span style="font-family: 宋体">代表&#8220;历史数据</span> (historical)<span style="font-family: 宋体">&#8221;而</span> M <span style="font-family: 宋体">代表&#8220;元数据</span> (metadata)<span style="font-family: 宋体">&#8221;。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">在这些表上构建了几种带前缀</span> DBA_HIST_ <span style="font-family: 宋体">的视图，这些视图可以用来编写您自己的性能诊断工具。视图的名称直接与表相关；例如，视图</span> DBA_HIST_SYSMETRIC_SUMMARY <span style="font-family: 宋体">是在</span>WRH$_SYSMETRIC_SUMMARY <span style="font-family: 宋体">表上构建的。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体"><span style="font-family: 宋体; color: red; font-size: 14pt">注意一点：</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statistics_level </span><span style="font-family: 宋体">默认是</span>typical<span style="font-family: 宋体">，在</span>10g<span style="font-family: 宋体">中表监控是激活的，强烈建议在</span>10g<span style="font-family: 宋体">中此参数的值是</span>typical<span style="font-family: 宋体">。如<span style="color: red">果</span></span><span style="color: red">STATISTICS_LEVEL</span><span style="font-family: 宋体; color: red">设置为</span><span style="color: red">basic</span><span style="font-family: 宋体; color: red">，不仅不能监控表，而且将禁掉如下一些</span><span style="color: red">10g</span><span style="font-family: 宋体; color: red">的新功能：</span></span></span><br /><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASH(Active Session History)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASSM(Automatic Shared Memory Management)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">AWR(Automatic Workload Repository)</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADDM(Automatic Database Diagnostic Monitor)</span></span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体"><span style="font-family: 宋体; color: red; font-size: 14pt">二</span><span style="color: red; font-size: 14pt">.&nbsp;AWR</span><span style="font-family: 宋体; color: red; font-size: 14pt">使用</span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt;@?/rdbms/admin/awrrpt.sql</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">Specify the Report Type</span></p>
<p><span style="font-family: 宋体; font-size: small">~~~~~~~~~~~~~~~~~~~~~~~</span></p>
<p><span style="font-family: 宋体; font-size: small">Would you like an HTML report, or a plain text report?</span></p>
<p><span style="font-family: 宋体; font-size: small">Enter 'html' for an HTML report, or 'text' for plain text</span></p>
<p><span style="font-family: 宋体; font-size: small">Defaults to 'html'</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体; color: red">输入</span><span style="color: red"> report_type </span><span style="font-family: 宋体; color: red">的值</span><span style="color: red">:&nbsp;</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体">Type Specified:&nbsp;<span style="color: red">html</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">Specify the number of days of snapshots to choose from</span></p>
<p><span style="font-family: 宋体; font-size: small">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></p>
<p><span style="font-family: 宋体; font-size: small">Entering the number of days (n) will result in the most recent</span></p>
<p><span style="font-family: 宋体; font-size: small">(n) days of snapshots being listed.&nbsp;Pressing &lt;return&gt; without</span></p>
<p><span style="font-family: 宋体; font-size: small">specifying a number lists all completed snapshots.</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体; color: red">输入</span><span style="color: red"> num_days </span><span style="font-family: 宋体; color: red">的值</span><span style="color: red">:&nbsp;1</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">Listing the last day's Completed Snapshots</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Snap</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">Instance<span>&nbsp;&nbsp;&nbsp;&nbsp; DB Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Snap Id&nbsp;&nbsp;&nbsp; Snap Started&nbsp;&nbsp;&nbsp; Level</span></span></p>
<p><span style="font-family: 宋体; font-size: small">------------ ------------ --------- ------------------ -----</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体">orcl10g<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORCL10G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 142 03 7</span><span style="font-family: 宋体">月</span>&nbsp;2009 08:11<span>&nbsp;&nbsp;&nbsp;&nbsp; 1</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;143 03 7</span><span style="font-family: 宋体">月</span>&nbsp;2009 09:00<span>&nbsp;&nbsp;&nbsp;&nbsp; 1</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 144 03 7</span><span style="font-family: 宋体">月</span>&nbsp;2009 10:00<span>&nbsp;&nbsp;&nbsp;&nbsp; 1</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 145 03 7</span><span style="font-family: 宋体">月</span>&nbsp;2009 11:00<span>&nbsp;&nbsp;&nbsp;&nbsp; 1</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 146 03 7</span><span style="font-family: 宋体">月</span>&nbsp;2009 12:01<span>&nbsp;&nbsp;&nbsp;&nbsp; 1</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">Specify the Begin and End Snapshot Ids</span></p>
<p><span style="font-family: 宋体; font-size: small">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体">输入</span> begin_snap <span style="font-family: 宋体">的值</span>:&nbsp;142</span></span></p>
<p><span style="font-family: 宋体; font-size: small">Begin Snapshot Id specified: 142</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体">输入</span> end_snap <span style="font-family: 宋体">的值</span>:&nbsp;146</span></span></p>
<p><span style="font-family: 宋体; font-size: small">End<span>&nbsp;&nbsp; Snapshot Id specified: 146</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">Specify the Report Name</span></p>
<p><span style="font-family: 宋体; font-size: small">~~~~~~~~~~~~~~~~~~~~~~~</span></p>
<p><span style="font-family: 宋体; font-size: small">The default report file name is awrrpt_1_142_146.html.&nbsp;To use this name,</span></p>
<p><span style="font-family: 宋体; font-size: small">press &lt;return&gt; to continue, otherwise enter an alternative.</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体">输入</span> report_name <span style="font-family: 宋体">的值</span>:&nbsp;D:/awrrpt_1_142_146.html</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">Report written to D:/awrrpt_1_142_146.html</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体"><span style="font-family: 宋体; color: red; font-size: 14pt">三</span><span style="color: red; font-size: 14pt">. &nbsp;AWR </span><span style="font-family: 宋体; color: red; font-size: 14pt">操作</span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.1. </span><span style="font-family: 宋体; color: red">查看当前的</span><span style="color: red">AWR</span><span style="font-family: 宋体; color: red">保存策略</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; col SNAP_INTERVAL format a20</span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; col RETENTION format a20</span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; select * from dba_hist_wr_control;</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBID SNAP_INTERVAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RETENTION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOPNSQL</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">---------- -------------------- -------------------- ----------</span></p>
<p><span style="font-family: 宋体; font-size: small">262089084 +00000 01:00:00.0<span>&nbsp;&nbsp;&nbsp; +00007 00:00:00.0&nbsp;&nbsp;&nbsp; DEFAULT</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体">以上结果表示</span>,<span style="font-family: 宋体">每小时产生一个</span>SNAPSHOT<span style="font-family: 宋体">，保留</span>7<span style="font-family: 宋体">天。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2. </span><span style="font-family: 宋体; color: red">调整</span><span style="color: red">AWR</span><span style="font-family: 宋体; color: red">配置</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体">AWR<span style="font-family: 宋体">配置都是通过</span>dbms_workload_repository<span style="font-family: 宋体">包进行配置。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.1 </span><span style="font-family: 宋体; color: red">调整</span><span style="color: red">AWR</span><span style="font-family: 宋体; color: red">产生</span><span style="color: red">snapshot</span><span style="font-family: 宋体; color: red">的频率和保留策略，</span><span style="font-family: 宋体">如将收集间隔时间改为</span>30 <span style="font-family: 宋体">分钟一次。并且保留</span>5<span style="font-family: 宋体">天时间（单位都是分钟）：</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec dbms_workload_repository.modify_snapshot_settings(interval=&gt;30, retention=&gt;5*24*60);</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.2 </span><span style="font-family: 宋体; color: red">关闭</span><span style="color: red">AWR</span><span style="font-family: 宋体; color: red">，把</span><span style="color: red">interval</span><span style="font-family: 宋体; color: red">设为</span><span style="color: red">0</span><span style="font-family: 宋体; color: red">则关闭自动捕捉快照</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec dbms_workload_repository.modify_snapshot_settings(interval=&gt;0);</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.3 </span><span style="font-family: 宋体; color: red">手工创建一个快照</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.4 </span><span style="font-family: 宋体; color: red">查看快照</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; select * from sys.wrh$_active_session_history</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.5 </span><span style="font-family: 宋体; color: red">手工删除指定范围的快照</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id =&gt; 973, high_snap_id =&gt; 999, dbid =&gt; 262089084);</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.6 </span><span style="font-family: 宋体; color: red">创建</span><span style="color: red">baseline</span><span style="font-family: 宋体; color: red">，保存这些数据用于将来分析和比较</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec dbms_workload_repository.create_baseline(start_snap_id =&gt; 1003, end_snap_id =&gt; 1013, 'apply_interest_1');</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.7 </span><span style="font-family: 宋体; color: red">删除</span><span style="color: red">baseline</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(baseline_name =&gt; 'apply_interest_1', cascade =&gt; FALSE);</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.8 </span><span style="font-family: 宋体; color: red">将</span><span style="color: red">AWR</span><span style="font-family: 宋体; color: red">数据导出并迁移到其它数据库以便于以后分析</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec DBMS_SWRF_INTERNAL.AWR_EXTRACT(dmpfile =&gt; 'awr_data.dmp', mpdir =&gt; 'DIR_BDUMP', bid =&gt; 1003, eid =&gt; 1013);</span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">3.2.9 </span><span style="font-family: 宋体; color: red">迁移</span><span style="color: red">AWR</span><span style="font-family: 宋体; color: red">数据文件到其他数据库</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec DBMS_SWRF_INTERNAL.AWR_LOAD(SCHNAME =&gt; 'AWR_TEST', dmpfile =&gt; 'awr_data.dmp', dmpdir =&gt; 'DIR_BDUMP');</span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体">把</span>AWR<span style="font-family: 宋体">数据转移到</span>SYS<span style="font-family: 宋体">模式中：</span></span></span></p>
<p><span style="font-family: 宋体; font-size: small">SQL&gt; exec DBMS_SWRF_INTERNAL.MOVE_TO_AWR (SCHNAME =&gt; 'TEST');</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: 宋体"><span style="font-family: 宋体; color: red; font-size: 14pt">四</span><span style="color: red; font-size: 14pt">. AWR </span><span style="font-family: 宋体; color: red; font-size: 14pt">报告分析</span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="font-family: 宋体">这部分内容，可以参考</span>statspack<span style="font-family: 宋体">，这</span>2<span style="font-family: 宋体">个内容都差不多。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statspack</span><span style="font-family: 宋体; color: red">安装使用</span> <span style="font-family: 宋体; color: red">和</span><span style="color: red"> report </span><span style="font-family: 宋体; color: red">分析</span></span></span></p>
<p sizset="32" sizcache="1"><span sizset="32" sizcache="1"><span style="font-family: 宋体; font-size: small">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><a href="http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4682329.aspx"><span style="font-family: 宋体; color: #0000ff; font-size: small">http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4682329.aspx</span></a></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.1 SQL ordered by Elapsed Time</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了执行总和时间的</span>TOP SQL(<span style="font-family: 宋体">请注意是监控范围内该</span>SQL<span style="font-family: 宋体">的执行时间总和，而不是单次</span>SQL<span style="font-family: 宋体">执行时间</span> Elapsed Time = CPU Time + Wait Time)<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">Elapsed Time(S): </span>SQL</span><span style="font-family: 宋体">语句执行用总时长，此排序就是按照这个字段进行的。注意该时间不是单个</span>SQL<span style="font-family: 宋体">跑的时间，而是监控范围内</span>SQL<span style="font-family: 宋体">执行次数的总和时间。单位时间为秒。</span>Elapsed Time = CPU Time + Wait Time</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">CPU Time(s): </span></span><span style="font-family: 宋体">为</span>SQL<span style="font-family: 宋体">语句执行时</span>CPU<span style="font-family: 宋体">占用时间总时长，此时间会小于等于</span>Elapsed Time<span style="font-family: 宋体">时间。单位时间为秒。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">Executions: </span>SQL</span><span style="font-family: 宋体">语句在监控范围内的执行次数总计。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">Elap per Exec(s):</span> </span><span style="font-family: 宋体">执行一次</span>SQL<span style="font-family: 宋体">的平均时间。单位时间为秒。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">% Total DB Time:</span> </span><span style="font-family: 宋体">为</span>SQL<span style="font-family: 宋体">的</span>Elapsed Time<span style="font-family: 宋体">时间占数据库总时间的百分比。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">SQL ID: </span>SQL</span><span style="font-family: 宋体">语句的</span>ID<span style="font-family: 宋体">编号，点击之后就能导航到下边的</span>SQL<span style="font-family: 宋体">详细列表中，点击</span>IE<span style="font-family: 宋体">的返回可以回到当前</span>SQL ID<span style="font-family: 宋体">的地方。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">SQL Module: </span></span><span style="font-family: 宋体">显示该</span>SQL<span style="font-family: 宋体">是用什么方式连接到数据库执行的，如果是用</span>SQL*Plus<span style="font-family: 宋体">或者</span>PL/SQL<span style="font-family: 宋体">链接上来的那基本上都是有人在调试程序。一般用前台应用链接过来执行的</span>sql<span style="font-family: 宋体">该位置为空。</span></span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">SQL Text: </span></span><span style="font-family: 宋体">简单的</span>sql<span style="font-family: 宋体">提示，详细的需要点击</span>SQL ID<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.2 SQL ordered by CPU Time:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了执行占</span>CPU<span style="font-family: 宋体">时间总和时间最长的</span>TOP SQL(<span style="font-family: 宋体">请注意是监控范围内该</span>SQL<span style="font-family: 宋体">的执行占</span>CPU<span style="font-family: 宋体">时间总和，而不是单次</span>SQL<span style="font-family: 宋体">执行时间</span>)<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.3 SQL ordered by Gets:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了执行占总</span>buffer gets(<span style="font-family: 宋体">逻辑</span>IO)<span style="font-family: 宋体">的</span>TOP SQL(<span style="font-family: 宋体">请注意是监控范围内该</span>SQL<span style="font-family: 宋体">的执行占</span>Gets<span style="font-family: 宋体">总和，而不是单次</span>SQL<span style="font-family: 宋体">执行所占的</span>Gets)<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.4 SQL ordered by Reads:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了执行占总磁盘物理读</span>(<span style="font-family: 宋体">物理</span>IO)<span style="font-family: 宋体">的</span>TOP SQL(<span style="font-family: 宋体">请注意是监控范围内该</span>SQL<span style="font-family: 宋体">的执行占磁盘物理读总和，而不是单次</span>SQL<span style="font-family: 宋体">执行所占的磁盘物理读</span>)<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.5 SQL ordered by Executions:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了按照</span>SQL<span style="font-family: 宋体">的执行次数排序的</span>TOP SQL<span style="font-family: 宋体">。该排序可以看出监控范围内的</span>SQL<span style="font-family: 宋体">执行次数。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.6 SQL ordered by Parse Calls:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了</span>SQL<span style="font-family: 宋体">的软解析次数的</span>TOP SQL<span style="font-family: 宋体">。说到软解析</span>(soft prase)<span style="font-family: 宋体">和硬解析</span>(hard prase)<span style="font-family: 宋体">，就不能不说一下</span>Oracle<span style="font-family: 宋体">对</span>sql<span style="font-family: 宋体">的处理过程。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.7 SQL ordered by Sharable Memory:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了</span>SQL<span style="font-family: 宋体">占用</span>library cache<span style="font-family: 宋体">的大小的</span>TOP SQL<span style="font-family: 宋体">。</span>Sharable Mem (b)<span style="font-family: 宋体">：占用</span>library cache<span style="font-family: 宋体">的大小，单位是</span>byte<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.8 SQL ordered by Version Count:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了</span>SQL<span style="font-family: 宋体">的打开子游标的</span>TOP SQL<span style="font-family: 宋体">。</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: red; font-size: 14pt"><span style="font-family: 宋体">4.9 SQL ordered by Cluster Wait Time:</span></span></p>
<p><span style="font-size: small"><span style="font-family: 宋体"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">记录了集群的等待时间的</span>TOP SQL</span></span></p>
<p>&nbsp;</p><img src ="http://www.blogjava.net/hwpok/aggbug/359207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-21 23:48 <a href="http://www.blogjava.net/hwpok/archive/2011/09/21/359207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取awr报告</title><link>http://www.blogjava.net/hwpok/archive/2011/09/21/359206.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 21 Sep 2011 15:47:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/21/359206.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359206.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/21/359206.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359206.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359206.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;conn&nbsp;</span><span style="color: #808080">/</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">AS</span><span style="color: #000000">&nbsp;SYSDBA<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">var</span><span style="color: #000000">&nbsp;snap_id&nbsp;</span><span style="color: #000000; font-weight: bold">number</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">exec</span><span style="color: #000000">:snap_id:</span><span style="color: #808080">=</span><span style="color: #000000">dbms_workload_repository.create_snapshot<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;snap_id<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;SNAP_ID<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">182</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">当前产生的快照编号<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@D</span><span style="color: #000000">:\oracle\oracle\product\</span><span style="color: #800000; font-weight: bold">10.2</span><span style="color: #000000">.</span><span style="color: #800000; font-weight: bold">0</span><span style="color: #000000">\db_1\RDBMS\ADMIN</span><span style="color: #808080">/</span><span style="color: #000000">awrrpt.sql<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />输入&nbsp;report_type&nbsp;的值:&nbsp;</span><span style="color: #808080">&lt;</span><span style="color: #000000">enter默认为html类型</span><span style="color: #808080">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />输入&nbsp;num_days&nbsp;的值:&nbsp;</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">查看快照的天数&nbsp;&nbsp;默认保存7天的快照信息<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />输入&nbsp;begin_snap&nbsp;的值:&nbsp;</span><span style="color: #800000; font-weight: bold">181</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">取快照的起始编号<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />输入&nbsp;end_snap&nbsp;的值:&nbsp;</span><span style="color: #800000; font-weight: bold">182</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">取快照的结尾编号<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />输入&nbsp;report_name&nbsp;的值:&nbsp;</span><span style="color: #808080">&lt;</span><span style="color: #000000">enter采用默认文件名</span><span style="color: #808080">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Report&nbsp;written&nbsp;</span><span style="color: #0000ff">to</span><span style="color: #000000">&nbsp;awrrpt_1_181_182.html<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">exit</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />到执行sqlplus的目录里打开awrrpt_1_181_182.html并查看。</span></div>
<p>&nbsp;</p><img src ="http://www.blogjava.net/hwpok/aggbug/359206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-21 23:47 <a href="http://www.blogjava.net/hwpok/archive/2011/09/21/359206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE 10G AWR 速查</title><link>http://www.blogjava.net/hwpok/archive/2011/09/21/359197.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 21 Sep 2011 14:04:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/21/359197.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359197.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/21/359197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359197.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359197.html</trackback:ping><description><![CDATA[<div><strong style="background-color: #ffff66">oracle 10g awr安装</strong></div>
<div>SQL&gt; SQLPLUS / AS SYSDBA<br />SQL&gt; exec dbms_workload_repository.create_snapshot<br />SQL&gt; exec:snap_id:=dbms_workload_repository.create_snapshot<br />SQL&gt; var snap_id number<br />SQL&gt; print snap_id<br />SQL&gt; @?/rdbms/admin/awrrpt.sql</div>
<div></div>
<div><strong style="background-color: #ffff66">Oracle</strong> <strong style="background-color: #a0ffff">AWR</strong>速查</div>
<div>1.查看当前的<strong style="background-color: #a0ffff">AWR</strong>保存策略<br />select * from dba_hist_wr_control;</div>
<div>DBID,SNAP_INTERVAL,RETENTION,TOPNSQL<br />860524039,+00 01:00:00.000000,+07 00:00:00.000000,DEFAULT</div>
<div>以上结果表示,每小时产生一个SNAPSHOT，保留7天</div>
<div>2.调整<strong style="background-color: #a0ffff">AWR</strong>配置<br /><strong style="background-color: #a0ffff">AWR</strong>配置都是通过dbms_workload_repository包进行配置</div>
<div>2.1调整<strong style="background-color: #a0ffff">AWR</strong>产生snapshot的频率和保留策略，如：如将收集间隔时间改为30 分钟一次。并且保留5天时间（注：单位都是为分钟）：<br />exec dbms_workload_repository.modify_snapshot_settings(interval=&gt;30, retention=&gt;5*24*60);</div>
<div>2.2<strong style="background-color: #99ff99">关闭</strong><strong style="background-color: #a0ffff">AWR</strong>,把interval设为0则<strong style="background-color: #99ff99">关闭</strong>自动捕捉快照</div>
<div>2.3手工创建一个快照<br />exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();</div>
<div>2.4 查看快照<br />select * from sys.wrh$_active_session_history</div>
<div>2.5手工删除指定范围的快照<br />exec WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id =&gt; 22, high_snap_id =&gt; 32, dbid =&gt; 3310949047);</div>
<div>2.6创建baseline<br />exec dbms_workload_repository.create_baseline (56,59,'apply_interest_1')</div>
<div>2.7删除baseline<br />exec DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(baseline_name =&gt; ' apply_interest_1', cascade =&gt; FALSE);</div>
<div><br />3.生产<strong style="background-color: #a0ffff">AWR</strong>报告<br />$<strong style="background-color: #ffff66">ORACLE</strong>_HOME/rdbms/admin/awrrpt.sql</div><br /><img src ="http://www.blogjava.net/hwpok/aggbug/359197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-21 22:04 <a href="http://www.blogjava.net/hwpok/archive/2011/09/21/359197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新手从事Oracle性能优化时常用几个简单的步骤</title><link>http://www.blogjava.net/hwpok/archive/2011/09/21/359188.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 21 Sep 2011 12:52:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/21/359188.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359188.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/21/359188.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359188.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359188.html</trackback:ping><description><![CDATA[数据库优化，应该首先从大的方面考虑：<a style="color: #000000" title="网络" href="http://net.it168.com/" target="_blank"><u>网络</u></a>、<a style="color: #000000" title="服务器" href="http://server.it168.com/" target="_blank"><u>服务器</u></a>硬件配置、<a style="color: #000000" title="操作系统" href="http://product.it168.com/list/b/0501_1.shtml" target="_blank"><u>操作系统</u></a>配置、Oracle服务器配置、数据结构组织、然后才是具体的调整。实际上网络、硬件等往往无法决定更换，应用程序一般也无法修改，因此应该着重从数据库配置、数据结构上来下手，首先让数据库有一个良好的配置，然后再考虑具体优化某些过慢的语句。我在给我的用户系统进行优化的过程中，总结了一些基本的，简单易行的办法来优化数据库的方法.　　<br />　　<strong>一．设置合适的SGA</strong><br />　　<br />　　常常有人抱怨服务器硬件很好，但是Oracle就是很慢。很可能是<a style="color: #000000" title="内存" href="http://product.it168.com/list/b/0205_1.shtml" target="_blank"><u>内存</u></a>分配不合理造成的。<br />　　<br />　　(1)假设内存有512M，这通常是小型应用。建议Oracle的SGA大约240M，其中：共享池（SHARED_POOL_SIZE）可以设置 60M到80M，根据实际的用户数、查询等来定。数据块缓冲区可以大致分配120M-150M，8i下需要设置 DB_BLOCK_BUFFERS，DB_BLOCK_BUFFER*DB_BLOCK_SIZE等于数据块缓冲区大小。9i 下的数据缓冲区可以用db_cache_size来直接分配。<br />　　<br />　　(2)假设内存有1G，Oracle 的SGA可以考虑分配500M：共享池分配100M到150M，数据缓冲区分配300M到400M。<br />　　<br />　　(3)内存2G，SGA可以考虑分配1.2G，共享池300M到500M，剩下的给数据块缓冲区。<br />　　<br />　　(4)内存2G以上：共享池300M到500M就足够啦，再多也没有太大帮助；(Biti_rainy有专述)数据缓冲区是尽可能的大，但是一定要注意两个问题：一是要给操作系统和其他应用留够内存，二是对于32位的操作系统，Oracle的SGA有1.75G的限制。有的32位操作系统上可以突破这个限制，方法还请看Biti的大作吧。<br />　　<br />　　<strong>二．分析表和索引，更改优化模式</strong><br />　　<br />　　Oracle默认优化模式是CHOOSE，在这种情况下，如果表没有经过分析，经常导致查询使用全表扫描，而不使用索引。这通常导致磁盘I/O太多，而导致查询很慢。如果没有使用执行计划稳定性，则应该把表和索引都分析一下，这样可能直接会使查询速度大幅提升。分析表命令可以用ANALYZE TABLE 分析索引可以用ANALYZE INDEX命令。对于少于100万的表，可以考虑分析整个表，对于很大的表，可以按百分比来分析，但是百分比不能过低，否则生成的统计信息可能不准确。可以通过DBA_TABLES的LAST_ANALYZED列来查看表是否经过分析或分析时间，索引可以通过DBA_INDEXES的 LAST_ANALYZED列。<br />　　<br />　　下面通过例子来说明分析前后的速度对比。（表CASE_GA_AJZLZ大约有35万数据，有主键）首先在SQLPLUS中打开自动查询执行计划功能。(第一次要执行\RDBMS\ADMIN\utlxplan.sql来创建PLAN_TABLE这个表)<br />　　SQL&gt; SET AUTOTRACE ON<br />　　SQL&gt;SET TIMING ON<br />　　<br />　　通过SET AUTOTRACE ON 来查看语句的执行计划，通过SET TIMING ON 来查看语句运行时间。<br />　　SQL&gt; select count(*) from CASE_GA_AJZLZ;<br />　　COUNT(*)<br />　　----------<br />　　346639<br />　　已用时间: 00: 00: 21.38<br />　　Execution Plan<br />　　----------------------------------------------------------<br />　　0 SELECT STATEMENT Optimizer=CHOOSE<br />　　1 0 SORT (AGGREGATE)<br />　　2 1 TABLE ACCESS (FULL) OF 'CASE_GA_AJZLZ'<br />　　&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />　　请注意上面分析中的TABLE ACCESS(FULL)，这说明该语句执行了全表扫描。而且查询使用了21.38秒。这时表还没有经过分析。下面我们来对该表进行分析：<br />　　SQL&gt; analyze table CASE_GA_AJZLZ compute statistics;<br />　　<br />　　表已分析。<br />　　<br />　　已用时间: 00: 05: 357.63<br />　　<br />　　然后再来查询：<br />　　SQL&gt; select count(*) from CASE_GA_AJZLZ;<br />　　COUNT(*)<br />　　----------<br />　　346639<br />　　<br />　　已用时间: 00: 00: 00.71<br />　　Execution Plan<br />　　----------------------------------------------------------<br />　　0 SELECT STATEMENT Optimizer=FIRST_ROWS (Cost=351 Card=1)<br />　　1 0 SORT (AGGREGATE)<br />　　2 1 INDEX (FAST FULL SCAN) OF 'PK_AJZLZ' (UNIQUE) (Cost=351<br />　　Card=346351)<br />　　&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />　　<br />　　请注意，这次时间仅仅用了0.71秒！这要归功于INDEX(FAST FULL SCAN)。通过分析表，查询使用了PK_AJZLZ索引，磁盘I/O大幅减少，速度也大幅提升！下面的实用语句可以用来生成分析某个用户的所有表和索引，假设用户是GAXZUSR：<br />　　SQL&gt; set pagesize 0<br />　　SQL&gt; spool d:\analyze_tables.sql;<br />　　SQL&gt; select 'analyze table '||owner||'.'||table_name||' compute statistics;' from dba_tables where owner='GAXZUSR';<br />　　SQL&gt; spool off<br />　　SQL&gt; spool spool d:\analyze_indexes.sql;<br />　　SQL&gt; select 'analyze index '||owner||'.'||index_name||' compute statistics;' from dba_indexes where owner='GAXZUSR';<br />　　SQL&gt; spool off<br />　　SQL&gt; @d:\analyze_tables.sql<br />　　SQL&gt; @d:\analyze_indexes.sql<br />　　<br />　　解释：上面的语句生成了两个sql文件，分别分析全部的GAXZUSR的表和索引。如果需要按照百分比来分析表，可以修改一下脚本。通过上面的步骤，我们就完成了对表和索引的分析，可以测试一下速度的改进啦。建议定期运行上面的语句，尤其是数据经过大量更新。<br />　　<br />　　当然，也可以通过dbms_stats来分析表和索引，更方便一些。但是我仍然习惯上面的方法，因为成功与否会直接提示出来。<br />　　<br />　　另外，我们可以将优化模式进行修改。optimizer_mode值可以是RULE、CHOOSE、FIRST_ROWS和ALL_ROWS。对于 OLTP系统，可以改成FIRST_ROWS，来要求查询尽快返回结果。这样即使不用分析，在一般情况下也可以提高查询性能。但是表和索引经过分析后有助于找到最合适的执行计划。<br />　　<br />　　<strong>三．设置cursor_sharing=FORCE 或SIMILAR</strong><br />　　<br />　　这种方法是8i才开始有的，oracle805不支持。通过设置该参数，可以强制共享只有文字不同的语句解释计划。例如下面两条语句可以共享：<br />　　<br />　　SQL&gt; SELECT * FROM MYTABLE WHERE NAME='tom'<br />　　<br />　　SQL&gt; SELECT * FROM MYTABLE WHERE NAME='turner'<br />　　<br />　　这个方法可以大幅降低缓冲区利用率低的问题，避免语句重新解释。通过这个功能，可以很大程度上解决硬解析带来的性能下降的问题。个人感觉可根据系统的实际情况，决定是否将该参数改成FORCE。该参数默认是exact。不过一定要注意，修改之前，必须先给ORACLE打补丁，否则改之后oracle会占用100%的<a style="color: #000000" title="CPU" href="http://product.it168.com/list/b/0217_1.shtml" target="_blank"><u>CPU</u></a>,无法使用。对于ORACLE9i，可以设置成SIMILAR，这个设置综合了FORCE和EXACT的优点。不过请慎用这个功能，这个参数也可能带来很大的负面影响！<br />　　<br />　　<strong>四．将常用的小表、索引钉在数据缓存KEEP池中</strong><br />　　<br />　　内存上数据读取速度远远比<a style="color: #000000" title="硬盘" href="http://product.it168.com/list/b/0218_1.shtml" target="_blank"><u>硬盘</u></a>中读取要快，据称，内存中数据读的速度是硬盘的14000倍！如果资源比较丰富，把常用的小的、而且经常进行全表扫描的表给钉内存中，当然是在好不过了。可以简单的通过ALTER TABLE tablename CACHE来实现，在ORACLE8i之后可以使用ALTER TABLE table STORAGE(BUFFER_POOL KEEP)。一般来说，可以考虑把200数据块之内的表放在keep池中，当然要根据内存大小等因素来定。关于如何查出那些表或索引符合条件，可以使用本文提供的access.sql和access_report.sql。这两个脚本是著名的Oracle专家 Burleson写的，你也可以在读懂了情况下根据实际情况调整一下脚本。对于索引，可以通过ALTER INDEX indexname STORAGE(BUFFER_POOL KEEP)来钉在KEEP池中。<br />　　<br />　　将表定在KEEP池中需要做一些准备工作。对于 ORACLE9i 需要设置DB_KEEP_CACHE_SIZE，对于8i，需要设置buffer_pool_keep。在8i中，还要修改 db_block_lru_latches，该参数默认是1，无法使用buffer_pool_keep。该参数应该比2*3*CPU数量少，但是要大于 1，才能设置DB_KEEP_CACHE_BUFFER。buffer_pool_keep从db_block_buffers中分配，因此也要小于 db_block_buffers。设置好这些参数后，就可以把常用对象永久钉在内存里。<br />　　<br />　　<strong>五．设置optimizer_max_permutations</strong><br />　　<br />　　对于多表连接查询，如果采用基于成本优化(CBO)，ORACLE会计算出很多种运行方案，从中选择出最优方案。这个参数就是设置oracle究竟从多少种方案来选择最优。如果设置太大，那么计算最优方案过程也是时间比较长的。Oracle805和8i默认是80000，8建议改成2000。对于9i，已经默认是2000了。<br />　　<br />　　<strong>六．调整排序参数</strong><br />　　<br />　　(1) SORT_AREA_SIZE:默认的用来排序的SORT_AREA_SIZE大小是32K，通常显得有点小，一般可以考虑设置成1M（1048576）。这个参数不能设置过大，因为每个连接都要分配同样的排序内存。<br />　　<br />　　(2) SORT_MULTIBLOCK_READ_COUNT:增大这个参数可以提高临时表空间排序性能，该参数默认是2，可以改成32来对比一下排序查询时间变化。注意，这个参数的最大值与平台有关系。<br />　　<br />　　<strong>七．调整其它几个关键的性能参数</strong><br />　　<br />　　很多人认为使用oracle数据库，系统的默认参数就是最好的，其实不是这样，很多参数都需要调整，而且调整前后性能大不一样。<br />　　<br />　　(1) log_buffer<br />　　<br />　　日志缓冲区大小默认设置32k太小了，建议设置成512K或者1M。<br />　　log_buffer=524288<br />　　<br />　　(2) optimizer_index_caching<br />　　<br />　　这个参数可以设置索引的缓冲度，范围是0到100，默认是0，可以考虑设置成90<br />　　<br />　　(3) optimizer_index_cost_adj<br />　　<br />　　这个参数是一个百分比，表明索引扫描与全表扫描的代价范围是1到1000。默认=100表名索引扫描与全表扫描代价一样。将这个参数设小表名索引代价要小于全表扫描，这样就使得使用CBO进行成本计算时更倾向于使用索引扫描。建议把这个参数设置成30到50。<br />　　<br />　　<strong>八．改变联机日志文件大小(一般用于oracle805)</strong><br />　　<br />　　Oracle805的联机日志文件默认只有1M大小，这实在是太小了，通过查看数据库的日志，很可能发现&#8220;checkpoint not complete&#8221;之类的错误提示。这会导致系统稳定性，同样也降低了数据库性能。建议修改成10M。修改方法是删除一个组、添加一个组，直到3个组都换成新的大小。说明：这个操作需要实施人员具有较多的数据库知识，如果不太了解，最好不要试验。<br />　　<br />　　<strong>九．改变数据块大小(一般用于oracle805)</strong><br />　　<br />　　Oracle805默认的块(DB_BLOCK_SIZE)大小是2K，太小了，因为块小，所以请求同样的数据量的时候，读的次数就要增多，导致性能低下。当然如果服务器性能比较好，还是升级Oracle更好，如果服务器配置比较差，建议改成8K。但是数据块不能直接修改，唯一的办法就是将数据导出，重新创建数据库，然后将数据导入。说明：这个操作需要实施人员具有较多的数据库知识，如果不太了解，最好不要试验。<br />　　<br />　　<strong>十．设置合适的表<a style="color: #000000" title="存储" href="http://storage.it168.com/" target="_blank"><u>存储</u></a>参数</strong><br />　　<br />　　对于有很多并发写入用户的系统来说，如果系统没有经过调整，经常会有数据等待现象。这是因为9i之前的表设置的默认的自由队列freelists为1，这样就可能造成数据等待。通过查看v$waitstat，如果发现data block 或者free list类的count次数很大，则说明等待情况严重，需要增加freelists。这个参数在8i、9i中可以动态修改（需要打补丁，否则会有ORA- 10620: Operation not allowed on this segment）在ORACLE805中，只能通过重新创建表来修改。<br />　　SQL&gt; select * from v$waitstat;<br />　　CLASS COUNT TIME<br />　　------------------ ---------- ----------<br />　　data block 11922013 342456<br />　　sort block 0 0<br />　　save undo block 0 0<br />　　segment header 1 0<br />　　free list 0 0<br />　　<br />　　如果测算经常有10个并发的写用户，可以把表的freelists改成10。例如下面的脚本可以把GAXZUSR用户的所有表重新设置FREELISTS的语句写在D:\FREELISTS.SQL里：<br />　　SQL&gt; SET PAGESIZE 0<br />　　SQL&gt; SPOOL D:\FREELISTS.SQL<br />　　SQL&gt; SELECT 'ALTER TABLE '||TABLE_NAME||' STORAGE(FREELISTS 10);' FROM DBA_TABLES WHERE OWNER=&#8217;GAXZUSR&#8217;;<br />　　SQL&gt;SPOOL OFF<br />　　<br />　　检查D:\FREELISTS.SQL,没有错误后运行修改FREELISTS：<br />　　SQL&gt;@D:\FREELISTS.SQL<br />　　<br />　　<strong>十一．重新组织表结构</strong><br />　　<br />　　(1) 按照主键重新排序。<br />　　<br />　　数据库运行了一段时间后，可能会有很多数据，而这些数据又可能是经常按照某个字段来选取区段数据。如果我们能够把主键按照顺序重新来组织一下表，那么用主键进行的查询就会明显快很多，主要是因为经过排序后，相似的编号都放在同一个数据块里，ORACLE在进行主键范围查找的时候，就会大大减少物理块度读取数量。在对表和索引分析之后，可以通过DBA_INDEXES的CLUSTERING_FACTOR列来判断表是否需要重新排序。如果该字段的值与表的 BLOCK数量差不多，则不需要重新排序，如果和表的行数差不多，则应该考虑重新组织一下了。下面的例子示意性说明怎样对表CASE_GA_AJZLZ按照主键PK_AJZLZ进行重新排序：<br />　　<br />　　&lt;1&gt; 将表CASE_GA_AJZLZ的索引、外间约束引用等找出来备用。<br />　　SET PAGESIZE 0<br />　　SET LINESIZE 300<br />　　SPOOL DISABLE_CONSTRAINTS.SQL<br />　　SELECT 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';' FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE='R' AND R_CONSTRAINT_NAME='PK_AJZLZ';<br />　　SPOOL OFF<br />　　SPOOL CREATE_CONSTRAINTS.SQL<br />　　SELECT 'ALTER TABLE '||TABLE_NAME||' ADD CONSTRAINT '||CONSTRAINT_NAME||' FOREIGN KEY(CASEID) REFERENCES CASE_GA_AJZLZ(CASEID);' FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE='R' AND R_CONSTRAINT_NAME='PK_AJZLZ';<br />　　SPOOL OFF<br />　　SPOOL CREATE_INDEX.SQL<br />　　SELECT 'CREATE INDEX '||INDEX_NAME||' ON '||TABLE_NAME||'('||COLUMN_NAME||') TABLESPACE INDX ;' FROM USER_IND_COLUMNS WHERE TABLE_NAME='CASE_GA_AJZLZ' AND INDEX_NAME&lt;&gt;'PK_AJZLZ';<br />　　<br />　　&lt;2&gt; 创建新的表CASE_GA_AJZLZ_NEW：<br />　　SQL&gt; CREATE TABLE CASE_GA_AJZLZ_NEW AS SELECT<br />　　/*+INDEX(CASE_GA_AJZLZ PK_AJZLZ) */ * FROM CASE_GA_AJZLZ ;<br />　　<br />　　注意，上面的注释（红颜色部分）表名按照PK_AJZLZ排序来重新组织表。<br />　　<br />　　&lt;3&gt;禁用CASE_GA_AJZLZ的外间约束，将表CASE_GA_AJZLZ TRUNCATE，然后删除之<br />　　<br />　　&lt;4&gt; 将表CASE_GA_AJZLZ_NEW更名为CASE_GA_AJZLZ<br />　　<br />　　SQL&gt; ALTER TABLE CASE_GA_AJZLZ_NEW RENAME TO CASE_GA_AJZLZ;<br />　　<br />　　&lt;5&gt;创建CASE_GA_AJZLZ的所有索引、主键约束等。<br />　　<br />　　SQL&gt; ALTER TABLE CASE_GA_AJZLZ ADD CONSTRAINT PK_AJZLZ PRIMARY KEY(CASEID);<br />　　SQL&gt; @CREATE_INDEX.SQL<br />　　SQL&gt; @CREATE_CONSTRAINTS.SQL<br />　　<br />　　(2) 将BLOB字段存储到单独的表空间中。<br />　　<br />　　基本上每个业务系统都有很多BLOB字段，而且很可能占据了整个数据库大小的大部分。默认情况下，BLOB字段会将4000个字节的指针与表的行存在一起，这直接会导致行迁移。而且BLOB字段会与表处于同一个表空间，这也对性能有不小的影响。从设计角度来说，BLOB字段都应该单独存储，遗憾的是我所遇到的很多系统都没有单独存储BLOB字段。如果BLOB字段占据了很大的存储，那么将BLOB字段单独存储后，带来的整体性能收益可能会非常的大。 另外BLOB字段存储子句中有一个DISABLE STORAGE IN ROW 属性，在将BLOB字段单独存放时，也应该实用该属性，这样可以有效避免行迁移。<img src ="http://www.blogjava.net/hwpok/aggbug/359188.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-21 20:52 <a href="http://www.blogjava.net/hwpok/archive/2011/09/21/359188.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle性能监控常用基础脚本</title><link>http://www.blogjava.net/hwpok/archive/2011/09/21/359154.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 21 Sep 2011 06:15:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/21/359154.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359154.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/21/359154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359154.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359154.html</trackback:ping><description><![CDATA[<div id="content">
<p>1. 检测数据库中的事件和等待</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT event, total_waits, total_timeouts,time_waited, average_wait</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM v$system_event</p>
<table border="0" width="97%" align="center">
<tbody>
<tr>
<td colspan="3">
<div align="center"></div></td></tr></tbody></table>
<p>2. 查询会话中的事件和等待时间</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select sid, event, total_waits,average_wait</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from v$session_event where sid=10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>3. 查询等待进程&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT sid, seq#, event, wait_time, state</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM v$session_wait;</p>
<p>4. 监控全局区的性能&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select * from v$sgastat;</p>
<p>5. 查询命中率</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select gethitratio</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from v$librarycache</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where namespace = 'SQL AREA';</p>
<p>6. 当前 sql 语句 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select sql_text, users_executing,</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; executions, loads</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from v$sqlarea;</p>
<p>7. 查询高速缓存中的命中率 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select sum(pins) "Executions", sum(reloads) "Cache Misses",</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum(reloads)/sum(pins)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from v$librarycache;</p>
<p>8. 查询全局字典中的有效装载次数</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select namespace,pins,reloads,invalidations</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from v$librarycache;</p>
<p>9. 回滚段的争用情况 </p>
<p><br />&nbsp;&nbsp;&nbsp; select name, waits, gets, waits/gets "Ratio"</p>
<p>&nbsp;&nbsp;&nbsp; from v$rollstat a, v$rollname b</p>
<p>&nbsp;&nbsp;&nbsp; where a.usn = b.usn;</p>
<p>10. 监控表空间的 I/O 比例 </p>
<p>&nbsp;&nbsp; select df.tablespace_name name,df.file_name "file",f.phyrds pyr,</p>
<p>&nbsp;&nbsp;&nbsp; f.phyblkrd pbr,f.phywrts pyw, f.phyblkwrt pbw</p>
<p>&nbsp;&nbsp;&nbsp; from v$filestat f, dba_data_files df</p>
<p>&nbsp;&nbsp;&nbsp; where f.file# = df.file_id</p>
<p>&nbsp;&nbsp;&nbsp; order by df.tablespace_name;</p>
<p>11. 监控文件系统的 I/O 比例 </p>
<p>&nbsp;&nbsp; select substr(a.file#,1,2) "#", substr(a.name,1,30) "Name",</p>
<p>&nbsp;&nbsp;&nbsp; a.status, a.bytes, b.phyrds, b.phywrts</p>
<p>&nbsp;&nbsp;&nbsp; from v$datafile a, v$filestat b</p>
<p>&nbsp;&nbsp;&nbsp; where a.file# = b.file#;</p>
<p>12. 在某个用户下找所有的索引 </p>
<p>&nbsp;&nbsp;&nbsp; select user_indexes.table_name, user_indexes.index_name,uniqueness, column_name</p>
<p>&nbsp;&nbsp;&nbsp; from user_ind_columns, user_indexes</p>
<p>&nbsp;&nbsp;&nbsp; where user_ind_columns.index_name = user_indexes.index_name</p>
<p>&nbsp;&nbsp;&nbsp; and user_ind_columns.table_name = user_indexes.table_name</p>
<p>&nbsp;&nbsp;&nbsp; order by user_indexes.table_type, user_indexes.table_name,</p>
<p>user_indexes.index_name, column_position;</p>
<p>13. 监控 SGA 中字典缓冲区的命中率 </p>
<p>&nbsp;&nbsp;&nbsp; select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",</p>
<p>&nbsp;&nbsp;&nbsp; (1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"</p>
<p>&nbsp;&nbsp;&nbsp; from v$rowcache</p>
<p>&nbsp;&nbsp;&nbsp; where gets+getmisses &lt;&gt;0</p>
<p>&nbsp;&nbsp;&nbsp; group by parameter, gets, getmisses;</p>
<p>14. 监控 SGA 中共享缓存区的命中率，应该小于 1% </p>
<p>&nbsp;&nbsp;&nbsp; select sum(pins) "Total Pins", sum(reloads) "Total Reloads",</p>
<p>&nbsp;&nbsp;&nbsp; sum(reloads)/sum(pins) *100 libcache</p>
<p>&nbsp;&nbsp;&nbsp; from v$librarycache;</p>
<p>&nbsp;&nbsp;&nbsp; select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins) "reload percent"</p>
<p>&nbsp;&nbsp;&nbsp; from v$librarycache;</p>
<p>15. 显示所有数据库对象的类别和大小 </p>
<p>&nbsp;&nbsp;&nbsp; select count(name) num_instances ,type ,sum(source_size) source_size ,</p>
<p>&nbsp;&nbsp;&nbsp; sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size) error_size,</p>
<p>&nbsp;&nbsp;&nbsp; sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required</p>
<p>&nbsp;&nbsp;&nbsp; from dba_object_size</p>
<p>&nbsp;&nbsp;&nbsp; group by type order by 2;</p>
<p>16. 监控 SGA 中重做日志缓存区的命中率，应该小于 1% </p>
<p><br />&nbsp;&nbsp;&nbsp; select name, gets, misses, immediate_gets, immediate_misses,</p>
<p>&nbsp;&nbsp;&nbsp; Decode(gets,0,0,misses/gets*100) ratio1,</p>
<p>&nbsp;&nbsp;&nbsp; Decode(immediate_gets+immediate_misses,0,0,</p>
<p>&nbsp;&nbsp;&nbsp; immediate_misses/(immediate_gets+immediate_misses)*100) ratio2</p>
<p>&nbsp;&nbsp;&nbsp; FROM v$latch WHERE name IN ('redo allocation', 'redo copy');</p>
<p>17. 监控内存和硬盘的排序比率，最好使它小于 .10 ，增加 sort_area_size</p>
<p>SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');</p>
<p>18. 监控字典缓冲区</p>
<p><br />select (sum(pins - reloads)) / sum(pins) "lib cache" from v$librarycache;</p>
<p>&nbsp;&nbsp;&nbsp; select (sum(gets - getmisses - usage - fixed)) / sum(gets) "row cache" from v$rowcache;</p>
<p>select sum(pins) "executions", sum(reloads) "cache misses while executing" from v$librarycache;</p>
<p>后者除以前者 , 此比率小于 1%, 接近 0% 为好</p>
<p>select sum(gets) "dictionary gets",sum(getmisses) "dictionary cache get misses"</p>
<p>from v$rowcache</p>
<p>19. 找 ORACLE 字符集 </p>
<p>&nbsp;&nbsp; select * from sys.props$ where name='NLS_CHARACTERSET';</p>
<p>20. 监控 MTS </p>
<p>&nbsp;&nbsp;&nbsp; select busy/(busy+idle) "shared servers busy" from v$dispatcher;</p>
<p>&nbsp;&nbsp;&nbsp; 此值大于 0.5 时，参数需加大</p>
<p>&nbsp;&nbsp; select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where type='dispatcher';</p>
<p>&nbsp;&nbsp;&nbsp; select count(*) from v$dispatcher;</p>
<p>&nbsp;&nbsp;&nbsp; select servers_highwater from v$mts;</p>
<p>&nbsp;&nbsp;&nbsp; servers_highwater 接近 mts_max_servers 时，参数需加大</p>
<p>21. 碎片程度 </p>
<p>&nbsp;&nbsp; select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_name</p>
<p>&nbsp;&nbsp;&nbsp; having count(tablespace_name)&gt;10;</p>
<p>&nbsp;&nbsp;&nbsp; alter tablespace name coalesce;</p>
<p>&nbsp;&nbsp;&nbsp; alter table name deallocate unused;</p>
<p>&nbsp;&nbsp;&nbsp; create or replace view ts_blocks_v as</p>
<p>&nbsp;&nbsp;&nbsp; select tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_space</p>
<p>&nbsp;&nbsp;&nbsp; union all</p>
<p>&nbsp;&nbsp;&nbsp; select tablespace_name,block_id,bytes,blocks,segment_name from dba_extents;</p>
<p>&nbsp;&nbsp;&nbsp; select * from ts_blocks_v;</p>
<p>&nbsp;&nbsp;&nbsp; select tablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_space</p>
<p>&nbsp;&nbsp;&nbsp; group by tablespace_name;</p>
<p>&nbsp;&nbsp;&nbsp; 查看碎片程度高的表</p>
<p>&nbsp;&nbsp; SELECT segment_name table_name , COUNT(*) extents</p>
<p>&nbsp;&nbsp;&nbsp; FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name</p>
<p>&nbsp;&nbsp;&nbsp; HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);</p>
<p>22. 表、索引的存储情况检查</p>
<p>&nbsp;&nbsp;&nbsp; select segment_name,sum(bytes),count(*) ext_quan from dba_extents where</p>
<p>tablespace_name='&amp;tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;</p>
<p>&nbsp;&nbsp;&nbsp; select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&amp;owner'</p>
<p>&nbsp;&nbsp;&nbsp; group by segment_name;</p>
<p>23 、找使用 CPU 多的用户 session</p>
<p>&nbsp;&nbsp;&nbsp; 12 是 cpu used by this session</p>
<p>&nbsp;&nbsp;&nbsp; select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,o<a title="SUSE" href="http://www.linuxidc.com/topicnews.aspx?tid=3">SUSE</a>r,value/60/100 value</p>
<p>&nbsp;&nbsp;&nbsp; from v$session a,v$process b,v$sesstat c</p>
<p>&nbsp;&nbsp;&nbsp; where c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr order by value desc;</p></div><img src ="http://www.blogjava.net/hwpok/aggbug/359154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-21 14:15 <a href="http://www.blogjava.net/hwpok/archive/2011/09/21/359154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载:学习Oracle动态性能表-(1)-V$SQLAREA</title><link>http://www.blogjava.net/hwpok/archive/2011/09/19/359015.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Mon, 19 Sep 2011 11:32:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/19/359015.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/359015.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/19/359015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/359015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/359015.html</trackback:ping><description><![CDATA[本视图持续跟踪所有shared pool中的共享cursor，在shared pool中的每一条SQL语句都对应一列。本视图在分析SQL语句资源使用方面非常重要。 
<p>V$SQLAREA中的信息列</p>
<p>HASH_VALUE：SQL语句的Hash值。<br />ADDRESS：SQL语句在SGA中的地址。<br />这两列被用于鉴别SQL语句，有时，两条不同的语句可能hash值相同。这时候，必须连同ADDRESS一同使用来确认SQL语句。<br />PARSING_USER_ID：为语句解析第一条CURSOR的用户<br />VERSION_COUNT：语句cursor的数量<br />KEPT_VERSIONS：<br />SHARABLE_MEMORY：cursor使用的共享内存总数<br />PERSISTENT_MEMORY：cursor使用的常驻内存总数<br />RUNTIME_MEMORY：cursor使用的运行时内存总数。<br />SQL_TEXT：SQL语句的文本（最大只能保存该语句的前1000个字符）。<br />MODULE,ACTION：使用了DBMS_APPLICATION_INFO时session解析第一条cursor时的信息</p>
<p>V$SQLAREA中的其它常用列</p>
<p>SORTS: 语句的排序数<br />CPU_TIME: 语句被解析和执行的CPU时间<br />ELAPSED_TIME: 语句被解析和执行的共用时间<br />PARSE_CALLS: 语句的解析调用(软、硬)次数<br />EXECUTIONS: 语句的执行次数<br />INVALIDATIONS: 语句的cursor失效次数<br />LOADS: 语句载入(载出)数量<br />ROWS_PROCESSED: 语句返回的列总数</p>
<p>V$SQLAREA中的连接列<br />Column&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;View&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Joined Column(s)<br />HASH_VALUE, ADDRESS&nbsp;&nbsp;V$SESSION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL_HASH_VALUE, SQL_ADDRESS<br />HASH_VALUE, ADDRESS&nbsp;&nbsp;V$SQLTEXT, V$SQL, V$OPEN_CURSOR&nbsp;HASH_VALUE, ADDRESS<br />SQL_TEXT&nbsp;&nbsp;&nbsp;&nbsp;V$DB_OBJECT_CACHE&nbsp;&nbsp;&nbsp;&nbsp;NAME</p>
<p>示例：<br />1.查看消耗资源最多的SQL：<br />SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls<br />&nbsp; FROM V$SQLAREA<br />&nbsp;WHERE buffer_gets &gt; 10000000 OR disk_reads &gt; 1000000<br />&nbsp;ORDER BY buffer_gets + 100 * disk_reads DESC;</p>
<p>2.查看某条SQL语句的资源消耗：<br />SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls<br />&nbsp; FROM V$SQLAREA<br />&nbsp;WHERE hash_Value = 228801498 AND address = hextoraw('CBD8E4B0');</p><img src ="http://www.blogjava.net/hwpok/aggbug/359015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-19 19:32 <a href="http://www.blogjava.net/hwpok/archive/2011/09/19/359015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>维护Oracle的几条语句</title><link>http://www.blogjava.net/hwpok/archive/2011/08/22/357014.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Mon, 22 Aug 2011 02:03:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/22/357014.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357014.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/22/357014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357014.html</trackback:ping><description><![CDATA[<div>1.创建表空间
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;tablespace&nbsp;out_data&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />logging&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />datafile&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">D:\oracle\oracle\product\10.2.0\oradata\outdata\out_data01.dbf</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />size&nbsp;32m&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />autoextend&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">next</span><span style="color: #000000">&nbsp;32m&nbsp;maxsize&nbsp;20480m;</span></div><br />2.创建用户并指定表空间<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">user</span><span style="color: #000000">&nbsp;sms_out&nbsp;identified&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;kk8713&nbsp;</span><span style="color: #0000ff">default</span><span style="color: #000000">&nbsp;tablespace&nbsp;out_data;</span></div><br /><br />3.为用户分配权限资源<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">grant</span><span style="color: #000000">&nbsp;connect,resource&nbsp;</span><span style="color: #0000ff">to</span><span style="color: #000000">&nbsp;sms_out;&nbsp;</span></div></div><br />4.导入导出数据1<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #ff00ff">exp</span><span style="color: #000000">&nbsp;test</span><span style="color: #808080">/</span><span style="color: #000000">kk1238713</span><span style="color: #008000">@mydata</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">file</span><span style="color: #808080">=</span><span style="color: #000000">d:\daochu.dmp&nbsp;owner</span><span style="color: #808080">=</span><span style="color: #000000">(test)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />imp&nbsp;em_test</span><span style="color: #808080">/</span><span style="color: #000000">test</span><span style="color: #808080">/</span><span style="color: #000000">kk1238713fromuser</span><span style="color: #808080">=</span><span style="color: #000000">test&nbsp;touser</span><span style="color: #808080">=</span><span style="color: #000000">em_test&nbsp;</span><span style="color: #0000ff">file</span><span style="color: #808080">=</span><span style="color: #000000">d:\daochu.dmp</span></div><br />5.导入导出数据2<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #ff00ff">exp</span><span style="color: #000000">&nbsp;test</span><span style="color: #808080">/</span><span style="color: #000000">kk871356</span><span style="color: #008000">@TEST</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">file</span><span style="color: #808080">=</span><span style="color: #000000">d:custome_data.dmp&nbsp;tables</span><span style="color: #808080">=</span><span style="color: #000000">(es_sms_customer)&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />imp&nbsp;test</span><span style="color: #808080">/</span><span style="color: #000000">kk871356</span><span style="color: #008000">@TEST</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">file</span><span style="color: #808080">=</span><span style="color: #000000">d:custome_data.dmp&nbsp;</span></div><img src ="http://www.blogjava.net/hwpok/aggbug/357014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-22 10:03 <a href="http://www.blogjava.net/hwpok/archive/2011/08/22/357014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查看Oracle数据库表空间大小 是否要增加表空间的数据文件</title><link>http://www.blogjava.net/hwpok/archive/2011/08/10/356240.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 10 Aug 2011 07:36:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/10/356240.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/356240.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/10/356240.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/356240.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/356240.html</trackback:ping><description><![CDATA[<p>标题：查看<span style="text-decoration: underline"><strong>Oracle</strong></span>数据库表空间大小，是否需要增加表空间的数据文件</p>
<p>在<span style="text-decoration: underline"><strong>数据库</strong></span><span style="text-decoration: underline"><strong>管理</strong></span>中，磁盘空间不足是DBA都会遇到的问题，问题比较常见。</p>
<p>&nbsp;</p>
<p><strong>--1查看表空间已经使用的百分比</strong></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;a.tablespace_name,a.bytes</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #000000">&nbsp;"</span><span style="color: #ff00ff">Sum</span><span style="color: #000000">&nbsp;MB",(a.bytes</span><span style="color: #808080">-</span><span style="color: #000000">b.bytes)</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;"used&nbsp;MB",b.bytes</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #000000">&nbsp;"free&nbsp;MB",</span><span style="color: #ff00ff">round</span><span style="color: #000000">(((a.bytes</span><span style="color: #808080">-</span><span style="color: #000000">b.bytes)</span><span style="color: #808080">/</span><span style="color: #000000">a.bytes)</span><span style="color: #808080">*</span><span style="color: #800000; font-weight: bold">100</span><span style="color: #000000">,</span><span style="color: #800000; font-weight: bold">2</span><span style="color: #000000">)&nbsp;"percent_used"&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;tablespace_name,</span><span style="color: #ff00ff">sum</span><span style="color: #000000">(bytes)&nbsp;bytes&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dba_data_files&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;tablespace_name)&nbsp;&nbsp;&nbsp;a,&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;tablespace_name,</span><span style="color: #ff00ff">sum</span><span style="color: #000000">(bytes)&nbsp;bytes,</span><span style="color: #ff00ff">max</span><span style="color: #000000">(bytes)&nbsp;largest&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dba_free_space&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;tablespace_name)&nbsp;&nbsp;&nbsp;b&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;a.tablespace_name</span><span style="color: #808080">=</span><span style="color: #000000">b.tablespace_name&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;((a.bytes</span><span style="color: #808080">-</span><span style="color: #000000">b.bytes)</span><span style="color: #808080">/</span><span style="color: #000000">a.bytes)&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">desc</span><span style="color: #000000">&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p>&#8220;Sum MB&#8221;表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小<br />&nbsp; 比如：test表空间有2个数据文件，datafile1为300MB，datafile2为400MB，那么test表空间的&#8220;Sum MB&#8221;就是700MB<br />&#8220;userd MB&#8221;表示表空间已经使用了多少<br />&#8220;free MB&#8221;表示表空间剩余多少<br />&#8220;percent_user&#8221;表示已经使用的百分比</p>
<p>&nbsp;</p>
<p><strong>--2比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上</strong>，可以查看该表空间总共有几个数</p>
<p>据文件，每个数据文件是否自动扩展，可以自动扩展的最大值。</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">file_name</span><span style="color: #000000">,tablespace_name,bytes</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #000000">&nbsp;"bytes&nbsp;MB",maxbytes</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #808080">/</span><span style="color: #800000; font-weight: bold">1024</span><span style="color: #000000">&nbsp;"maxbytes&nbsp;MB"&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;dba_data_files&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;tablespace_name</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">MLOG_NORM_SPACE</span><span style="color: #ff0000">'</span><span style="color: #000000">;&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p><strong>--- 查看 xxx 表空间是否为自动扩展</strong>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">file_id</span><span style="color: #000000">,</span><span style="color: #ff00ff">file_name</span><span style="color: #000000">,tablespace_name,autoextensible,increment_by&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dba_data_files&nbsp;</span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">file_id</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">desc</span><span style="color: #000000">;&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>--3比如MLOG_NORM_SPACE表空间</strong>目前的大小为19GB，但最大每个数据文件只能为20GB，数据文件快要写满，可以增加表空间的数据文件<br />用操作系统UNIX、Linux中的df&nbsp;&nbsp; -g命令(查看下可以使用的磁盘空间大小)<br />获取创建表空间的语句：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;dbms_metadata.get_ddl(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">TABLESPACE</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">MLOG_NORM_SPACE</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;dual;&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p><br /><strong>--4确认磁盘空间足够，增加一个数据文件</strong></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;tablespace&nbsp;&nbsp;&nbsp;MLOG_NORM_SPACE&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">add</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;datafile&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;size&nbsp;&nbsp;&nbsp;10M&nbsp;&nbsp;&nbsp;autoextend&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;maxsize&nbsp;&nbsp;&nbsp;20G&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br /><strong>--5验证已经增加的数据文件</strong></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">file_name</span><span style="color: #000000">,</span><span style="color: #ff00ff">file_id</span><span style="color: #000000">,tablespace_name&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;dba_data_files&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;tablespace_name</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">MLOG_NORM_SPACE</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>--6如果删除表空间数据文件，</strong>如下：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">alter</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;tablespace&nbsp;&nbsp;&nbsp;MLOG_NORM_SPACE&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;datafile&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;&nbsp;</span></div>
<p>&nbsp;<br /><br />转自<a href="http://space.itpub.net/12778571/viewspace-582695">http://space.itpub.net/12778571/viewspace-582695</a></p><img src ="http://www.blogjava.net/hwpok/aggbug/356240.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-10 15:36 <a href="http://www.blogjava.net/hwpok/archive/2011/08/10/356240.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>