<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Hey!! Sky!</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/" />
   <link rel="self" type="application/atom+xml" href="http://www.heysky.net/atom.xml" />
   <id>tag:www.heysky.net,2008://1</id>
   <updated>2008-03-19T15:19:32Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.34</generator>

<entry>
   <title>Where Amazing Happens</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2008/03/where_amazing_happens.html" />
   <id>tag:www.heysky.net,2008://1.894</id>
   
   <published>2008-03-19T15:09:42Z</published>
   <updated>2008-03-19T15:19:32Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;终于，火...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Hobby" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="74" label="NBA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="224" label="Rockets" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="55" label="Sports" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="16" label="Video" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;终于，火箭的连胜在今天被全联盟排名第一的凯尔特人终结，而且是大比分败下阵来。但这不影响球迷对火箭的喜爱，是时候该歇一歇为后面的常规赛甚至是季后赛做更好的准备了。
<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22 连胜，你们已经创造了奇迹，也许还会再继续创造奇迹。 Where Amazing Happens ...
<br><br>
<embed src="http://player.youku.com/player.php/sid/XMjEzNTEzMDg=/v.swf" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" align="middle" height="400" width="480"></embed> <br><br>]]>
      <![CDATA[<strong>关于 Where Amazing Happens</strong>
<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本赛季宣传片的配乐是一段淡雅疏朗的钢琴曲，令人倍感清新。这段曲子出自卡利·卡曼多（Carly Comando）之手，她是一位来自纽约布鲁克林的24岁女孩。实际上，这段钢琴曲并不是特意为NBA创造，而是一段网络视频的配乐。
<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该视频名为《每天》（Everyday），由一个名叫<a href="http://www.noahkalina.com/" target="_blank">诺阿·卡利纳（Noah Kalina）</a>的小伙子完成。他连续六年每天拍一张照片，然后把所有照片按照幻灯片的形式，浓缩在5分钟的视频内快速播放。这段视频在网络上名声大振，卡曼多主动为其配乐。
<br><br>
<embed src="http://player.youku.com/player.php/sid/XMTQxNzY3NjA=/v.swf" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" align="middle" height="400" width="480"></embed>
<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这位仁兄还在继续着他每天拍一张照片的 project，可以去看看他这个 project 的<a href="http://everyday.noahkalina.com/" target="_blank">主页</a>。
<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;另外，关于 Where Amazing Happens 的视频网上还有很多，不管是官方的还是网友自己制作的，有些挺搞笑的，可以去 youku 上<a href="http://so.youku.com/search_video/q_where%20amazing%20happens" target="_blank">看看</a>。]]>
   </content>
</entry>
<entry>
   <title>比 F4 还红的四人组合</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2008/02/better_than_f4.html" />
   <id>tag:www.heysky.net,2008://1.893</id>
   
   <published>2008-02-26T04:35:05Z</published>
   <updated>2008-07-02T15:55:11Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 没错，...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Hobby" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="222" label="四大天王" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p><a href="http://www.yupoo.com/photos/view?id=ff80808118408c8501185445f98a215e" target="_blank"><img src="http://pic.yupoo.com/sky1010/876885271d65/small.jpg" border="0" alt="四大天王" title="四大天王" width="240" height="138" align="left" /></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 没错，比 F4 还红，不知道 F4 在 40 多岁时会不会像他们这样红。在优酷上看到的这段四人同台的视频，不知道具体是哪一年的，不过从演唱的歌曲和郭富城的头型猜测，应该不会晚于 1994 年看看他们当年的表演吧，哈哈。</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="450" height="375"><param name="movie" value="http://player.youku.com/player.php/sid/XMzczNzc2NA==/v.swf" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="" /><embed src="http://player.youku.com/player.php/sid/XMzczNzc2NA==/v.swf" wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="375"></embed></object>&nbsp;</p><p>&nbsp;华仔的帅气，学友的歌声，郭富城的舞技，黎明的&hellip;&hellip;黎明的&hellip;&hellip;黎明的身高！完美的搭配：）</p>]]>
      
   </content>
