﻿<?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-先学者为师-随笔分类-oracle</title><link>http://www.blogjava.net/kongji2008/category/41256.html</link><description>andy.kong的空间</description><language>zh-cn</language><lastBuildDate>Mon, 08 Feb 2010 22:37:47 GMT</lastBuildDate><pubDate>Mon, 08 Feb 2010 22:37:47 GMT</pubDate><ttl>60</ttl><item><title>mysql tips</title><link>http://www.blogjava.net/kongji2008/archive/2010/02/08/312342.html</link><dc:creator>andy.kong</dc:creator><author>andy.kong</author><pubDate>Mon, 08 Feb 2010 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/kongji2008/archive/2010/02/08/312342.html</guid><wfw:comment>http://www.blogjava.net/kongji2008/comments/312342.html</wfw:comment><comments>http://www.blogjava.net/kongji2008/archive/2010/02/08/312342.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kongji2008/comments/commentRss/312342.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kongji2008/services/trackbacks/312342.html</trackback:ping><description><![CDATA[<pre><br />
----首先在命令行下进入到mysql的bin目录，运行mysql -u root -p，然后输入密码<br />
----如果密码为空可以省略-p，另外这里还可以直接跟上数据库的名称，这样就不需要进入后再use 数据库名了。<br />
----如果忘记密码可以在google里搜索 mysql 命令 清空密码，资料一堆。<br />
---- http://dev.mysql.com/doc/refman/5.1/zh/index.html<br />
"mysql"bin&gt;mysql -u root -p<br />
Enter password:<br />
Welcome to the MySQL monitor.  Commands end with ; or "g.<br />
Your MySQL connection id is 64<br />
Server version: 5.0.51a Source distribution<br />
<br />
Type 'help;' or '"h' for help. Type '"c' to clear the buffer.<br />
----创建数据库<br />
mysql&gt; create database simplejee default character set gbk;<br />
Query OK, 1 row affected (0.06 sec)<br />
----切换到数据库<br />
mysql&gt; use simplejee;<br />
Database changed<br />
----将某个sql文件里的sql执行<br />
mysql&gt; set names utf8;//这里的编码要和你的sql文件的编码相一致。<br />
//要使得对有外键关系的表重新载入转储文件变得更容易，mysqldump自动在转储输出中包括一个语句设置FOREIGN_KEY_CHECKS为0。<br />
//这避免在转储被重新装载之时，与不得不被以特别顺序重新装载的表相关的问题。也可以手动设置这个变量：<br />
mysql&gt; SET FOREIGN_KEY_CHECKS = 0;<br />
mysql&gt; source c:/simplejee.sql;<br />
Query OK, 0 rows affected (0.00 sec)<br />
mysql&gt; SET FOREIGN_KEY_CHECKS = 1;<br />
----删除数据库<br />
mysql&gt; drop database simplejee;<br />
Query OK, 133 rows affected (3.95 sec)<br />
<br />
mysql&gt; create database simplejee;<br />
Query OK, 1 row affected (0.03 sec)<br />
<br />
mysql&gt; use simplejee;<br />
Database changed<br />
mysql&gt; source c:/simplejee0601_0738.sql;<br />
----从app_user表里查数据<br />
mysql&gt;select * from app_user;<br />
<br />
<br />
--导出数据 如果密码为空-p可以省略。注意导出是直接在命令行下。<br />
--如果中文乱码，可以根据情况加上诸如 --default-character-set=gbk的东东<br />
mysqldump -u root -p simplejee&gt;f:"t.sql<br />
</pre>
<img src ="http://www.blogjava.net/kongji2008/aggbug/312342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kongji2008/" target="_blank">andy.kong</a> 2010-02-08 16:32 <a href="http://www.blogjava.net/kongji2008/archive/2010/02/08/312342.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查重</title><link>http://www.blogjava.net/kongji2008/archive/2010/01/14/309478.html</link><dc:creator>andy.kong</dc:creator><author>andy.kong</author><pubDate>Thu, 14 Jan 2010 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/kongji2008/archive/2010/01/14/309478.html</guid><wfw:comment>http://www.blogjava.net/kongji2008/comments/309478.html</wfw:comment><comments>http://www.blogjava.net/kongji2008/archive/2010/01/14/309478.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kongji2008/comments/commentRss/309478.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kongji2008/services/trackbacks/309478.html</trackback:ping><description><![CDATA[insert into ABC (id,Name,Value) values('1','aaa','A');<br />
insert into ABC (id,Name,Value) values('2','aaa','A');<br />
insert into ABC (id,Name,Value) values('3','aaa','A');<br />
insert into ABC (id,Name,Value) values('4','aaa','A');<br />
<br />
<br />
select DISTINCT t.* from ABC t join ABC tt on t.id &lt;&gt; tt.id and t.name = tt.name;
<img src ="http://www.blogjava.net/kongji2008/aggbug/309478.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kongji2008/" target="_blank">andy.kong</a> 2010-01-14 17:18 <a href="http://www.blogjava.net/kongji2008/archive/2010/01/14/309478.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle tips</title><link>http://www.blogjava.net/kongji2008/archive/2010/01/06/308445.html</link><dc:creator>andy.kong</dc:creator><author>andy.kong</author><pubDate>Wed, 06 Jan 2010 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/kongji2008/archive/2010/01/06/308445.html</guid><wfw:comment>http://www.blogjava.net/kongji2008/comments/308445.html</wfw:comment><comments>http://www.blogjava.net/kongji2008/archive/2010/01/06/308445.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kongji2008/comments/commentRss/308445.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kongji2008/services/trackbacks/308445.html</trackback:ping><description><![CDATA[sqlplus /nolog<br />
<br />
sqlplus initinswell/longtop@INSWELL_LOCAL @e:\test.sql<br />
<br />
exp initinswell/longtop@INSWELL_LOCAL file=e:\inswell.dmp log=e:\inswell_exp.log<br />
<br />
imp initinswell/longtop@INSWELL_LOCAL file=e:\inswell.dmp log=e:\inswell_imp.log full=y ignore=y<br />
<br />
imp initinswell/longtop@INSWELL_LOCAL file=e:\inswell.dmp full=y indexfile=e:\index.sql<br />
<br />
create tablespace INSWELLSPAC<br />
&nbsp; logging<br />
&nbsp; datafile 'F:\env\oracle\product\10.2.0\oradata\inswell\INSWELLSPAC.DBF' <br />
&nbsp; size 500m <br />
&nbsp; autoextend on <br />
&nbsp; next 100m maxsize 2048m<br />
&nbsp; extent management local;<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/kongji2008/aggbug/308445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kongji2008/" target="_blank">andy.kong</a> 2010-01-06 15:06 <a href="http://www.blogjava.net/kongji2008/archive/2010/01/06/308445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查看oracle执行计划</title><link>http://www.blogjava.net/kongji2008/archive/2009/08/12/290770.html</link><dc:creator>andy.kong</dc:creator><author>andy.kong</author><pubDate>Wed, 12 Aug 2009 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/kongji2008/archive/2009/08/12/290770.html</guid><wfw:comment>http://www.blogjava.net/kongji2008/comments/290770.html</wfw:comment><comments>http://www.blogjava.net/kongji2008/archive/2009/08/12/290770.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/kongji2008/comments/commentRss/290770.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kongji2008/services/trackbacks/290770.html</trackback:ping><description><![CDATA[日常开发活动中，有时候需要对oracle执行计划进行监控，以此来调优程序和数据库方面的性能。<br />
<br />
常用方法有以下几种：<br />
<br />
一、通过PL/SQL Dev工具<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;1、直接File-&gt;New-&gt;Explain Plan Window，在窗口中执行sql可以查看计划结果。其中，Cost表示cpu的消耗，单位为n%，Cardinality表示执行的行数，等价Rows。<br />
<br />
&nbsp;&nbsp;&nbsp; 2、先执行 EXPLAIN PLAN FOR&nbsp;&nbsp; select * from tableA&nbsp;where paraA=1，再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的执行计划了，看到的结果和1中的一样，所以使用工具的时候推荐使用1方法。<br />
<br />
注意：PL/SQL Dev工具的Command window中不支持set autotrance on的命令。还有使用工具方法查看计划看到的信息不全，有些时候我们需要sqlplus的支持。<br />
<br />
<br />
二、通过sqlplus<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;1、一般情况都是本机链接远程服务器，所以命令如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlplus <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#47;&#112;&#119;&#100;&#64;&#79;&#82;&#67;&#76;&#91;&#49;&#57;&#50;&#46;&#49;&#54;&#56;&#46;&#54;&#46;&#49;&#57;">user/pwd@</a>serviceName<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此处的serviceName为tnsnames.ora中定义的命名空间。<br />
&nbsp;&nbsp;&nbsp;&nbsp;2、执行set autotrace on，然后执行sql语句，会列出以下信息：<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
。。。（省略一些信息）<br />
统计信息<br />
----------------------------------------------------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; recursive calls （归调用次数）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; db block gets&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp; consistent gets<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; physical reads （物理读——执行SQL的过程中，从硬盘上读取的数据块个数）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; redo size&nbsp;(重做数——执行SQL的过程中，产生的重做日志的大小)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 358&nbsp; bytes sent via SQL*Net to client<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 366&nbsp; bytes received via SQL*Net from client<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; SQL*Net roundtrips to/from client<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; sorts (memory)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在内存中发生的排序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; sorts (disk)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在硬盘中发生的排序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; rows processed<br />
<br />
省略部分信息和通过PL/SQL Dev工具查看执行计划的信息一样，下面的统计信息是更详细的。 <br />
<br />
判断SQL效率高低不关通过时间来衡量，还应该通过执行SQL执行状态里面的逻辑读的数量<br />
&nbsp;&nbsp;&nbsp; 逻辑读=（db block gets+ consistent gets） 
<img src ="http://www.blogjava.net/kongji2008/aggbug/290770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kongji2008/" target="_blank">andy.kong</a> 2009-08-12 10:49 <a href="http://www.blogjava.net/kongji2008/archive/2009/08/12/290770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>