﻿<?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-Habitat Framework-文章分类-Oracle</title><link>http://www.blogjava.net/hunteva/category/10082.html</link><description>专注于Java EE企业级开发</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 16:56:42 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 16:56:42 GMT</pubDate><ttl>60</ttl><item><title>Oracle10g XE 修改字符集 [转载]</title><link>http://www.blogjava.net/hunteva/articles/41347.html</link><dc:creator>Kerwin Weng</dc:creator><author>Kerwin Weng</author><pubDate>Sun, 16 Apr 2006 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/hunteva/articles/41347.html</guid><wfw:comment>http://www.blogjava.net/hunteva/comments/41347.html</wfw:comment><comments>http://www.blogjava.net/hunteva/articles/41347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hunteva/comments/commentRss/41347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hunteva/services/trackbacks/41347.html</trackback:ping><description><![CDATA[
		<div class="postbody">
				<p>Oracle 10g Express Edition --- Oracle的免费版本 Free to develop, deploy, and distribute...<br /><a href="http://www.oracle.com/technology/products/database/xe/index.html"><font color="#1d58d1">http://www.oracle.com/technology/products/database/xe/index.html</font></a><br /><br />修改Oracle 10g Express Edition的字符集 <br /><br />由于XE 安装后数据库的字符集是 WE8MSWIN1252，用 impdp 导入来自 Oracle 10g 的数据全部出现乱码。<br />尝试用 ALTER DATABASE CHARACTER SET ZHS16GBK; 将字符集调整为和 Oracle 10g 相同，却提示新字符集必须是老字符集的超集。<br />调整为 UTF8 也提示同样的信息。<br /><br />过去流传很广的直接修改sys用户下的PROPS$表的方法,也会给字符集的变更留下很多潜在的问题. </p>
				<p>不过在安装完Oracle XE后，可以在sqlplus(即Oracle XE的run SQL command line)中， 进行如下的操作来修改字符集： </p>
				<p>connect system/oracle9i as sysdba </p>
				<p>shutdown immediate </p>
				<p>startup mount </p>
				<p>alter system enable restricted session ; </p>
				<p>alter system set JOB_QUEUE_PROCESSES=0; </p>
				<p>alter system set AQ_TM_PROCESSES=0; </p>
				<p>alter database open ; </p>
				<p>alter database character set internal_use ZHS16GBK ; </p>
				<p>shutdown immediate </p>
				<p>startup </p>
				<p>这样字符集的修改就完成了<br /><br />转载地址:http://www.blogjava.net/terry-zj/archive/2006/01/28/29322.html</p>
		</div>
<img src ="http://www.blogjava.net/hunteva/aggbug/41347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hunteva/" target="_blank">Kerwin Weng</a> 2006-04-16 17:49 <a href="http://www.blogjava.net/hunteva/articles/41347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>优化SQL的方式 [转载]</title><link>http://www.blogjava.net/hunteva/articles/41346.html</link><dc:creator>Kerwin Weng</dc:creator><author>Kerwin Weng</author><pubDate>Sun, 16 Apr 2006 09:47:00 GMT</pubDate><guid>http://www.blogjava.net/hunteva/articles/41346.html</guid><wfw:comment>http://www.blogjava.net/hunteva/comments/41346.html</wfw:comment><comments>http://www.blogjava.net/hunteva/articles/41346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hunteva/comments/commentRss/41346.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hunteva/services/trackbacks/41346.html</trackback:ping><description><![CDATA[
		<p>信息系统访问量又不大，瓶颈一般不会出现在应用层，极有可能在数据库这一层，不用急着看程序。先找出逻辑读取次数最多的SQL，硬盘读取次数最多的SQL，找到SQL，对于SQL进行优化。看看有没有发生全表扫描的地方。 <br />一般发生全表扫描，极有可能是没有建立合理的索引，或者索引由于左边引用函数或其它原因造成索引失效。 <br />对于运行一年多的系统，最好要自己写一个自动重建索引的程序，定时重建索引。 <br />或者使用TOAD工具帮你重建索引。 </p>
		<p>另外在看一下数据库的CPU占用率，如果占用率在经常在80%－100%，那一定要是SQL或存储过程及trigger中写的不好。 </p>
		<p>不需要从应用层找SQL，方向性错误，太累，也看不出效果。 <br />而应当使用pl/SQL, toad等工具，分析出最bad的SQL语句，一看到这些语句后，再修改应用层的查询就是了。又快又方便。 </p>
		<p> </p>
		<p>-- 逻辑读多的SQL <br />select * from (select buffer_gets, sql_text <br />from v$sqlarea <br />where buffer_gets &gt; 500000 <br />order by buffer_gets desc) where rownum&lt;=30; </p>
		<p>-- 执行次数多的SQL <br />select sql_text,executions from <br />(select sql_text,executions from v$sqlarea order by executions desc) <br />where rownum&lt;81; </p>
		<p>-- 读硬盘多的SQL <br />select sql_text,disk_reads from <br />(select sql_text,disk_reads from v$sqlarea order by disk_reads desc) <br />where rownum&lt;21; </p>
		<p>-- 排序多的SQL <br />select sql_text,sorts from <br />(select sql_text,sorts from v$sqlarea order by sorts desc) <br />where rownum&lt;21; </p>
		<p>--分析的次数太多，执行的次数太少，要用绑变量的方法来写sql <br />set pagesize 600; <br />set linesize 120; <br />select substr(sql_text,1,80) "sql", count(*), sum(executions) "totexecs" <br />from v$sqlarea <br />where executions &lt; 5 <br />group by substr(sql_text,1,80) <br />having count(*) &gt; 30 <br />order by 2;<br />转载地址 <a href="http://forum.javaeye.com/viewtopic.php?t=19464"><font color="#1d58d1">http://forum.javaeye.com/viewtopic.php?t=19464</font></a></p>
<img src ="http://www.blogjava.net/hunteva/aggbug/41346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hunteva/" target="_blank">Kerwin Weng</a> 2006-04-16 17:47 <a href="http://www.blogjava.net/hunteva/articles/41346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>