</entry>
<entry>
   <title>根据指定栏位连接两个文件——join 命令</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2008/02/join_command_reference.html" />
   <id>tag:www.heysky.net,2008://1.892</id>
   
   <published>2008-02-25T09:29:31Z</published>
   <updated>2008-02-25T10:13:35Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 l...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="OS" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="171" label="Command" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="221" label="join" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="34" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="125" label="Unix" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 linux/unix 中可以使用 join 命令来连接两个文件。它会根据指定栏位，找到两个文件中指定栏位内容相同的行，将他们合并，并根据要求的格式输出内容。该命令对于比较两个文件的内容很有帮助。</p><strong>语法</strong> <blockquote>join [ -i ][ -a filenumber | -v filenumber ]&nbsp; [&nbsp; -1 fieldnumber&nbsp; ]<br />[&nbsp; -2 fieldnumber ]&nbsp; [ -o list ]&nbsp; [ -e string ]&nbsp; [ -t char ]<br />&nbsp;&nbsp;&nbsp;&nbsp; file1&nbsp; file2</blockquote><p><strong>主要参数</strong> </p><blockquote>-i 或 --igore-case&nbsp;&nbsp; 比较栏位内容时，忽略大小写的差异。<br />-a &lt;1或2&gt;&nbsp;&nbsp; 除了显示原来的输出内容之外，还显示指令文件中没有相同栏位的行。<br />-v &lt;1或2&gt;&nbsp;&nbsp; 跟-a相同，但是只显示文件中没有相同栏位的行。<br />-1/-j1 &lt;栏位&gt;&nbsp;&nbsp; 连接[文件1]指定的栏位。栏位从 1 开始，默认为1。<br />-2/-j2 &lt;栏位&gt;&nbsp;&nbsp; 连接[文件2]指定的栏位。栏位从 1 开始，默认为1。<br />-j &lt;栏位&gt; 相当于 -1 &lt;栏位&gt; -2 &lt;栏位&gt;<br />-e &lt;字符串&gt;&nbsp;&nbsp; 若[文件1]与[文件2]中找不到指定的栏位，则在输出中填入选项中的字符串。<br />-o &lt;格式&gt;&nbsp;&nbsp; 按照指定的格式来显示结果。<br />-t &lt;字符&gt;&nbsp;&nbsp; 使用栏位的分隔字符。<br />&nbsp;--help&nbsp;&nbsp; 显示帮助。<br />--version&nbsp;&nbsp; 显示版本信息。</blockquote><p><strong>实例</strong> </p><blockquote>oracle DBALNP01@lonespcmp1 &gt; cat&nbsp;timestamp_list_LNWASP1_pre.out.es<br />Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_QUEST_SMALL1_DATA_01.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_audits01.dbf<br />Feb 22 14:54 /data/oracle/LNWASP1/data1/LNWASP1_data01_01.dbf<br />Feb 22 14:54 /data/oracle/LNWASP1/data1/LNWASP1_index01_01.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_tools_01.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/data1/LNWASP1_users_01.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/index1/LNWASP1_sysaux02.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/index1/LNWASP1_sysaux03.dbf<br />Feb 22 14:54 /data/oracle/LNWASP1/redo1/LNWASP1_ctl_01.dbf<br />Feb 22 14:54 /data/oracle/LNWASP1/redo2/LNWASP1_ctl_02.dbf<br />Feb 22 14:54 /data/oracle/LNWASP1/redo3/LNWASP1_ctl_03.dbf<br />Feb 22 14:54 /data/oracle/LNWASP1/rollback/LNWASP1_undotbs01.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/system/LNWASP1_sysaux01.dbf<br />Feb 22 14:53 /data/oracle/LNWASP1/system/LNWASP1_system01.dbf<br />Feb 22 05:06 /data/oracle/LNWASP1/temp/LNWASP1_temp01.dbf<br />(/apps/oracle/scripts/ADHOC/DOBCPFILETSCHECK/tmp)<br />oracle DBALNP01@lonespcmp1 &gt; cat timestamp_list_LNWASP1_post.out.es<br />Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_QUEST_SMALL1_DATA_01.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_audits01.dbf<br />Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_data01_01.dbf<br />Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_index01_01.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_tools_01.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_users_01.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux02.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux03.dbf<br />Feb 22 14:58 /data/oracle/LNWASP1/redo1/LNWASP1_ctl_01.dbf<br />Feb 22 14:58 /data/oracle/LNWASP1/redo2/LNWASP1_ctl_02.dbf<br />Feb 22 14:58 /data/oracle/LNWASP1/redo3/LNWASP1_ctl_03.dbf<br />Feb 22 14:58 /data/oracle/LNWASP1/rollback/LNWASP1_undotbs01.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_sysaux01.dbf<br />Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_system01.dbf<br />Feb 22 05:06 /data/oracle/LNWASP1/temp/LNWASP1_temp01.dbf<br />(/apps/oracle/scripts/ADHOC/DOBCPFILETSCHECK/tmp)<br />oracle DBALNP01@lonespcmp1 &gt; join -1 4 -2 4 -o 1.1 1.2 1.3 2.1 2.2 2.3 2.4 timestamp_list_LNWASP1_pre.out.es timestamp_list_LNWASP1_post.out.es<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_QUEST_SMALL1_DATA_01.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_audits01.dbf<br />Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_data01_01.dbf<br />Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/data1/LNWASP1_index01_01.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_tools_01.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/data1/LNWASP1_users_01.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux02.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/index1/LNWASP1_sysaux03.dbf<br />Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/redo1/LNWASP1_ctl_01.dbf<br />Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/redo2/LNWASP1_ctl_02.dbf<br />Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/redo3/LNWASP1_ctl_03.dbf<br />Feb 22 14:54 Feb 22 14:58 /data/oracle/LNWASP1/rollback/LNWASP1_undotbs01.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_sysaux01.dbf<br />Feb 22 14:53 Feb 22 14:57 /data/oracle/LNWASP1/system/LNWASP1_system01.dbf<br />Feb 22 05:06 Feb 22 05:06 /data/oracle/LNWASP1/temp/LNWASP1_temp01.dbf</blockquote><p><strong>参考<br /><br /></strong><a href="http://www.linuxmanpages.com/man1/join.1.php" target="_blank">http://www.linuxmanpages.com/man1/join.1.php</a><br /><a href="http://www.allwiki.com/index.php?title=Linux%E5%91%BD%E4%BB%A4:Join&amp;variant=zh-cn" target="_blank">http://www.allwiki.com/index.php?title=Linux%E5%91%BD%E4%BB%A4:Join&amp;variant=zh-cn</a></p>]]>
      
   </content>
</entry>
<entry>
   <title>亲娘的，水怎么还没开？</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2008/01/vivian_thinking.html" />
   <id>tag:www.heysky.net,2008://1.891</id>
   
   <published>2008-01-11T14:38:02Z</published>
   <updated>2008-01-11T14:47:04Z</updated>
   
   <summary></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="220" label="Fun" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="30" label="Vivian" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<a href="http://pic.yupoo.com/sky1010/031794eb02da/hlfhh9p3.jpg" target="_blank"><img src="http://pic.yupoo.com/sky1010/031794eb02da/medium.jpg" border="0" alt="Thinking" title="Thinking" width="500" height="334" align="middle" /></a>]]>
      
   </content>
</entry>
<entry>
   <title>Differences Between Rowid &amp; Primary Key Materialized Views</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/11/diffs_between_rowid_pk_mviews.html" />
   <id>tag:www.heysky.net,2007://1.889</id>
   
   <published>2007-11-16T12:39:06Z</published>
   <updated>2007-11-16T11:48:43Z</updated>
   
   <summary><![CDATA[&nbsp; &nbsp; &nbsp;&nbsp; 物化视图有两种不同的刷新方...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Database" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="211" label="mlog" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="196" label="mview" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="4" label="Oracle" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp; &nbsp; &nbsp;&nbsp; 物化视图有两种不同的刷新方式，其中的 FAST REFRESH 对于数据仓库型的数据库相当于有用，它只将上一次刷新之后修改的数据刷新到本地。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要使用 FAST REFRESH 必须在 MASTER 表上建立物化视图日志，用于记录对 MASTER 表的修改。Oracle 用两种方式来定位被修改的行，一种是 ROWID，一种是 Primary Key。在 Oracle 8 之前，只有 ROWID 这种方式被支持，从 Oracle 8 开始 Primary Key 方式开始被支持，并成为了默认方式。而为了向前兼容，ROWID 的方式也被保留。下面看看两种不同类型物化视图在创建过程中都做了些什么，有什么不同。</p><p><strong>基于 ROWID 的物化视图</strong></p><blockquote>SQL&gt; create table skytest(a number primary key);<p>Table created.</p><p>SQL&gt; create materialized view log on skytest with rowid;</p><p>Materialized view log created.</p><p>SQL&gt; select object_name,object_type from user_objects<br />&nbsp; 2&nbsp; where object_name like &#39;%SKYTEST%&#39;;</p><p>OBJECT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_TYPE<br />------------------------------ ------------------<br />MLOG$_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE</p><p>SQL&gt; create materialized view MV_SKYTEST<br />&nbsp; 2&nbsp; REFRESH FAST<br />&nbsp; 3&nbsp; as<br />&nbsp; 4&nbsp; select * from skytest;<br />select * from skytest<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br />ERROR at line 4:<br />ORA-23415: snapshot log for &quot;ORACLE&quot;.&quot;SKYTEST&quot; does not record the primary key</p></blockquote><p><font color="#000000">Oracle 8 开始默认使用 Primary Key 方式。</font></p>]]>
      <![CDATA[<blockquote>SQL&gt; create materialized view MV_SKYTEST<br />&nbsp; 2&nbsp; REFRESH FAST<br />&nbsp; 3&nbsp; with rowid<br />&nbsp; 4&nbsp; as<br />&nbsp; 5&nbsp; select * from skytest;<p>Materialized view created.</p><p>SQL&gt; select object_name,object_type from user_objects<br />&nbsp; 2&nbsp; where object_name like &#39;%SKYTEST%&#39;;</p><p>OBJECT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_TYPE<br />------------------------------ ------------------<br />I_SNAP$_MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INDEX<br />MLOG$_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDEFINED<br />SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE</p></blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以看到除了多了物化视图 MV_SKYTEST 之外，还多了一个索引 I_SNAP$_MV_SKYTEST 和一个表 MLOG$_SKYTEST</p><blockquote>SQL&gt; desc MLOG$_SKYTEST<br />&nbsp;Name&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; Null?&nbsp;&nbsp;&nbsp; Type<br />&nbsp;------------------------------------------- -------- -------------------<br />&nbsp;M_ROW$$&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; VARCHAR2(255)<br />&nbsp;SNAPTIME$$&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; DATE<br />&nbsp;DMLTYPE$$&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; VARCHAR2(1)<br />&nbsp;OLD_NEW$$&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; VARCHAR2(1)<br />&nbsp;CHANGE_VECTOR$$&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; RAW(255)</blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MLOG$_SKYTEST 表中记录了主表上修改的记录，M_ROW$$ 保存主表上修改行的 ROWID，这样可以定位修改的行。</p><blockquote>SQL&gt; select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS,STATUS,GENERATED from dba_indexes<br />&nbsp; 2&nbsp; where index_name=&#39;I_SNAP$_MV_SKYTEST&#39;;<p>INDEX_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INDEX_TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIQUENES STATUS&nbsp;&nbsp; G<br />------------------------------ --------------------------- ------------------------------ --------- -------- -<br />I_SNAP$_MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NORMAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIQUE&nbsp;&nbsp;&nbsp; VALID&nbsp;&nbsp;&nbsp; N</p><p>SQL&gt; select table_name,index_name,column_name from dba_ind_columns<br />&nbsp; 2&nbsp; where index_name=&#39;I_SNAP$_MV_SKYTEST&#39;;</p><p>TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INDEX_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COLUMN_NAME<br />------------------------------ ------------------------------ ------------------------------<br />MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I_SNAP$_MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M_ROW$$</p><p>SQL&gt; select table_name,column_name from dba_tab_columns<br />&nbsp; 2&nbsp; where table_name=&#39;MV_SKYTEST&#39;;</p><p>TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COLUMN_NAME<br />------------------------------ ------------------------------<br />MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</p></blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I_SNAP$_MV_SKYTEST 是建立在物化视图 MV_SKYTEST 中 M_ROW$$ 隐藏列上的唯一索引，该列正是保存了主表上对应行的 ROWID 值，建立该索引应该是为了提高刷新的性能。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外一个类型为 UNDEFINED，名字和物化视图一样的东东不知道是干吗的。</p><p><br /><strong>基于 Primary Key 的物化视图</strong></p><blockquote>SQL&gt; drop materialized view MV_SKYTEST;<p>Materialized view dropped.</p><p>SQL&gt; drop materialized view log on SKYTEST;</p><p>Materialized view log dropped.</p><p>SQL&gt; select object_name,object_type from user_objects<br />&nbsp; 2&nbsp; where object_name like &#39;%SKYTEST%&#39;;</p><p>OBJECT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_TYPE<br />------------------------------ ------------------<br />SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE</p><p>SQL&gt; create materialized view log on SKYTEST;</p><p>Materialized view log created.</p><p>SQL&gt; select object_name,object_type from user_objects<br />&nbsp; 2&nbsp; where object_name like &#39;%SKYTEST%&#39;;</p><p>OBJECT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_TYPE<br />------------------------------ ------------------<br />MLOG$_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />RUPD$_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE</p><p>SQL&gt; create materialized view MV_SKYTEST<br />&nbsp; 2&nbsp; REFRESH FAST<br />&nbsp; 3&nbsp; as<br />&nbsp; 4&nbsp; select * from skytest;</p><p>Materialized view created.</p><p>SQL&gt; select object_name,object_type from user_objects<br />&nbsp; 2&nbsp; where object_name like &#39;%SKYTEST%&#39;;</p><p>OBJECT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_TYPE<br />------------------------------ ------------------<br />MLOG$_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDEFINED<br />RUPD$_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE<br />SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE</p><p>SQL&gt; desc MLOG$_SKYTEST<br />&nbsp;Name&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;&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; Null?&nbsp;&nbsp;&nbsp; Type<br />&nbsp;----------------------------------------------------------------------------------- -------- --------------------------------------------------------<br />&nbsp;A&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;&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; NUMBER<br />&nbsp;SNAPTIME$$&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;&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; DATE<br />&nbsp;DMLTYPE$$&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;&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; VARCHAR2(1)<br />&nbsp;OLD_NEW$$&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;&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; VARCHAR2(1)<br />&nbsp;CHANGE_VECTOR$$&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAW(255)</p><p>SQL&gt; desc RUPD$_SKYTEST<br />&nbsp;Name&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;&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; Null?&nbsp;&nbsp;&nbsp; Type<br />&nbsp;----------------------------------------------------------------------------------- -------- --------------------------------------------------------<br />&nbsp;A&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;&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; NUMBER<br />&nbsp;DMLTYPE$$&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;&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; VARCHAR2(1)<br />&nbsp;SNAPID&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;&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; NUMBER(38)<br />&nbsp;CHANGE_VECTOR$$&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAW(255)</p></blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此时 mlog 中保存了 Primary Key。RUPD$_ 开头的表用于可更新的基于 Primary Key 的物化视图。</p><blockquote>SQL&gt; select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS,STATUS,GENERATED from dba_indexes<br />&nbsp; 2&nbsp; where table_name in (&#39;SKYTEST&#39;,&#39;MV_SKYTEST&#39;);&nbsp;<p>INDEX_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INDEX_TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIQUENES STATUS&nbsp;&nbsp; G<br />------------------------------ --------------------------- ------------------------------ --------- -------- -<br />SYS_C001221&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NORMAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIQUE&nbsp;&nbsp;&nbsp; VALID&nbsp;&nbsp;&nbsp; Y<br />SYS_C001224&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NORMAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MV_SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIQUE&nbsp;&nbsp;&nbsp; VALID&nbsp;&nbsp;&nbsp; Y</p><p>SQL&gt; select CONSTRAINT_NAME,CONSTRAINT_TYPE,DEFERRABLE,DEFERRED,GENERATED from dba_constraints<br />&nbsp; 2&nbsp; where table_name in (&#39;SKYTEST&#39;,&#39;MV_SKYTEST&#39;);</p><p>CONSTRAINT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C DEFERRABLE&nbsp;&nbsp;&nbsp;&nbsp; DEFERRED&nbsp; GENERATED<br />------------------------------ - -------------- --------- --------------<br />SYS_C001221&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P NOT DEFERRABLE IMMEDIATE GENERATED NAME<br />SYS_C001224&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P NOT DEFERRABLE IMMEDIATE GENERATED NAME</p></blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 同时，Oracle 也会在物化视图上建立相应的 Primary Key。不过对此我比较疑惑，由于刷新机制的缘故，Oracle 是不建议在物化视图上使用 Primary/Unique constraint 的，而建议使用 non unique index + deferred constraint 的形式，参见：Note:284101.1</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后要说明的是，在创建物化视图日志时可以同时指定 WITH ROWID 和 WITH PRIMARY KEY。此时，在物化视图日志中两者都会保存，但最终物化视图是哪种类型的则是在创建物化视图时决定（只能指定 WITH ROWID 和 WITH PRIMARY KEY 其中一个）。如果所有的物化视图都是同一种类型的，那么建议在创建物化视图时也只指定那一种类型，可以减少空间消耗提高刷新性能。</p><p><strong>参考：<br /></strong><br /><a href="http://www.oracle-training.cc/rep_57.htm" target="_blank">Oracle materialized view mlog$ table</a> <a href="http://www.oracle-training.cc/rep_57.htm"><br /></a></p><p>Differences Between Rowid &amp; Primary Key Materialized Views<br />Note:254593.1</p><p>Fast Refresh Causing ORA-1/ORA-2291/ORA-2292, Complete Refresh Works Fine<br />Note:284101.1</p>]]>
   </content>
</entry>
<entry>
   <title>exp query 参数的格式</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/09/exp_query_format.html" />
   <id>tag:www.heysky.net,2007://1.881</id>
   
   <published>2007-09-12T03:41:07Z</published>
   <updated>2007-09-12T04:50:53Z</updated>
   
   <summary>昨天需要按照条件导出一个表，再导入另一个数据库，很自然想到了 exp 的 que...</summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Database" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="187" label="exp/imp" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="4" label="Oracle" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="188" label="query" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>昨天需要按照条件导出一个表，再导入另一个数据库，很自然想到了 exp 的 query 参数，本来以为可以很顺利完成，结果 query 参数的格式怎么也写不对，因为时间紧迫，最后通过 dblink 直接插入了另一个数据库。今天回过头来再研究了一下，发现其实也不复杂，按照文档还是能很好的解决的。</p><p>希望导出测试表中日期为 2007-09-22 的一条数据：</p><blockquote>SQL&gt; select * from skytest; <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SID DT<br />---------- -----------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 20070913 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 20070914 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 20070915 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 20070916 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 20070917 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 20070918 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7 20070919 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8 20070920 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9 20070921 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 20070922 00:00:00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 20070924 00:00:00<br /><br />11 rows selected.</p></blockquote><p>凭印象按照以下格式运行： </p><blockquote>exp / tables=skytest file=test.dmp query=\&quot;where dt=to_date(\&#39;2007-09-22\&#39;,\&#39;yyyy-mm-dd\&#39;)\&quot;</blockquote>结果报错： <blockquote>ksh: syntax error: `(&#39; unexpected</blockquote><p>其实文档中讲得很清楚： </p><blockquote>exp scott/tiger TABLES=emp QUERY=\&quot;WHERE job=\&#39;SALESMAN\&#39; and sal \&lt;1600\&quot;</blockquote><blockquote>Note: <br />Because the value of the QUERY parameter contains blanks, most operating systems require that the entire strings WHERE job=\&#39;SALESMAN\&#39; and sal\&lt;1600 be placed in double quotation marks or marked as a literal by some method. <font color="#ff0000">Operating system reserved characters also need to be preceded by an escape character.</font> See your Oracle operating system-specific documentation for information about special and reserved characters on your system.</blockquote><p>所有操作系统保留字符都要使用转义符号，看来 ( ) 也需要转义。</p><p>正确的写法： </p><blockquote>oracle DBALNP01 &gt; exp / tables=skytest file=test.dmp query=\&quot;where dt=to_date\(\&#39;2007-09-22\&#39;,\&#39;yyyy-mm-dd\&#39;\)\&quot; <p>Export: Release 8.1.7.4.0 - Production on Wed Sep 12 04:30:45 2007</p><p>(c) Copyright 2000 Oracle Corporation.&nbsp; All rights reserved.</p><p><br />Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production<br />With the Partitioning option<br />JServer Release 8.1.7.4.0 - Production<br />Export done in US7ASCII character set and US7ASCII NCHAR character set</p><p>About to export specified tables via Conventional Path ...<br />. . exporting table&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 rows exported<br />Export terminated successfully without warnings.</p></blockquote><p>简洁的写法：<br />如果环境变量设置合适，就不需要使用 to_date 函数了 </p><blockquote>oracle DBALNP01 &gt; exp / tables=skytest file=test.dmp query=\&quot;where dt=\&#39;20070922\&#39;\&quot; <p>Export: Release 8.1.7.4.0 - Production on Wed Sep 12 04:25:56 2007</p><p>(c) Copyright 2000 Oracle Corporation.&nbsp; All rights reserved.</p><p><br />Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production<br />With the Partitioning option<br />JServer Release 8.1.7.4.0 - Production<br />Export done in US7ASCII character set and US7ASCII NCHAR character set</p><p>About to export specified tables via Conventional Path ...<br />. . exporting table&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 rows exported<br />Export terminated successfully without warnings.</p></blockquote><p>任何 os 平台都适用的方法（推荐）：<br />以上两种方法并不一定适合其他操作系统，不过使用 parfile 就不用担心这些格式问题 </p><blockquote>oracle DBALNP01 &gt; cat &gt; test.par<br />tables=skytest<br />file=test.dmp<br />query=&quot;where dt=to_date(&#39;2007-09-22&#39;,&#39;yyyy-mm-dd&#39;)&quot; <p>oracle DBALNP01 &gt; exp / parfile=test.par</p><p>Export: Release 8.1.7.4.0 - Production on Wed Sep 12 04:22:27 2007</p><p>(c) Copyright 2000 Oracle Corporation.&nbsp; All rights reserved.</p><p><br />Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production<br />With the Partitioning option<br />JServer Release 8.1.7.4.0 - Production<br />Export done in US7ASCII character set and US7ASCII NCHAR character set</p><p>About to export specified tables via Conventional Path ...<br />. . exporting table&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SKYTEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 rows exported<br />Export terminated successfully without warnings.</p></blockquote><p>不需要任何转义符既简洁又可以在多种操作系统平台上通用，推荐使用这种方式。</p><p>参考：<a href="http://www.itpub.net/683793.html">http://www.itpub.net/683793.html</a></p>]]>
      
   </content>
</entry>
<entry>
   <title>在 vi 中替换字符串</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/07/how_to_replace_in_vi.html" />
   <id>tag:www.heysky.net,2007://1.880</id>
   
   <published>2007-07-25T16:07:08Z</published>
   <updated>2007-07-25T17:20:28Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vi/...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="OS" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="34" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="123" label="Solaris" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="185" label="vi" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换，今天发现该命令有很多种写法（vi 真是强大啊，还有很多需要学习），记录几种在此，方便以后查询。</p><blockquote>:s/vivian/sky/ 替换当前行第一个 vivian 为 sky<br />:s/vivian/sky/g 替换当前行所有 vivian 为 sky<br /><br />:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky<br />:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky<br />n 为数字，若 n 为 .，表示从当前行开始到最后一行<br /><br />:%s/vivian/sky/（等同于 :g/vivian/s//sky/） 替换每一行的第一个 vivian 为 sky<br />:%s/vivian/sky/g（等同于 :g/vivian/s//sky/g） 替换每一行中所有 vivian 为 sky<br /><br />可以使用 # 作为分隔符，此时中间出现的 / 不会作为分隔符<br />:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/</blockquote>]]>
      
   </content>
</entry>
<entry>
   <title>又过生日</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/06/2007_birthday.html" />
   <id>tag:www.heysky.net,2007://1.879</id>
   
   <published>2007-06-23T15:23:23Z</published>
   <updated>2007-06-23T21:49:42Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 刚刚没...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="2" label="Birthday" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="25" label="Life" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="184" label="Work" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 刚刚没头没脑得忙了一阵，抽空上来转转。2007 年的生日就快过去，没有任何节目，和平常没有任何分别，可能唯一的不同就是今天第一次上通宵 night shift。说来也奇怪，开始还有点小兴奋，很早就赶到公司来了，可能第一次上比较新鲜吧，不过熬到现在的确有点累了。今天一大早就起来开始忙活了，下午想补个觉，却一直无法睡着，处于假寐状态。不过现在倒也不觉得困，只是头有点晕。现在的身体状态真的越来越差了，老是觉得疲惫，真的老了，这不又不知不觉地老了一岁。刚看到新闻，侯耀文同志就这样不知不觉地去了，不知道俺啥时候也就这样，平平淡淡地去了&hellip;&hellip;</p>]]>
      
   </content>
</entry>
<entry>
   <title>口吃、口语、口音</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/06/english_in_life.html" />
   <id>tag:www.heysky.net,2007://1.878</id>
   
   <published>2007-06-19T16:13:41Z</published>
   <updated>2007-06-19T17:32:56Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &ld...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="English" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Life" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="10" label="English" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="25" label="Life" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="184" label="Work" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &ldquo;Hi, Espears DBA, Sky speaking!&rdquo; 这是进公司将近三个月说得最多的一句英语，每次接 hotline 都要先自报家门。不过这看起来简单的 5 个单词，连起来之后总觉得像绕口令，老是说不清楚，每次说完了之后连自己都想笑，还好老外都比较有礼貌，到现在为止还没有被嘲笑过。感觉越急越口吃，现在干脆一个一个单词慢慢说，说清楚了才是最重要的，哈哈。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以前常在网上看到一些老外生活中常用口语，短小精干，却很有用。但这些流传的所谓流行口语又有多少人去验证过呢？也不知道是啥年代总结的，现在还流不流行？很少看原版的英语连续剧，太懒了，也没机会从中学到一些。不过进公司几个月来发现两个词英国人（只是英国也许也包括一些英联邦国家，比如澳大利亚，老美用不用就不知道了）用得很多，一个是 cheers，另一个是 cool。Cheers 这个词，中国人都很熟悉，不过也经常误会，cheers 是举杯敬酒之意，但并不一定要干杯，也许碰杯更合适一些，而 bottom up 和中文的干杯比较接近。不过，英国人在平时经常说 cheers，不要以为他们都好酒，其实在英国英语中 cheers 有感谢或者再见的意思，我之前百思不得其解，怎么每次电话会议结束时，那几个老外都要说 cheers，后来看了 <a href="http://www.waze.net/" target="_blank">Todd</a>  关于 <a href="http://www.waze.net/laihua/archives/000058.html" target="_blank">Cheers 的解释</a>总算明白了，哈哈，还好没丢人。至于另一个词 cool 中国人就更加熟悉了，不就是&ldquo;酷&rdquo;么，这个词都快被中国人用烂了，我之前以为老外并不会很频繁的用这个词，没想到用的频率不必中国人少，不过意思还是有些差别。当然这里说的肯定不是 cool 的本意，中国人经常用 cool 来形容人外表英俊、帅气，但却有点冷，表情不多，不容易接近，老外好像不用来形容人（不确定有没有，到现在还没听到过），一般都是形容事情进展得顺利，也可以翻译成叹词，太好了、太棒了之类的，反正对于好的事情，说句 cool 肯定没错。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 口音是最让人受不了的，我们的 dba manager 是 Newcastle 的，口音重得要命，我本来听力就烂，再加上一口 Newcastle 英语，要听懂真是难上加难。其中最大的特色就是把 ^ 发成 u，比如 but [b^t] 发成 [but]，把&nbsp; run [r^n] 发成 [run]，真是闻所未闻，要是没有人告诉我一下恐怕一辈子都听不懂，哈哈。</p>]]>
      
   </content>
</entry>
<entry>
   <title>SQL*PLUS 格式化输出</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/06/sqlplus_format_output.html" />
   <id>tag:www.heysky.net,2007://1.877</id>
   
   <published>2007-06-15T14:22:50Z</published>
   <updated>2007-06-15T15:47:57Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需要写...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Database" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="4" label="Oracle" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="182" label="SQLPLUS" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需要写一个简单的脚本，将所有数据文件、控制文件、在线日志文件等输出到一个文件中，一口气写完之后，发现输出结果中每行之间都有一空行，非常不爽，研究了一下 sqlplus 的设置参数之后解决了问题，把几个常用的参数在这里做一个小结，方便以后查询。</p><blockquote>set echo on/off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否显示脚本中的需要执行的命令 <br />set feedback on/off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否显示 select 结果之后返回多少行的提示<br />set linesize n&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; 设置一行最多显示多少字符，之前就是因为 n 设得过大，导致行与行之间有空白行<br />set termout on/off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在执行脚本时是否在屏幕上输出结果，如果 spool 到文件可以将其关闭<br />set heading on/off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否显示查询结果的列名，如果设置为 off，将用空白行代替，如果要去除该空白行，可以用 set pagesize 0<br />set pagesize n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置每页的行数，将 n 设为 0 可以不显示所有 headings, page breaks, titles, the initial blank line, and other formatting information<br />set&nbsp; trimspool on/off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 spool 到文件时是否去除输出结果中行末尾的空白字符，之前的隔行可以用该参数去掉，和该参数对应的是 trimout，后者用于屏幕输出<br />set trimout on/off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否去掉屏幕上输出结果行末尾的空白字符</blockquote>]]>
      
   </content>
</entry>
<entry>
   <title>UNIX 的时间和时区</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/06/unix_date_timezone.html" />
   <id>tag:www.heysky.net,2007://1.875</id>
   
   <published>2007-06-13T07:18:59Z</published>
   <updated>2007-06-13T07:28:02Z</updated>
   
   <summary><![CDATA[时间&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="OS" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="120" label="Date" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="123" label="Solaris" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="20" label="TimeZone" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="125" label="Unix" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p><strong>时间</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所有 UNIX 系统都采用格林威治时间从1970-01-01午夜后开始计算的微秒数来保存时间，这一日期通常称为 epoch，正值表示为 1970 以后，负值则表示 1970 年以前。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 时间刷新频率由 /usr/include/sys/param.h 中的 HZ 常量决定，该值决定了系统的时间精度，在 Solaris 中的定义：</p><blockquote>#define HZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((clock_t)_sysconf(_SC_CLK_TCK))<br />_SC_CLK_TCK 表示每秒的 clock ticks 数，也称为嘀嗒数</blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于所有 UNIX 系统都按照 epoch 来计算时间，对于 32bit 的 UNIX 系统时间范围为 1901.9042 ~ 2038.0958，这可能造成系统或者应用程序的问题，参考 eygle 的文章：<br /><a href="http://www.eygle.com/archives/2007/03/linuxunix_timer.html" target="_blank">Oracle与Linux/Unix下的时间处理 </a><br /><a href="http://www.eygle.com/archives/2004/11/job_can_not_execute_auto.html" target="_blank">Oracle诊断案例-Job任务停止执行</a> <p><br /><strong>时区<br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TZ 环境变量保存当前时区，在安装系统过程会要求设置一个默认时区。/usr/lib/zoneinfo 目录和其子目录中保存了所有支持的时区信息（Solaris 时区信息保存在 /usr/share/lib/zoneinfo 中）。TZ 环境变量的值必须包含在这些时区文件中，如果设置错误将会被重置为格林威治标准时间。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 Solaris 中可以通过修改 /etc/default/init 文件中的 TZ 值来修改默认的时区。为了兼容早期版本，可以为该文件建立一个字符连接：/etc/TIMEZONE。该文件的格式为每行一条 VAR=value，VAR 必须是 TZ, LANG, CMASK 和任何 LC_* 环境变量。<br />参考：<a href="http://bbs.chinaunix.net/viewthread.php?tid=877273">http://bbs.chinaunix.net/viewthread.php?tid=877273</a></p><p><strong>显示时间</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所有 UNIX 系统中都有 date 程序，用来显示系统时钟。date 程序会根据 TZ 环境变量显示合适的时间。</p><blockquote>oracle DBALNP01 &gt; echo $TZ<br />GB-Eire<br />oracle DBALNP01 &gt; date<br />Wed Jun 13 07:54:38 BST 2007<br />oracle DBALNP01 &gt; TZ=PRC<br />oracle DBALNP01 &gt; echo $TZ<br />PRC<br />oracle DBALNP01 &gt; date<br />Wed Jun 13 14:55:04 CST 2007</blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此外，可以指定 date 的显示格式，语法：<br /><blockquote>date + format</blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中 format 必须是一个词，所以对于包含空白的 format 参数需要用引号包起来<br /><blockquote>oracle DBALNP01 &gt; date +%y%m%d<br />070613</blockquote>format 参数可以参考：<br /><a href="http://www.heysky.net/digest/2007/04/date_format.html">http://www.heysky.net/digest/2007/04/date_format.html</a>]]>
      
   </content>
</entry>
<entry>
   <title>Flickr 也挂了</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/06/flickr_is_blocked.html" />
   <id>tag:www.heysky.net,2007://1.874</id>
   
   <published>2007-06-07T10:24:32Z</published>
   <updated>2007-06-13T03:43:02Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 几天前...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="179" label="FF" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="176" label="Flickr" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="40" label="Plugin" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="22" label="Web" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="177" label="和谐" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 几天前才看到 <a href="http://www.flavian.com.cn/" target="_blank">Flavian</a> 说 my.opera.com 被<a href="http://www.flavian.com.cn/html/y2007/43.html" target="_blank">和谐</a>了， 没想到才过没多久，噩耗又一次传来，这次轮到 <a href="http://www.flickr.com" target="_blank">Flickr</a> 了。虽然所有的页面还都能访问，可是图片全部显示不出来了，这样和整个站点挂掉也没什么区别了。根据 William的<a href="http://www.williamlong.info/archives/920.html" target="_blank">分析</a>，是 farm1.static.flickr.com 和farm2.static.flickr.com 关键字被过滤了，这招实在太狠了，不管是好图片还是&ldquo;不好&rdquo;的图片统统被和谐了。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 曾经以为网络是唯一自由的空间，现在看来自由早已不复存在。</p><p>=============<br />2007.06.13&nbsp;update<br />=============</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 听说 Flickr 发布了多国语言，其中包括繁体中文。上去一看，果然文字全部变成繁体中文了，应该语言自动判断的，但总觉得繁体中文看上去很拥挤，又改成英文了。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; William 说 farm2.static.flickr.com 域名<a href="http://www.williamlong.info/archives/928.html" target="_blank">已经可以访问</a>了，我上去一看发现自己的照片都是在 farm1.static.flickr.com 域名上的，比较郁闷。不过在 Kamus 的博客上看到他在<a href="http://www.dbform.com/archives/310" target="_blank">推荐</a>一个 FF <a href="https://addons.mozilla.org/en-US/firefox/addon/4286" target="_blank">插件</a>，可以绕开 GFW，访问 flickr，试了一下果然好用，装上之后不用任何设置就可以查看 flickr 的图片了。</p>]]>
      
   </content>
</entry>
<entry>
   <title>Some useful Windows Terminals commands</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/05/useful_win_terminals_commands.html" />
   <id>tag:www.heysky.net,2007://1.872</id>
   
   <published>2007-05-24T15:04:59Z</published>
   <updated>2007-05-24T16:10:04Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="OS" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="171" label="Command" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="169" label="Terminals" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="61" label="Windows" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All colleagues must log into the Windows terminals to do their jobs in my new corporation.&nbsp; There are only several&nbsp; servers and all colleagues work on them, so sometimes we will be kicked out of the server. It always makes us depressed. And sometimes when I re-log into the server, I can&#39;t start Lotus Notes. Because the application is running, though  I have been kicked out.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I have encountered this kind of situation several times, so I want to find a way to resolve it. With google I find several useful windows command which I did not familiarize.</p><blockquote>msg.exe: Send a message to a user local or remote. This is command is used frequently.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg username [/SERVER:servername] message<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Send message to username on servername<p>qprocess.exe: Display information about processes local or  remote = query process<br /> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; qprocess username [/SERVER:servername]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display all processes beloned to username on servername</p><p>query.exe: Query TERMSERVER user process and  sessions </p><p>quser.exe: Display information about a user logged on = query user</p><p>tsdiscon.exe: Disconnect a user from a terminal session <br /> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; TSDISCON [sessionid | sessionname] [/SERVER:servername] [/V]</p><p>tskill.exe: Kill a Terminal server process <br /> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]</p><p>logoff.exe: Log user off <br /> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; LOGOFF [sessionname | sessionid] [/SERVER:servername] [/V]</p></blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All the commands have an optional&nbsp; parameter: /SERVER:servername. It is useful to operate other server.</p>]]>
      
   </content>
</entry>
<entry>
   <title>My readings released</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/05/my_readings_released.html" />
   <id>tag:www.heysky.net,2007://1.869</id>
   
   <published>2007-05-18T03:58:27Z</published>
   <updated>2007-05-18T03:59:36Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 虽然已...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="157" label="Lilina" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="159" label="RSS" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="97" label="Sitelog" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 虽然已经使用<a href="http://www.zhuaxia.com" target="_blank">抓虾</a>订阅了一些自己喜欢的站点，但一直想在自己的站点上做个 RSS 聚合器，只是自己太懒一直没搞。这两天抽了点时间终于把它搞了起来：<a href="http://www.heysky.net/readings/">http://www.heysky.net/readings/</a>。后台程序用的是 Lilina，这是个开源程序，操作很简单，功能也不多，但挺实用，对于个人站点来说已经足够，很多个人站点都使用这个开源程序，比如最出名的<a href="http://www.chedong.com/" target="_blank">车东</a>，以及 <a href="http://www.eygle.com/rss/" target="_blank">eygle</a>、<a href="http://cnoug.net/" target="_blank">fenng</a>、<a href="http://www.anysql.net/rss/" target="_blank">anysql</a> 等。但由于原版的 Lilina bug 太多，而且动态输出在 dreamhost 上速度太慢，所以我使用了 anysql 的 <a href="http://www.anysql.net/weblog/lilina_anysql_061130.html" target="_blank">hack 版本</a>。该版本能生成静态缓存，再结合 wget 定时刷新缓存，现在使用起来效果不错。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lilina 安装挺简单，配置好 conf.php 文件，由于要对 .***.data 文件 和 cache 目录写入，对他们授予适当的权限，然后就可以使用 edit.php 添加 rss 了。我按照 CNOUG.net 的样子修改了导航条，然后是 css 的修改，以让界面和我的站点协调。对 css 还是不太熟悉，这里的调整花费了大量的时间。现在基本完工，还有几个问题需要以后再修改： </p><blockquote>1.时区问题：Lilina 没有提供修改时区的功能，现在输出的时间都不对，我看了下 CNOUG.net 也是如此，暂时不管这个问题了。<br />2.图标问题：经过 anysql 的修改，dreamhost 上已经可以显示图标，但是没有图标的站点会显示一个空白，不太好看，想先用一个默认图标代替它。<br />3.无法添加 rss：Lilina 似乎对 rss 格式要求非常严格，一些不太符合规范的 rss 怎么也加不进去，暂时只能放弃了。<br />4.界面还需再调整。</blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 再花时间去修改也不知道是什么时候的事情了，先将就着用吧，哈哈，看上去还不错。</p>]]>
      
   </content>
</entry>
<entry>
   <title>Getting a Traffic Ticket</title>
   <link rel="alternate" type="text/html" href="http://www.heysky.net/archives/2007/05/getting_a_traffic_ticket.html" />
   <id>tag:www.heysky.net,2007://1.868</id>
   
   <published>2007-05-14T14:52:27Z</published>
   <updated>2007-05-14T15:32:19Z</updated>
   
   <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In ...]]></summary>
   <author>
      <name>Sky</name>
      <uri>http://www.heysky.net</uri>
   </author>
         <category term="English" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="10" label="English" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="155" label="ESLPOD" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.heysky.net/">
      <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In the afternoon, I added several english learning RSS to <a href="http://www.zhuaxia.com" target="_blank" title="抓虾">ZHUAXIA</a> . One of them is <a href="http://www.eslpod.com/" target="_blank">ESLPOD.com</a>(English as a Second Language Podcast). It is an interesting English learning website which have lots of short dialogues about different kinds of subjects. In every dialogue, firstly, two persons talk with each other with slow speed. And then another person explain the dialogue(words, phrases and usages). At last they repeat the dialogue with normal speed. It is useful to practise listening.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Just now,&nbsp; I listened to the ESL Podcast 267 &ndash; <a href="http://www.eslpod.com/website/show_podcast.php?issue_id=380&amp;PHPSESSID=d4bb73ccb20a8f2ed5071058b18a8828" target="_blank">Getting a Traffic Ticket</a> . Following is some notes.</p><blockquote>Traffic Ticket 交通罚单<br />siren 警报声<br />pull over 开到路边<br />driver&rsquo;s license,  registration, and proof of insurance 驾驶执照，行驶证，保险证明<br />speed 超速<br />You were going 70 in a 55 mile an hour  zone 你在限速55mph的区域以70mph的速度行驶<br />run a red light 闯红灯<br />brake light 刹车灯<br />tags 年检标签（贴在车窗上的那种）<br />to cite you 给你开罚单，citation 罚单<br />get away with just a warning 逃脱处罚，只给一个警告</blockquote>]]>
      
   </content>
</entry>

</feed>
