﻿<?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>C++博客-......</title><link>http://www.cppblog.com/cannon317/</link><description>.....</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:08:34 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:08:34 GMT</pubDate><ttl>60</ttl><item><title>关于双缓冲的一段代码！</title><link>http://www.cppblog.com/cannon317/archive/2006/11/16/15267.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Thu, 16 Nov 2006 15:06:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/11/16/15267.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/15267.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/11/16/15267.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/15267.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/15267.html</trackback:ping><description><![CDATA[
		<p>using System;<br />using System.Drawing;<br />using System.Collections;<br />using System.ComponentModel;<br />using System.Windows.Forms;<br />using System.Data;</p>
		<p>namespace WindowsApplication8<br />{<br /> /// &lt;summary&gt;<br /> /// Form1 的摘要说明。<br /> /// &lt;/summary&gt;<br /> public class Form1 : System.Windows.Forms.Form<br /> {<br />  /// &lt;summary&gt;<br />  /// 必需的设计器变量。<br />  /// &lt;/summary&gt;<br />  private System.ComponentModel.Container components = null;</p>
		<p>  public Form1()<br />  {<br />   //<br />   // Windows 窗体设计器支持所必需的<br />   //<br />   SetStyle(ControlStyles.ResizeRedraw | ControlStyles.Opaque, true);</p>
		<p>   InitializeComponent();</p>
		<p>   //<br />   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码<br />   //<br />  }</p>
		<p>  /// &lt;summary&gt;<br />  /// 清理所有正在使用的资源。<br />  /// &lt;/summary&gt;<br />  protected override void Dispose( bool disposing )<br />  {<br />   if( disposing )<br />   {<br />    if (components != null) <br />    {<br />     components.Dispose();<br />    }<br />   }<br />   base.Dispose( disposing );<br />  }</p>
		<p>  #region Windows 窗体设计器生成的代码<br />  /// &lt;summary&gt;<br />  /// 设计器支持所需的方法 - 不要使用代码编辑器修改<br />  /// 此方法的内容。<br />  /// &lt;/summary&gt;<br />  private void InitializeComponent()<br />  {<br />   // <br />   // Form1<br />   // <br />   this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);<br />   this.ClientSize = new System.Drawing.Size(292, 273);<br />   this.Name = "Form1";<br />   this.Text = "Form1";<br />   this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);</p>
		<p>  }<br />  #endregion</p>
		<p>  /// &lt;summary&gt;<br />  /// 应用程序的主入口点。<br />  /// &lt;/summary&gt;<br />  [STAThread]<br />  static void Main() <br />  {<br />   Application.Run(new Form1());<br />  }</p>
		<p>  private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)<br />  {<br />//   Graphics g = e.Graphics;<br />//　　  Pen p = new Pen(Color.Red);<br />//　　  int width = ClientRectangle.Width;<br />//　　  int height= ClientRectangle.Height;<br />//　　  g.DrawLine(p, 0,0, width, height);<br />//　　  g.DrawLine(p, 0, height, width, 0);<br />//　　  p.Dispose();<br />//     Graphics g = e.Graphics;<br />//　    Pen redPen = new Pen(Color.Red);<br />//　    //call our isolated drawing routing<br />//　    LineDrawRoutine(g, redPen);<br />//　    redPen.Dispose();<br />//　    g.Dispose();<br />   Graphics g = e.Graphics;<br />　   Pen bluePen = new Pen(Color.Blue);<br />　   Bitmap localBitmap = new Bitmap(ClientRectangle.Width,ClientRectangle.Height);<br />　   Graphics bitmapGraphics = Graphics.FromImage(localBitmap);<br />　   LineDrawRoutine(bitmapGraphics, bluePen);<br />//   bitmapGraphics.SmoothingMode = SmoothingMode.AntiAlias;<br />　   g.DrawImage(localBitmap, 0, 0);<br />　   bitmapGraphics.Dispose();</p>
		<p>　   bluePen.Dispose();<br />　   localBitmap.Dispose();<br />　   g.Dispose();<br />  }<br />  private void LineDrawRoutine(Graphics g, Pen p) <br />  {<br />　   float width = ClientRectangle.Width;<br />　   float height = ClientRectangle.Height;<br />　   float xDelta = width / 20;<br />　   float yDelta = height / 20;</p>
		<p>　   for (int i = 0; i &lt; 20; i++) <br />   {<br />　　   g.DrawLine(p, 0, height - (yDelta * i), xDelta * i, 0);<br />　   }<br />  }<br /> }<br />}<br /></p>
<img src ="http://www.cppblog.com/cannon317/aggbug/15267.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-11-16 23:06 <a href="http://www.cppblog.com/cannon317/archive/2006/11/16/15267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于C#中的双缓冲</title><link>http://www.cppblog.com/cannon317/archive/2006/11/16/15265.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Thu, 16 Nov 2006 14:42:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/11/16/15265.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/15265.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/11/16/15265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/15265.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/15265.html</trackback:ping><description><![CDATA[1、在内存中建立一块“虚拟画布”：
<p class="text4">Bitmap bmp = new Bitmap(600, 600);</p><p class="text4">　　2、获取这块内存画布的Graphics引用：</p><p class="text4">Graphics g = Graphics.FromImage(bmp);</p><p class="text4">　　3、在这块内存画布上绘图：</p><p class="text4">g.FillEllipse(brush, i * 10, j * 10, 10, 10);</p><p class="text4">　　4、将内存画布画到窗口中</p><p class="text4">this.CreateGraphics().DrawImage(bmp, 0, 0);</p><p class="text4">还有的方式<br />在构造函数中加如下代码<br /><br />代码一:<br />      SetStyle(ControlStyles.UserPaint, true);<br />      SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.<br />      SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲<br /><br />代码二:<br />   this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); <br />   this.UpdateStyles();<br /><br /></p><img src ="http://www.cppblog.com/cannon317/aggbug/15265.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-11-16 22:42 <a href="http://www.cppblog.com/cannon317/archive/2006/11/16/15265.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>凌晨12点！！</title><link>http://www.cppblog.com/cannon317/archive/2006/11/02/14561.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Wed, 01 Nov 2006 16:12:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/11/02/14561.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/14561.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/11/02/14561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/14561.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/14561.html</trackback:ping><description><![CDATA[        现在已经是凌晨12点了，一点睡觉的想法都没有！也许是今天白天睡多了，这两天很难静下来看书但是凌晨的时候突然有想看看书的想法了，看来我还是和上学时一样，有点像夜行动物一样！很喜欢夜深人静的夜里的那种感觉，听着音乐感觉不错,白天的时候还头昏昏的，现在却很好！让我自己想到一个很搞笑的词，夜行神童！娃哈哈哈！！<img src ="http://www.cppblog.com/cannon317/aggbug/14561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-11-02 00:12 <a href="http://www.cppblog.com/cannon317/archive/2006/11/02/14561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是RRS</title><link>http://www.cppblog.com/cannon317/archive/2006/05/18/7388.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Thu, 18 May 2006 15:41:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/05/18/7388.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/7388.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/05/18/7388.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/7388.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/7388.html</trackback:ping><description><![CDATA[ RSS是2004年最热门的互联网词汇之一，不过，相对于博客（BLOG）来说，RSS的知名度相应会低很多，而且至今还没有一个非常贴切的中文词汇，也许以后无需中文名，大家都习惯于直接叫RSS了。RSS之所以同BLOG一样会被认为是热门词汇的一个原因，个人推测，应该是许多分析人士认识到RSS将要对互联网内容的浏览方法所产生的巨大影响。 <br /><br />什么是RSS呢？RSS是一种描述和同步网站内容的格式，是目前使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台，使得每个人都成为潜在的信息提供者。发布一个RSS文件后，这个RSS Feed中包含的信息就能直接被其他站点调用，而且由于这些数据都是标准的XML格式，所以也能在其他的终端和服务中使用。 <br /><br />【RSS实用知识】： <br />RSS简介 引自（时代营销 平文胜 2003-10-10） <br /><br />RSS是一种描述和同步网站内容的格式，是目前使用最广泛的XML应用。RSS应用在国外已经非常普遍，从个人博客（Blog）栏目、企业站点到世界级的门户都提供基于RSS的服务，如IBM公司站点的中文新闻RSS <a href="http://www.ibm.com/news/cn/zh/index.rss" target="_blank">http://www.ibm.com/news/cn/zh/index.rss</a> ，YAHOO站点的<a href="http://news.yahoo.com/rss" target="_blank">http://news.yahoo.com/rss</a> ，微软MSDN站点的<a href="http://msdn.microsoft.com/aboutmsdn/rss.asp" target="_blank">http://msdn.microsoft.com/aboutmsdn/rss.asp</a> 等等。 <br /><br />1、 RSS的历史 <br /><br />那么RSS究竟代表什么呢？比较普遍的有两种说法，一种是“Rich Site Summary”或“RDF Site Summary”，另一种是“Really Simple Syndication”，之所以有这些分歧，需要从RSS发展的历史说起。 <br /><br />最初的0.90版本RSS是由Netscape公司设计的，目的是用来建立一个整合了各主要新闻站点内容的门户，但是0.90版本的RSS规范过于复杂，而一个简化的RSS 0.91版本也随着Netscape公司对该项目的放弃而于2000年暂停。 <br /><br />不久，一家专门从事博客写作软件开发的公司UserLand接手了RSS 0.91版本的发展，并把它作为其博客写作软件的基础功能之一继续开发，逐步推出了0.92、0.93和0.94版本。随着网络博客的流行，RSS作为一种基本的功能也被越来越多的网站和博客软件支持。 <br /><br />在UserLand公司接手并不断开发RSS的同时，很多的专业人士认识到需要通过一个第三方、非商业的组织，把RSS发展成为一个通用的规范，并进一步标准化。于是2001年一个联合小组在0.90版本RSS的开发原则下，以W3C新一代的语义网技术RDF（Resource Description Framework）为基础，对RSS进行了重新定义，发布RSS1.0，并将RSS定义为“RDF Site Summary”。但是这项工作没有与UserLand公司进行有效的沟通，UserLand公司也不承认RSS 1.0的有效性，并坚持按照自己的设想进一步开发出RSS的后续版本，到2002年9月发布了最新版本RSS 2.0，UserLand公司将RSS定义为“Really Simple Syndication”。 <br /><br />目前RSS已经分化为RSS 0.9x/2.0和RSS 1.0两个阵营，由于分歧的存在和RSS 0.9x/2.0的广泛应用现状，RSS 1.0还没有成为标准化组织的真正标准。 <br /><br />2、 RSS目前的版本和推荐 <br /><br />到目前为止，RSS共有七种版本，推荐使用的是RSS 1.0和RSS 2.0，对于一些基本的站点同步，也可以选用RSS 0.91。 <br /><br />3、 RSS的语法介绍 <br /><br />一个RSS文件就是一段规范的XML数据，该文件一般以rss，xml或者rdf作为后缀。下面我们选择<a href="http://msdn.microsoft.com/visualc/rss.xml" target="_blank">http://msdn.microsoft.com/visualc/rss.xml</a>中的一部分作为例子简单说（略） <br /><br />4、 RSS的联合（Syndication）和聚合（Aggregation） <br /><br />发布一个RSS文件（一般称为RSS Feed）后，这个RSS Feed中包含的信息就能直接被其他站点调用，而且由于这些数据都是标准的XML格式，所以也能在其他的终端和服务中使用，如PDA、手机、邮件列表等。而且一个网站联盟（比如专门讨论旅游的网站系列）也能通过互相调用彼此的RSS Feed，自动的显示网站联盟中其他站点上的最新信息，这就叫着RSS的联合。这种联合就导致一个站点的内容更新越及时、RSS Feed被调用的越多，该站点的知名度就会越高，从而形成一种良性循环。 <br /><br />而所谓RSS聚合，就是通过软件工具的方法从网络上搜集各种RSS Feed并在一个界面中提供给读者进行阅读。这些软件可以是在线的WEB工具，如<a href="http://my.netscape.com/" target="_blank">http://my.netscape.com</a> ，<a href="http://my.userland.com/" target="_blank">http://my.userland.com</a> ， <a href="http://www.xmltree.com/" target="_blank">http://www.xmltree.com</a> ，<a href="http://www.moreover.com/" target="_blank">http://www.moreover.com</a> ，<a href="http://www.oreillynet.com/meerkat" target="_blank">http://www.oreillynet.com/meerkat</a> 等，也可以是下载到客户端安装的工具 <br /><br />5、 RSS的未来发展 <br /><br />随着越来越多的站点对RSS的支持，RSS已经成为目前最成功的XML应用。RSS搭建了信息迅速传播的一个技术平台，使得每个人都成为潜在的信息提供者。相信很快我们就会看到大量基于RSS的专业门户、聚合站点和更精确的搜索引擎。 <br /><br /><br />二 TAG <br />1、Tag总的来说是一种分类系统，有人把他称为大众分类(Folksonomy)。但是tag又不同于一般的目录结构的分类方法，首先tag能以较少的代价细化分类，想像一下，一篇涉及面比较广的文章，比如一篇谈论20世纪以来物理学的成就的文章，可能会涉及到相对论、量子力学、黑洞理论、大爆炸宇宙理论，可能涉及到爱因斯坦、普朗克等科学家，甚至可能涉及到诺贝尔奖。如果你用目录结构的分类方法的话，根本不可能按这篇文章涉及到的各个方面来分类，因为要细化分类，将使整个目录结构异常庞大，更加不利于资料的组织以及查找。而tag则不同，他可以自由地不考虑目录结构的给文章进行分类，各个tag之间的关系是一种平行的关系，但是又可以根据相关性分析，将经常一起出现的tag关联起来，而产生一种相关性的分类。 <br /><br />2、Tag也可以说是一种关键词标记，利于搜索查找。但是tag也不同于一般的关键词，用关键词进行搜索时，只能搜索到文章里面提到了的关键词，但tag却可以将文章中根本没有的关键词做为tag来标记，比如上面那篇文章，我可以标记为“资料”或者“历史”，当然更多的时候是标记为“物理”，不过，我如果标记上“资料”的tag，则可以将所有资料性的文章全部关联起来，便于查找。<img src ="http://www.cppblog.com/cannon317/aggbug/7388.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-05-18 23:41 <a href="http://www.cppblog.com/cannon317/archive/2006/05/18/7388.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一招一式攻克linux5－Web服务器Apache </title><link>http://www.cppblog.com/cannon317/archive/2006/05/18/7384.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Thu, 18 May 2006 15:00:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/05/18/7384.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/7384.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/05/18/7384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/7384.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/7384.html</trackback:ping><description><![CDATA[
		<u>
				<font color="#800080">
				</font>
		</u>
		<font color="#71713b">作者：田逸(</font>
		<a href="mailto:sery@163.com">
				<font color="#005880">sery@163.com</font>
		</a>) 《网管员世界》2006年第5期<br /><br />相信使用过计算机的人，都应该有过访问web服务器的经历。在网站浏览新闻、登录邮件服务器收发邮件、通过网络购物、以浏览器方式配置防火墙等等，无一例外都有一个web服务器在为访问者提供服务。尽管有别的方式来实现对设备或服务的访问（如配置卫星调制解调器），但以web方式提供访问的策略依然是最受欢迎的，因为它更直观，也更方便。也是因为这样，是的web服务器得以更广泛的流行。<br />Apache是linux主流的服务器，为linux的迅速繁荣立下汗马功劳。根据资料显示，截至2005年12月，在internet上，Apache服务器以70.98%的绝对优势雄居web服务器之首。在这节内容中，我们就话花些时间来讨论linux下大名鼎鼎的web服务器Apache。请初学者注意，不要花费心思去搜寻名字为apache这样的软件包，它现在的名字是httpd。<br /><br />Apache 服务器的安装<br />有两种安装apache服务器的机会：安装linux操作系统的时候选择安装web服务器和安装完系统后安装apache服务器。如果是在安装linux操作系统期间没有安装apache，这就需要使用包文件来安装。一个运行着的系统，你怎么知道它装没装apache服务器？用下面这个命令来检查 # rpm –qa | grep httpd ,如果没有输出，则表明没有安装。下图是某个安装了Apache服务器输出的一个输出范例。<br /><br />提示：如果是以源码安装的apache服务器，则此种方法无效，需要用find工具查找httpd文件是否存在。<br />1、RPM包的安装。Linux的安装光盘和互联网上，都可以得到apache的RPM安装包，然后把安装包复制到硬盘，并切换到安装包文件所在的目录。本案以httpd-2.0.52-9.ent.rpm为例，执行命令 # rpm –ivh httpd-2.0.52-9.ent.rpm ，然后再执行 # rpm –ivh httpd-manual-2.0.52-9.ent.rpm 把手册也安装上去。<br />2、源码安装。到网站<a href="http://www.apache.org/" target="_blank">www.apache.org</a>下载欲安装的版本，笔者喜欢尝试最新的版本，当前的最新有效版本为httpd-2.2.0.tar.gz 。在httpd-2.2.0.tar.gz 文件所在的当前目录解压文件 # tar zxvf httpd-2.2.0.tar.gz ,然后切换目录到 httpd-2.2.0 ，进行配置 # cd httpd-2.2.0.tar.gz ; ./configure --prefix=/usr/local/apache ,顺利完成这步后，接着进行编译安装 # make;make install 。其中，配置这一过程，使用了选项“--prefix=/usr/local/apache”来指定apache的安装目录，使apache服务器所需的大部分文件都被复制在这个目录里。实际上，配置是一个很灵活的选择，根据需要可以添加更多的选项，来支持更多的功能。由于这里打算先讲述基本功能，其它选项将在后面的应用中逐步增加。<br /><br />配置文件<br />Apache的配置文件是httpd.conf，一般在/etc/http/conf或/usr/local/apache/conf目录，以rpm包形式安装的apache的配置文件的位置是/etc/httpd/conf/httpd.conf。对 apache服务器进行得最多的操作恐怕就是在不时更改这个文件的内容。当然，如果只是运行简单的静态网页，也可以不用对它做任何更改。<br />打开配置文件httpd.conf，可以获悉根文档的目录位置。前面安装的apache的根文档位置是/usr/local/apache/htdocs(rpm包安装的apache的根文档位置是/var/www/html),欲运行自己的网站，需要把做好的网页文件和目录复制到apache的根文档才可以。当初，我在配置apache服务器的时候，在这一步费了不少周折。<br /><br />上传网页文件及目录<br />上传网页文件及目录的最佳方式是启用ftp服务。关于怎样安装、配置、启用ftp服务在这里不再介绍。创建一系统用户，使该用户对目录/usr/local/apache/htdocs具有读写权限或者该用户的主目录为/user/local/apache/htdocs。在这里我们创建一用户，使其主目录为apache的根文档目录。# useradd –d /usr/local/apache/htdocs webuser //添加的用户为webuser,<br /># passwd webuser //再给该用户设置一个访问密码。这样就可以很方便的修改或上传网页文件和目录了。有的人认为，用ssh客户端工具也可以实现文件的上传，但这是不方便的，因为ssh客户端工具只可以传送文件而不能上传目录。<br /><br />  启用/关闭apache服务<br />  上面的步骤都准备好以后，就可以启用这个网站服务器了。启用方法如下：<br /># /usr/local/apache/bin/apachctl start   //源码安装的启动方式<br />#/usr/local/apache/bin/apachectl stop <br /># service httpd start           //rpm包安装的启动方式<br /># service httpd stop<br />如果不出意外，apache服务器将如我们所期待的那样运行起来，我们只要在某台能访问apache服务器的计算机浏览器里输入apache服务器的IP地址或者预先解析好的域名，网站的主页就会出现在浏览器里。在apache服务器端，通过输入命令 # ps -aux | grep httpd 检查apache服务器是否正在运行。到此，一个具备基本功能的apache服务器诞生了。<br /><br />虚拟主机<br />有时候，我们可能需要用一个apache服务器来做多个web服务器，比如运行几个不同的网站,这样就可以大大地节省开支。<br />使用虚拟主机大致有以下几个步骤：<br />1、     确定使用虚拟主机的方式。虚拟主机有基于域名、IP、端口等几种形式，应该根据自己的实际情况来决定。<br />2、     修改配置文件/etc/httpd/conf/httpd.conf或 / usr/local/apache/conf/httpd.conf.在这个文件里，已经给出了如何更改的范例，它是以注释方式出现的。只要按照范例的格式添加需要的内容即可。然后保存退出配置文件。<br />3、     域名解析（基于域名的虚拟主机）。这一步需要在域名服务器上进行。<br />4、     启用/关闭虚拟主机。启用/关闭apache守护进程即可，但这将关闭所有的web服务。能否单独关闭某个虚拟主机，我本人没这方面的经验。<br />接下来，我就给出以个虚拟主机的实例。先描述一下需求：一台服务器，要求运行一个以PHP为脚本的网站，另外还要用它来做网络流量监控（需要web服务）。在这里，我们采用二进制源码包的方式来安装配置apache虚拟服务器，以便于对apache服务器有更深刻的理解。<br />（一）安装apache服务器。从<a href="http://www.apache.org/" target="_blank">www.apache.org</a>下载包httpd-2.2.0.tar.gz到目录/root,然后执行操作 <br /># tar zxvf httpd-2.2.0.tar.gz     //包解压<br /># cd # tar zxvf httpd-2.2.0.     <br />#./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max<br /># make<br /># make install<br />到这儿，apache就算安装好了，先测试一下，运行命令 # /usr/local/apache/bin/apachectl start ,然后在与之联网的计算机的浏览器里输入运行apache服务的计算机的IP地址，出现测试页面表明配置一切正常。<br />(二)安装PHP。下载包php-4.3.11.tar.gz到目录/root，然后执行下面的操作<br /># tar –zxvf php-4.3.11.tar.gz   //解压文件<br />#./configure -–prefix=/usr/local/php -–with-apxs2=/usr/local/apache/bin/apxs //正常//完成后会在/usr/local/apache/modules 里生成文件 libphp4.so,并且会在//apache的配置文件httpd.conf里加上一行 LoadModule php4_module //modules/libphp4.so<br /># make<br /># make install<br />#cp php.ini-dist /usr/local/lib/php.ini   //拷贝文件<br /><br />完成后看是否真在目录/usr/local/apache/modules生成文件libphp4.so,再打开配置文件httpd.conf中看 LoadModule php4_module modules/libphp4.so是否被自动追加。<br />（三）修改apache配置文件/usr/local/apache/conf/httpd.conf。加入行 <br />TypeAdd application /x-httpd-php .php4 到307行的位置，当然其他位置也是可以的。请特别注意：.php4前面有一个空格。我第一次配置php整合apache的时候就犯了这个错误，用了好几天的时间才弄明白的。Php前面那个“.”(小黑点)一定不要写漏了,会有什么后果,请读者自己去尝试一下。<br />（四）启动一下apache服务器。找几个php脚本的网页文件，把它复制到apache指定的根文档目录/usr/local/apache/htdocs，然后在与之联网的计算机的浏览器中输入apache所在机器的URL(形如　<a href="http://192.168.100.10/test.php" target="_blank">http://192.168.100.10/test.php</a>)，来检验一下配置是否成功。<br />（五）创建虚拟服务器。Apache/2.2.0与以前的版本有些差异，它是以包含文件的方式来加载用户定义的虚拟主机配置，前面的版本定义虚拟主机就在httpd.conf文件中。我们还是先在主配置文件中把虚拟主机的配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf　包含进来；具体的操作就是把行　#Include conf/extra/httpd-vhosts.conf　的注释去掉，使之成为Include conf/extra/httpd-vhosts.conf，这一行在httpd.conf的行号是394。然后保存后退出。接着我们打开文件/usr/local/apache/conf/extra/httpd-vhosts.conf,其默认状态如下：<br />#<br />&lt;VirtualHost *:80&gt;<br />  ServerAdmin <a href="mailto:webmaster@dummy-host.example.com">webmaster@dummy-host.example.com</a><br />  DocumentRoot /www/docs/dummy-host.example.com<br />  ServerName dummy-host.example.com<br />  ServerAlias <a href="http://www.dummy-host.example.com/" target="_blank">www.dummy-host.example.com</a><br />  ErrorLog logs/dummy-host.example.com-error_log<br />  CustomLog logs/dummy-host.example.com-access_log common<br />&lt;/VirtualHost&gt;<br />等我们先安装配置mrtg，然后再回过头来修改文件/usr/local/apache/conf/extra/httpd-vhosts.conf。<br />（六）启用交换机的snmp功能。要监控连接在交换机每个端口的服务器的网络流量，必须启用交换机的snmp,这样就不必更改被监控的服务器的任何设置。关于怎样启用交换机的snmp，请参照相关文档。<br />（七）安装和配置mrtg。把软件包下载到硬盘，解压后直接安装就是。配置mrtg有点复杂，在这里仅仅给出方法，具体意思就不做说明，请大家自己去查手册。<br />#./cfgmaker --global "WorkDir: /usr/local/mrtg/html" <br />--global "icondir: /mrtg" --global "language: chinese" <br />--global "Options[_]: growright,bits" --show-op-down<br />--ifref=nr --ifdesc=descr --output=/etc/mrtg/mrtg.cfg   <br />public@192.168.100.250&gt;/dev/null //是一个整行，交换机的snmp的 <br />//community的值是public<br />#./ indexmaker -t "title" -o /usr/local/mrtg/html/index.html <br />/etc/mrtg/mrtg.cfg<br />（八）修改虚拟主机配置文件。需要指定根文档目录、服务器名称这几项。<br /><br />NameVirtualHost *<br /><br />&lt;VirtualHost *&gt;<br />  ServerAdmin <a href="mailto:webmaster@sery.com">webmaster@sery.com</a>     //假定域名为sery.com<br />DocumentRoot /usr/local/mrtg/html<br />ServerName mrtg.sery.com<br />ErrorLog /usr/local/apache/logs/error_log<br />  CustomLog /usr/local/apache/logs/access_log combined<br />  DirectoryIndex index.html index.php<br />&lt;/VirtualHost&gt;<br /><br />保存后退出。如果要对虚拟主机的访问进行用户验证，还需要在apache的主配置文件对虚拟机的根文档目录进行相关的处理。把下面的行插入到apache的主配置文件httpd.conf中。<br /><br />&lt;Directory "/usr/local/mrtg/html"&gt;<br />AuthName "mrtg<br />AuthType Basic<br />AuthUserFile /usr/local/apache/.mrtg   //带点是为了使文件的属性为隐藏<br />require valid-user<br />&lt;/Directory&gt;<br /><br />保存后退出。然后运行命令 # /usr/local/apache/bin/htpasswd –c /usr/local/apache/.mrtg sery<br />按照提示设定用户sery的访问密码。<br />（九）做域名解析。在域名服务器上解析主机mrtg.sery.com.<br />（十）启用apache服务。用指令 # ps –aux | grep httpd 检查apache是否正常运行，然后在另外的计算机的浏览器里输入apache服务器的URL，如输入<a href="http://www.sery.com/" target="_blank">www.sery.com</a>则应该访问到主配置文件设定的网页，如果输入mrtg.sery.com则访问上面设定的虚拟机页面，并且需要输入正确的用户名和密码才能访问。<br /><br />总结<br />通过上面的实践，我们可以得出这样一个结论：apache服务器功能设定的主要操作就是修改配置文件—主配置文件httpd.con及包含配置文件。当然，apache的配置不仅仅是上文所描述的那些，可以说是非常丰富，也是非常灵活的，限于篇幅，不再详叙。至于要让apache随系统启动，可以把守护进程/usr/local/apache/bin/httpd&amp;加在文件/etc/rc.local里。<br />偏方：为了在同一环境下使用更多的apache服务，可以安装多个apache到不同的目录，安装目录在安装过程中的配置操作 ./configure – prefix=&lt;安装目录&gt; 制定，所有apache的配置原则都是一致的。所有配置完成后，把他们全部启动起来。关于配置多个虚拟主机与安装多个apache服务，究竟有多大的差别，望各位读者自己去做评判。<br /><img src ="http://www.cppblog.com/cannon317/aggbug/7384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-05-18 23:00 <a href="http://www.cppblog.com/cannon317/archive/2006/05/18/7384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一招一式攻克linux3－第三招 linux下软件的安装</title><link>http://www.cppblog.com/cannon317/archive/2006/05/18/7382.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Thu, 18 May 2006 14:49:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/05/18/7382.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/7382.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/05/18/7382.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/7382.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/7382.html</trackback:ping><description><![CDATA[在linux系统上安装软件是不可避免的事情，尽管我们在安装操作系统时已经默认安装了一些应用软件如apache、vsftpd等。为了让linux服务器按我们的意图工作，我们可能需要购买、下载或自行开发相关的应用程序，然后把它正确的安装到linux服务器系统里。相对于windows的应用程序而言，linux应用软件的安装方法要繁杂一些，因为windows软件安装工作的大部分操作就是用鼠标点击“下一步”或“确定”，然而linux应用软件的安装确是五花八门，毫无定势。即便如此，linux应用软件的安装还是有章可循的，在本节里，我将向大家总结几种常用的linux应用软件的安装之法。<br /><br />安装前的准备：要安装linux应用程序，需要把安装程序或安装包复制到linux服务器的硬盘上，然后再执行安装。如果欲安装的应用程序需要从网站下载，那么最好先用windows的机器下载，然后用远程管理工具SecureCRT把软件压缩包传输到linux服务器的硬盘。<br /><br />一、     RMP包的安装<br />Rpm包是一种为产生软件套件有RedHat 开发的软件包格式。它可用于许多GUN/linux发行版本上，例如RedFlag linux。安装RPM形式的软件包很简单，下面以一个安装实例来说明：<br />1、     命令行下安装。这里我们安装一个基于web的远程管理工具webmin.先检查包文件webmin-1.110-noarch.rpm，确保根用户具有执行权限，然后执行命令 # rpm –ivh webmin-1.110-noarch.rpm ,按照提示就可以顺利完成安装。<br />2、     图形方式下安装。这与安装windows的应用程序相当，用鼠标双击欲安装的RPM包webmin-1.110.noarch.rpm图标，然后根据提示也可顺利完成安装。另外一个安装方法是启用RPM包管理器，然后选取欲安装的RPM包，这种方式也是很方便的。<br />有时候，我们并不能顺利的进行RPM包的安装，其中一个最大的障碍就是包的依赖关系，换言之，这个包的安装还需要另外的包被安装到系统。一个经验是在安装linux操作系统的时候，尽可能多的安装一些包，比如gcc、gcc+等。如果不怕麻烦，可以选择安装所有的包。还有一个避免措施是安装较新的linux发行版本，因为新版本默认安装包含更多的库和编译器（情况也不完全如此，有的软件包可能需要旧版本的库或编译器）。另外一个引起安装失败的原因是RPM数据库损坏，这是一种不太常见的故障，可以通过修复RPM数据库来解决这个问题-输入命令# rm –f /var/lib/rpm/_db.* 删除RPM数据库，再执行命令 # rpm –vv - -rebuilddb来重建rpm数据库。<br />RPM包格式的软件另外一个方便之处是软件升级，当有新的版本时，可以直接升级旧的版本。在命令行下，执行 # rpm –Uvh &lt;RPM包名&gt; 就可以升级已安装的包成为新的版本。<br />命令 # rpm –e &lt;软件包&gt; -nodeps 用来删除一个已安装的软件包，查看某个软件是否被安装到系统，用命令# rpm –qa | grep &lt;软件包&gt; 察看某个软件包是否被安装在linux 服务器上。<br /><br />二、     SRMP包的安装<br />SRMP这种安装方式应用场合不是太多。欲安装的软件包没有二进制版本或者想按照自己的意愿来安装软件包的时候，就需要使用源代码包来进行。按下面的步骤就可以容易的完成SRPM包的安装：<br />1、     下载或拷贝SRPM到硬盘。这儿笔者以cpio-2.5-6.src.rpm为例，把这个文件拷贝目录/tmp/upload下。<br />2、     安装文件cpio-2.5-6.src.rpm，以根用户（root）执行命令 # rpm –ivh cpio-2.5-6.src.rpm, 完成后在目录/usr/src/redhat/SPEC生成文件cpio.spec.<br />3、     进入目录/usr/src/redhat/SPEC,运行命令 # rpmbuild –ba cpio.spec,执行完毕后在目录/usr/src/redhat/RPMS/i386下生成文件cpio-2.5-6.rpm.<br /><br />三、     Gzip/tar软件包的安装<br />  这是linux下最普遍的安装方式。以个人的理解是gzip/tar包似乎比rpm包容易获取，以为很大一部分软件都是以gzip/tar的形式提供下载的。以下面的基本步骤来完成 gzip/tar 软件的安装：<br />1、     从网络下载或从光盘复制gzip/tar文件到硬盘某个目录。在这里以php-5.0.4.tar.gz为例，笔者把文件php-5.0.4.tar.gz复制到目录/root/upload,修改文件属性 # chmod 700 php-5.0.4.tar.gz。<br />2、     运行命令 # tar –zxvf php-5.0.4.tar.gz 解压完成后生成目录php-5.0.4,相关的目录和文件都在php-5.0.4下。<br />3、     进入目录php-5.0.4,察看文件INSTALL获得在linux平台下的安装方法。<br />4、     运行命令 # ./configure --prefix=/usr/local/php 配置安装环境，参数--prefix=/usr/php的作用是为php的安装指定目录，编译过程是一个异常复杂的行为，也是很灵活的一个功能，比如可以使用 --with-apxs=/usr/local/apache/bin/apxs让php与apache整合起来。配置过程中可以使用很多的参数值，这相对与ms-windows来讲就自由多了。<br />5、     编译和安装。配置成功完成后，就可以进行编译安装，通常是用命令 # make 和 # make install。<br />6、     清理安装的临时文件和卸载文件。清除临时文件 # make clear , 卸载软件 # make uninstall 或者删除安装目录 /usr/local/php.<br /><br />四、     其他类型的安装方法<br />第一类：二进制文件。只需直接执行文件就行了，如j2sdk-1.4.2-01-linux-i586-rpm.bin,运行命令# ./j2sdk-1.4.2-01-linux-i586-rpm.bin(需要执行权限)，然后接着往下完成安装。这个例子运行后生成文件j2sdk-1.4.2-01-linux-i586-rpm,参照标准的rpm包的方式完成安装。<br />第二类：带安装脚本的压缩包。把包解压后，运行目录里的安装脚本进行安装。这里举两个例子——webmin和Sybase ASE 12.5_3，从网上下载webmin-1.240.tar.gz 和 ase1253esd1xe_linux.tar.gz , 然后分别解压 # tar --zxvf webmin-1.240.tar.gz , 进入目录webmin-1.240 , 通过阅读README文件得知安装方法是运行安装脚本 # ./setup.sh,按照给出的提示便可完成安装；运行命令 # tar –zxvf w ase1253esdlxe_linux.tar.gz 后，生成安装脚本setup.sh和一大堆目录和文件，不过Sybase没有给出INSTALL或README文件，这里就是运行# ./setup.sh进行安装。<br /><br />没有办法把所有的软件安装方法都列举出来，但是一般而言，软件的开发者都会给出安装方法——通过阅读README或INSTALL文件获得。对于初学者而言，使用rpm包可能要容易一些，但是，如果要真正地掌握linux,体验开放系统的自由和随心所欲，源码安装是不可回避的。<br />安装软件是系统管理员的日常工作，绝大多数软件的安装还是很容易的，只要你耐心的阅读README或INSTALL文件就可完成安装工作，至于象Oracle、Sybase那样的大型软件，对于初学者就是一场艰难之旅，这就需要我们花更多的时间来熟悉linux和软件本身，等到可以顺利的安装这些大型软件的时候，你就是一名合格的linux系统管理员了<img src ="http://www.cppblog.com/cannon317/aggbug/7382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-05-18 22:49 <a href="http://www.cppblog.com/cannon317/archive/2006/05/18/7382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开始上课了！！</title><link>http://www.cppblog.com/cannon317/archive/2006/05/09/6831.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Tue, 09 May 2006 10:58:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/05/09/6831.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/6831.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/05/09/6831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/6831.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/6831.html</trackback:ping><description><![CDATA[今天终于举行了开班仪式了，要开始真正的静下来学习了！对自己说声加油！！！<br /><img src ="http://www.cppblog.com/cannon317/aggbug/6831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-05-09 18:58 <a href="http://www.cppblog.com/cannon317/archive/2006/05/09/6831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WIN2000下VPN详细配置实例</title><link>http://www.cppblog.com/cannon317/archive/2006/04/12/5400.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Wed, 12 Apr 2006 08:38:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/04/12/5400.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/5400.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/04/12/5400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/5400.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/5400.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#000000">
						<strong>WIN2000下VPN详细配置实例<br /></strong>目前，规模比较大点的公司都有自己的分公司，如何让分公司随时同公司总部保持安全</font>
		</p>
		<p>
				<font color="#000000">、高效率、低成本、多用途的连接，这是摆在每一个企业面前的难题。传统的方法有专</font>
		</p>
		<p>
				<font color="#000000">线连接、拨号连接、IP地址直接访问等，可是它们要么费用高昂，要么功能单一，还可</font>
		</p>
		<p>
				<font color="#000000">能带来安全隐患。而使用VPN连接则将使这些难题迎刃而解。</font>
		</p>
		<p>
				<font color="#000000">首先简单介绍一下VPN，其英文全称为Virtual Private Network，即虚拟专用网络。 </font>
		</p>
		<p>
				<font color="#000000">VPN技术是指在公共网络中建立专用网络，是“线路中的线路”，数据通过安全的“加</font>
		</p>
		<p>
				<font color="#000000">密通道”在公共网络中传播，具有良好的保密性和抗干扰性。企业只需要租用本地的数</font>
		</p>
		<p>
				<font color="#000000">据专线，连接上本地的公众信息网，各地的机构就可以互相传递信息；同时，企业还可</font>
		</p>
		<p>
				<font color="#000000">以利用公众信息网的拨号接入设备，让自己的用户拨号到公众信息网上，就可以连接进</font>
		</p>
		<p>
				<font color="#000000">入企业网中。之所以称为虚拟网主要是因为整个VPN网络的任意两个节点之间的连接并</font>
		</p>
		<p>
				<font color="#000000">没有传统专网所需的端到端的物理链路，而是架构在公用网络服务商所提供的网络平台</font>
		</p>
		<p>
				<font color="#000000">（如INTERNET，ATM，FRAME RELAY等）之上的逻辑网络，用户数据在逻辑链路中传输。</font>
		</p>
		<p>
				<font color="#000000">VPN还提供远程访问，它扩展性强、便于管理和实现全面控制，并可节省成本。采用VPN</font>
		</p>
		<p>
				<font color="#000000">技术是今后企业网络发展的趋势。</font>
		</p>
		<p>
				<font color="#000000">要实现VPN连接，企业内部网络中必须有一台基于Windows NT或Windows 2000 Server的</font>
		</p>
		<p>
				<font color="#000000">VPN服务器，VPN服务器一方面连接企业内部专用网络，另一方面要连接到Internet，这</font>
		</p>
		<p>
				<font color="#000000">就要求VPN服务器必须拥有一个公共的IP地址。当客户机通过VPN连接与专用网络中的计</font>
		</p>
		<p>
				<font color="#000000">算机进行通信时，先由ISP（Internet服务提供商）将所有的数据传送到VPN服务器，然</font>
		</p>
		<p>
				<font color="#000000">后再由VPN服务器负责将所有的数据传送到目标计算机。在 Windows 2000 中有两种类</font>
		</p>
		<p>
				<font color="#000000">型的 VPN 技术：1.对点隧道协议 (PPTP)： 用于数据加密，PPTP 使用用户级的点到点</font>
		</p>
		<p>
				<font color="#000000">协议 (PPP) 身份验证方法及 Microsoft 点到点加密 (MPPE)。 2.带有 IP 协议安全 </font>
		</p>
		<p>
				<font color="#000000">(IPSec) 的第二层隧道协议 (L2TP)： L2TP 使用用户级 PPP 身份验证方法和带有 </font>
		</p>
		<p>
				<font color="#000000">IPSec 数据加密的机器级证书。</font>
		</p>
		<p>
				<font color="#000000">我配置的实例是一个远程客户端(Windows 2000 Pro)与一个公司总部VPN server</font>
		</p>
		<p>
				<font color="#000000">(Windows 2000 Pro)之间的连接，主要有三个步骤: </font>
		</p>
		<p>
				<font color="#000000">1.配置VPN服务器,使之能够接受VPN接入。</font>
		</p>
		<p>
				<font color="#000000">2.VPN客户端（Win2000）的配置。</font>
		</p>
		<p>
				<font color="#000000">3.建立客户端与服务器间的VPN连接。   </font>
		</p>
		<p>
				<font color="#000000">具体步骤如下：</font>
		</p>
		<p>
				<font color="#000000">首先，需要公司总部的计算机（以下称之为“VPN服务器”）和分公司的计算机（以下</font>
		</p>
		<p>
				<font color="#000000">称之为“VPN客户机”）均应能访问Internet，并且VPN服务器拥有一个Internet上合法</font>
		</p>
		<p>
				<font color="#000000">的IP地址（即公网IP）。然后，当VPN客户机通过虚拟拨号和VPN服务器连接成功，VPN</font>
		</p>
		<p>
				<font color="#000000">客户机就成了VPN服务器所在局域网的一部分。在此局域网内，任意一台计算机均可以</font>
		</p>
		<p>
				<font color="#000000">根据权限访问其他计算机上的软硬件共享资源，操作方法和普通局域网完全一样。</font>
		</p>
		<p>
				<font color="#000000">1．VPN服务器的配置</font>
		</p>
		<p>
				<font color="#000000">VPN服务器端操作系统可以是WinNT 4.0/Win2000/WinXP/Win2003；相关组件为系统自带</font>
		</p>
		<p>
				<font color="#000000">；要求VPN服务器已经连入Internet，并且拥有一个独立的公网IP。我选用在Windows </font>
		</p>
		<p>
				<font color="#000000">2000 Server（以下简称“Win2000”）中配置VPN服务器为例。<br />（1）依次进入“开始”→“程序”→“管理工具”→“路由和远程访问”打开“路由</font>
		</p>
		<p>
				<font color="#000000">和远程访问”控制台。<br />（2）在左边框架中“SERVER（本地）”（“SERVER”为服务器名）处单击右键，选择</font>
		</p>
		<p>
				<font color="#000000">“配置并启用路由和远程访问”打开“路由和远程访问安装向导”窗口。<br />（3）在“欢迎使用路由和远程访问安装向导”一步介绍本向导的作用。没有可以设置</font>
		</p>
		<p>
				<font color="#000000">的选项，直接单击“下一步”按钮继续。<br />（4）在“公共设置”一步需要选择所相应的公共配置。默认选项为“Internet连接服</font>
		</p>
		<p>
				<font color="#000000">务器”，需要改选为“虚拟专用网络（VPN）服务器”，然后单击“下一步”按钮继续</font>
		</p>
		<p>
				<font color="#000000">。 <br />（5）在“远程客户协议”一步显示的是当前VPN访问可使用协议的列表。默认选项为“</font>
		</p>
		<p>
				<font color="#000000">是，所有可用的协议都在列表上”，不用修改，直接单击“下一步”按钮继续。<br />（6）在“Internet连接”一步需要指定服务器所使用的连接。默认选项为“无</font>
		</p>
		<p>
				<font color="#000000">Internet连接”，不用修改，直接单击“下一步”按钮继续。<br />（7）在“IP地址”一步需要选择为远程VPN客户端指定IP地址的方法。默认选项为“自</font>
		</p>
		<p>
				<font color="#000000">动”，由于本机没有配置DHCP服务器，因此需要改选为“来自一个指定的地址范围”，</font>
		</p>
		<p>
				<font color="#000000">然后单击“下一步”按钮继续。 <br />（8）在“地址范围指定”一步可以为VPN客户机指定所分配的IP地址范围。比如打算分</font>
		</p>
		<p>
				<font color="#000000">配的IP地址范围为“192.168.0.100”～“192.168.0.200”，则单击“新建”按钮打开</font>
		</p>
		<p>
				<font color="#000000">“新建地址范围”窗口，按提示输入后单击“确定”按钮返回“地址范围指定”一步，</font>
		</p>
		<p>
				<font color="#000000">然后单击“下一步”按钮继续。<br />    注意：这些IP地址将分配给VPN服务器和VPN客户机。为了确保连接后的VPN网络能</font>
		</p>
		<p>
				<font color="#000000">同VPN服务器原有局域网正常通信，它们必须同VPN服务器的IP地址处在同一个网段中。</font>
		</p>
		<p>
				<font color="#000000">即：假设VPN服务器IP地址为“192.168.0.1”，则此范围中的IP地址均应该以</font>
		</p>
		<p>
				<font color="#000000">“192.168.0”开头。<br />（9）在“管理多个远程访问服务器”一步用于设置集中管理多个VPN服务器。默认选项</font>
		</p>
		<p>
				<font color="#000000">为“不，我现在不想设置此服务器使用RADIUS”，不用修改，直接单击“下一步”按钮</font>
		</p>
		<p>
				<font color="#000000">继续。<br />（10）在“正在完成路由和远程访问服务器安装向导”一步说明已经配置完成。没有可</font>
		</p>
		<p>
				<font color="#000000">以设置的选项，直接单击“完成”按钮继续。<br />（11）此时屏幕上将出现一个名为“正在启动路由和远程访问服务”的小窗口，过一会</font>
		</p>
		<p>
				<font color="#000000">儿将自动返回“路由和远程访问”控制台，出现如（图1）画面，即结束了VPN服务器的</font>
		</p>
		<p>
				<font color="#000000">配置工作。<br />    说明：此时“服务”控制台中的“Routing and Remote Access”服务已经“自动</font>
		</p>
		<p>
				<font color="#000000">”处于“已启动”状态了；而在“网络和拨号连接”窗口中也会多出一个“传入的连接</font>
		</p>
		<p>
				<font color="#000000">”图标。</font>
		</p>
		<p>
				<font color="#000000">图1 <br />2．赋予用户拨入权限</font>
		</p>
		<p>
				<font color="#000000">默认的，包括Administrator用户在内的所有用户均被拒绝拨入到VPN服务器上，因此需</font>
		</p>
		<p>
				<font color="#000000">要为相应用户赋予拨入权限。本文以“water”用户为例。<br />（1）在“我的电脑”处单击右键，选“管理”打开“计算机管理”控制台。<br />（2）在左边框架中依次展开“本地用户和组”→“用户”，在右边框架中双击“water</font>
		</p>
		<p>
				<font color="#000000">”打开“water 属性”窗口。<br />（3）转到“拨入”选项卡，在“选择访问权限（拨入或VPN）”选项组下默认选项为“</font>
		</p>
		<p>
				<font color="#000000">通过远程访问策略控制访问”，改选为“允许访问”，然后单击“确定”按钮返回“计</font>
		</p>
		<p>
				<font color="#000000">算机管理”控制台，即结束了赋予“water”用户拨入权限的工作。</font>
				<br />
				<font color="#000000">3．VPN客户机（Win2000）的配置</font>
		</p>
		<p>
				<font color="#000000">   VPN客户机端的操作系统可以是Win98/WinNT4.0/Win2000/WinXP/Win2003，相关组件</font>
		</p>
		<p>
				<font color="#000000">均为系统自带，且要求VPN客户机已经连入Internet。我还是选择在Windows 2000 </font>
		</p>
		<p>
				<font color="#000000">Server（以下简称“Win2000”）中配置VPN客户机为例。<br />（1）在“网上邻居”处单击右键，选“属性”打开“网络和拨号连接”窗口。<br />（2）双击“新建连接”图标打开“网络连接向导”窗口。<br />（3）在“欢迎使用路由和远程访问安装向导”一步介绍本向导的作用。没有可以设置</font>
		</p>
		<p>
				<font color="#000000">的选项，直接单击“下一步”按钮继续。<br />（4）在“网络连接类型”一步可以选择所创建的网络连接类型。默认选项为“拨号到</font>
		</p>
		<p>
				<font color="#000000">专用网络”，需要改选为“通过Internet连接到专用网络”，然后单击“下一步”按钮</font>
		</p>
		<p>
				<font color="#000000">继续。<br />（5）在“公用网络”一步可以选择是否在VPN连接前自动拨号。默认选项为“自动拨此</font>
		</p>
		<p>
				<font color="#000000">初始连接”，需要改选为“不拨初始连接”，然后单击“下一步”按钮继续。<br />（6）在“目标地址”一步需要提供VPN服务器的主机名或IP地址。在文本框中输入VPN</font>
		</p>
		<p>
				<font color="#000000">服务器的公网IP，比如为“218.88.135.48”，然后单击“下一步”按钮继续。<br />（7）在“可用连接”一步可以选择此连接仅允许当前客户机当前登录用户使用，还是</font>
		</p>
		<p>
				<font color="#000000">可让客户机中所有用户使用。默认选项为“所有用户使用此连接”，根据需要进行选择</font>
		</p>
		<p>
				<font color="#000000">，然后单击“下一步”按钮继续。 <br />（8）在“完成网络连接向导”一步可以更改本新连接的名称。默认为“虚拟专用连接</font>
		</p>
		<p>
				<font color="#000000">”，可不用修改，也可改为任意内容，比如为“到公司总部”，并勾选中“在我的桌面</font>
		</p>
		<p>
				<font color="#000000">添加一快捷方式”复选框，然后单击“完成”按钮继续。<br />（9）之后会自动弹出名为“连接到公司总部”的连接窗口。在“用户名”处输入</font>
		</p>
		<p>
				<font color="#000000">“water”（大小写不限），在“密码”处输入相应的密码，根据需要勾选中“保存密</font>
		</p>
		<p>
				<font color="#000000">码”复选框，然后单击“连接”按钮继续，见（图2）。<br />    注意：此处输入的用户名应为VPN服务器上已经建立好，并设置了具有拨入服务器</font>
		</p>
		<p>
				<font color="#000000">权限的用户，密码也为其密码。</font>
		</p>
		<p>
				<font color="#000000">图2 <br />（10）连接成功之后可以看到，双方的任务栏右侧均会出现两个拨号网络成功运行的图</font>
		</p>
		<p>
				<font color="#000000">标，其中一个是到Intenet的连接，另一个则是VPN的连接了！见（图3）。</font>
		</p>
		<p>
				<font color="#000000">图3 <br />注意：当双方建立好了通过Internet的VPN连接后，即相当于又在Internet上建立好了</font>
		</p>
		<p>
				<font color="#000000">一个双方专用的虚拟通道，而通过此通道，双方可以在网上邻居中进行互访，也就是说</font>
		</p>
		<p>
				<font color="#000000">相当于又组成了一个局域网络！这个网络是双方专用的，而且具体良好的保密性能。</font>
		</p>
		<p>
				<font color="#000000">VPN建立成功之后，双方便可以通过IP地址或"网上邻居"来达到互访的目的，当然也就</font>
		</p>
		<p>
				<font color="#000000">可以使用对方所共享出来的软硬件资源了！</font>
		</p>
		<p>
				<font color="#000000">VPN网络实际应用中遇到的问题及解决办法:</font>
		</p>
		<p>
				<font color="#000000">（1）当VPN网络建立成功之后，VPN客户机如何访问VPN服务器和VPN服务器所在的局域</font>
		</p>
		<p>
				<font color="#000000">网？<br />解决方法：像普通局域网一样，相互之间可以通过“网上邻居”，或者直接在任意窗口</font>
		</p>
		<p>
				<font color="#000000">地址栏输入“\\对方IP地址”（如“\\100.100.100.3”）等方式来访问对方共享出的</font>
		</p>
		<p>
				<font color="#000000">软硬件资源。</font>
		</p>
		<p>
				<font color="#000000">（2）VPN网络建立成功之后，VPN客户机便不能访问Internet了。如何才能做到VPN网络</font>
		</p>
		<p>
				<font color="#000000">访问和Internet访问两不误？<br />解决方法：这是因为VPN客户机系统使用了VPN服务器所定义的网关来覆盖了原有的网关</font>
		</p>
		<p>
				<font color="#000000">，从而切断了VPN客户机访问Internet的路径。解决方法是禁止VPN客户机使用VPN服务</font>
		</p>
		<p>
				<font color="#000000">器上的默认网关。具体操作方法如下：<br />对于Win2000客户机，在“网络和拨号连接”窗口中，先选中相应的连接名，比如为“</font>
		</p>
		<p>
				<font color="#000000">到公司总部”，单击右键，选“属性”打开“到公司总部 属性”窗口。再转到“网络</font>
		</p>
		<p>
				<font color="#000000">”选项卡，双击列表中的“Internet协议（TCP/IP）”打开“Internet协议（TCP/IP）</font>
		</p>
		<p>
				<font color="#000000">属性”窗口。然后单击“高级”按钮进入“高级TCP/IP设置”窗口的“常规”选项卡，</font>
		</p>
		<p>
				<font color="#000000">去掉“在远程网络上使用默认网关”前的小勾即可。</font>
		</p>
		<p>
				<font color="#000000"> </font>
		</p>
		<p>
				<font color="#000000">（3）为什么VPN网络建立成功之后，已经建立连接的VPN客户机和VPN服务器（含其下原</font>
		</p>
		<p>
				<font color="#000000">有的局域网计算机）无法显示在对方的“网上邻居”中？<br />解决方法：首先确保VPN客户机和VPN服务器均拥有相同的“工作组”名，然后还需要在</font>
		</p>
		<p>
				<font color="#000000">VPN服务器与VPN客户端上均安装“NetBEUI”协议（建议同时安装“IPX/SPX”协议）。</font>
		</p>
		<p>
				<font color="#000000">（4）VPN网络建立成功之后，用什么方法可以迅速、全面、直观地查看网络中所有活动</font>
		</p>
		<p>
				<font color="#000000">计算机的计算机名、占用的IP地址及共享资源？<br />解决方法：可以用IP-Tools软件。其下载地址为：</font>
		</p>
		<p>
				<a href="http://www.skycn.net/soft/1123.html">
						<font color="#000000">http://www.skycn.net/soft/1123.html</font>
				</a>
				<font color="#000000">（1.06MB）。下载之后直接运行即可很容易完</font>
		</p>
		<p>
				<font color="#000000">成安装。运行IP-Tools的主程序之后单击工具栏左起第4个“NB Scanner”按钮，根据</font>
		</p>
		<p>
				<font color="#000000">提示输入起始IP地址后，再单击“Start”按钮即可搜索到相应内容（图5）。</font>
		</p>
		<p>
				<font color="#000000">图5 <br /> </font>
		</p>
		<p>
				<font color="#000000">最后总结一下采用VPN的好处：                                                  </font>
		</p>
		<p>
				<font color="#000000">   </font>
		</p>
		<p>
				<font color="#000000">1. 降低了费用：首先，远程用户可以通过向当地的ISP申请账户登录到Internet，以</font>
		</p>
		<p>
				<font color="#000000">Internet作为通道与企业内部专用网络相连，通信费用大幅度降低；其次，企业可以节</font>
		</p>
		<p>
				<font color="#000000">省购买和维护通信设备的费用。</font>
		</p>
		<p>
				<font color="#000000">2. 增强了安全性：VPN 使用三个方面的技术保证了通信的安全性：通道协议、身份验</font>
		</p>
		<p>
				<font color="#000000">证和数据加密。客户机向VPN服务器发出请求，VPN服务器响应请求并向客户机发出身份</font>
		</p>
		<p>
				<font color="#000000">质询，客户机将加密的响应信息发送到VPN服务端，VPN服务器根据用户数据库检查该响</font>
		</p>
		<p>
				<font color="#000000">应，如果账户有效，VPN服务器将检查该用户是否具有远程访问的权限，如果该用户拥</font>
		</p>
		<p>
				<font color="#000000">有远程访问的权限，VPN服务器接受此连接。在身份验证过程中产生的客户机和服务器</font>
		</p>
		<p>
				<font color="#000000">公有密钥将用来对数据进行加密。</font>
		</p>
		<p>
				<font color="#000000">3. 支持最常用的网络协议：基于IP、IPX和NetBUI协议的网络中的客户机都能很容易地</font>
		</p>
		<p>
				<font color="#000000">使用VPN。</font>
		</p>
		<p>
				<font color="#000000">4. 有利于IP地址安全：VPN是加密的，VPN数据在Internet中传输时，Internet上的用</font>
		</p>
		<p>
				<font color="#000000">户只看到公共的IP地址，看不到数据包内包含的专用网络地址。</font>
		</p>
		<p>
				<font color="#000000">
				</font>
				<a href="http://www.qykk.com/inc/news/20060205/0191465265.asp">
				</a> </p>
<img src ="http://www.cppblog.com/cannon317/aggbug/5400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-04-12 16:38 <a href="http://www.cppblog.com/cannon317/archive/2006/04/12/5400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google搜索从入门到精通v4.0(转）</title><link>http://www.cppblog.com/cannon317/archive/2006/04/05/5018.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Wed, 05 Apr 2006 04:00:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/04/05/5018.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/5018.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/04/05/5018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/5018.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/5018.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1，前言2，摘要3，如何使用本文4，Google简介5，搜索入门6，初阶搜索6.1，搜索结果要求包含两个及两个以上关键字6.2，搜索结果要求不包含某些特定信息6.3，搜索结果至少包含多个关键字中的任意一个7，杂项语法7.1，通配符问题7.2，关键字的字母大小写7.3，搜索整个短语或者句子7.4，搜索引擎忽略的字符以及强制搜索8，进阶搜索8.1，对搜索的网站进行限制8.2，查询某一类文件8.3，搜索...&nbsp;&nbsp;<a href='http://www.cppblog.com/cannon317/archive/2006/04/05/5018.html'>阅读全文</a><img src ="http://www.cppblog.com/cannon317/aggbug/5018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-04-05 12:00 <a href="http://www.cppblog.com/cannon317/archive/2006/04/05/5018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>19种英语常用句型结构</title><link>http://www.cppblog.com/cannon317/archive/2006/03/29/4712.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Wed, 29 Mar 2006 02:12:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/03/29/4712.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/4712.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/03/29/4712.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/4712.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/4712.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Times New Roman">初学英语的人常常感到在掌握一些英语单词和基本语法后，在英语说和写方面还是很难表达自己，其中一个原因是没有掌握一些英语句型，只有掌握了一些句型才能比较正确、完整地表达自己。下面是一些常用的句型及其例句。<br />1.否定句型 <br />2.判断句型<br />3.祝愿祈使句式<br />4.感叹句型<br />5.疑问句型 <br />6.数词句型<br />7.关联指代句型<br />8.比较句型<br />9.比喻类句型<br />10.条件假设句 <br />11.时间句型<br />12.地点句型<br />13.原因句型<br />14.目的句型<br />15.结果句型 <br />16.程度句型<br />17.让步句型<br />18.转折句型<br />19.省略句<br /><br /><font color="#ff0000">1<b>. 否定句型</b></font><br />1) 一般否定句 <br />I don't know this. No news is good news.<br />There is no person /not a person/not any person in the house.<br />2)特指否定<br />He went to his office, not to see him. <br />I am sorry for not coming on time.<br />I don't think/believe/suppose/feel/imagine you are right.<br />3)部分否定<br />I don't know all of them. <br />I can't see everybody/everything.<br />All the answers are not right.（并非所有答案都对。）<br />All is not gold that glitters. （闪光的不一定都是金子。）<br />Both of them are not right.（并非两人都对。）<br />4)全体否定<br />None of my friends smoke.<br />I can see nothing/nobody.<br />Nothing can be so simple as this. <br />Neither of them is right.<br />5) 延续否定<br />You didn't see him, neither/nor did I. <br />You don't know, I don't know either.<br />He doesn't know English, let alone/to say nothing of/not to speak of French.<br />6) 半否定句 <br />We seldom/hardly/scarcely/barely hear such fine singing.<br />I know little English. <br />I saw few people.<br />7) 双重否定 <br />You can't make something out of nothing. <br />What's done cannot be undone.<br />There is no sweet without sweat. <br />No gain without pains.<br />I can't help /keep/ laughing whenever I hear it. <br />No man is so old but (that) he can learn.<br />8)排除否定<br />Everyone is ready except you. <br />He did nothing but play.<br />But for your help, I couldn't do it.<br />9)加强否定<br />I won't do it at all.<br />I can't see it any more. <br />He is no longer a boy.<br /><br /><font color="#ff0000"><b>2. 判断句型</b></font><br />1) 一般判断句 <br />It is important for us to learn English. <br />It is kind of you to help me.<br />Sincere means honest. <br />The boy is called/named Tom.<br />We regarded/considered it as an honor.<br />2)强调判断<br />It is English that we should learn. <br />It is he who helped me a lot.<br />3)弱式判断<br />Your sentence doesn't sound/look/appear/feel right.<br />You look/seem as if/as thought you had been there before.<br />Maybe/Perhaps/ she is ill. <br />He is probably ill. <br />He is likely ill. <br />It is possible that he is late<br />4) 正反判断<br />That sounds all right, but in fact it is not.<br />5) 互斥判断<br />He or you are wrong. <br />Either he is right or I am.<br />6) 注释判断<br />He is a walking dictionary, that is (to say), he can remember many English words. <br />7) 比较判断<br />It is more a picture than a poem. <br />Incomplete knowledge of style is worse than useless.<br /><br /><font color="#ff0000"><b>3. 祝愿祈使句式</b></font><br />1) 一般句式<br />Study hard and keep fit. <br />Be brave! Don't be shy! <br />Get out of here.<br />2)强语式<br />Do tell me. <br />Never tell a lie.<br />3) 委婉祈使句 <br />Please tell me the true. <br />Would/Will/Won't do me a favor?<br />Would/Do you mind my smoking? <br />What/How/ about going there on foot?<br />4)建议祈使句<br />Let us go. Let us know the time.<br />Don't let the fire out.<br />Let's not waste the time.<br />You'd better start early. <br />Shall we listen to some music?<br />Why don't you get something to drink? <br />I suggest we (should) take the train.<br />Suppose/supposing you pick me up at about six?<br />5)祝愿句<br />Success to you! <br />Wish you a good journey. <br />Here's to your success!<br />May you have a happy marriage. <br />Allow me to propose a toast to our friendship!<br /><br /><b><font color="#ff0000">4. 感叹句型</font></b><br />How well he speaks! <br />How kind she is!<br />What nice weather it is! <br />What a beautiful day! <br />Here he comes! <br />Such is life! <br />Wonderful! <br />Help! （救命啊！）<br /><br /><font color="#ff0000"><b>5. 疑问句型</b></font><br />1) 一般疑问句 <br />Is he a doctor? <br />Do you the way to the station?<br />2)反意疑问句<br />He is a teacher, isn't he? <br />It is quite cheap, don't you think?<br />3) 特殊疑问句 <br />What is the distance / width/ size / population / temperature / fare?<br />Who is he? <br />What is he?(他是干什么工作的？）<br />What is he like?<br />How/Where is he? <br />How do you like him? <br />What do you think of him?<br />What ever do you mean by saying this?<br />4)选择疑问句<br />Is he a doctor or a nurse?<br />Do you love it or not?<br />5)间接疑问句<br />Do you know how old he is? <br />Tell me if (whether) you like it.<br />What do you think/say/suppose I should do?<br /><br /><b><font color="#ff0000">6.数词句型</font></b><br />1) 表数目 <br />It is exactly ten o'clock.<br />It is five miles away from here.<br />He is more than/over/ at least not less than 20. <br />He is under/at most/no more than 20.<br />2)表年月日<br />He was born on April 22, 1994/in 1994/on the morning of October 1.<br />3)表年龄<br />He is 20 years old. = He is 20 years of age. <br />He is at the age of 10.<br />4)表倍数<br />It is four times that of last years. <br />This is four times as big (again) as that one.<br />This is four times bigger than that one. <br />The income is double what it was.<br />The output of coal was 200% greater than in 1998.<br />5)表计量<br />It is 10 meters long/wide/high. <br />It costs me 100 yuan. / It is worth 100 yuan.<br />I spent 10 hours to finish it. <br />It took me 10 days to finish it.<br /><br /><br /><font color="#ff0000"><b>7. 关联指代句型</b></font><br />1)两项关联 <br />I have two books, one is Chinese; the other English.<br />I have five books, one is Chinese; the others English.<br />To say is one thing, but/and/ to do is another.<br />One the one hand, I am your teacher, and on the other hand, I am also you friend.<br />Some like to play football, others are fond of basketball.<br />2)先后顺序<br />First/firstly, I wish good health, second/secondly success in your study, third/thirdly good luck in everything.<br />First stop, then look, finally cross.<br />At first/in the beginning/ he word hard. Later/Afterwards he is not so diligent.<br />3)修饰限制 <br />This is the same book as I lost yesterday. （不是同一本书，但书名、内容等相同）<br />This is the same book that I lost yesterday.(同一本书）<br />Don't trust such a man as over praise you.He/One/Those/They who should come failed to appear.<br />A man/A person/The one/Anyone/People who saw her liked her very much.<br />The day/time/moment will come when China is strongest in the world.<br />4) 两项连接<br />He can speak not only English but also French.<br />The book is both interesting and instructive. <br />It is neither cold nor hot.<br />Please either come in or go out. <br />The old worker has experience and knowledge as well.<br />5)加和关系<br />Besides literature, we have grammar and writing.<br />Apart from oxygen, there are some other gases in the air.<br />In addition to 'if', there are many other conjunctions that can introduce conditional clauses.<br />I must go now, incidentally, if you want that book.<br />You seem to like tea, so do I.<br /><br /><b><font color="#ff0000">8. 比较句型</font></b><br />1)等比句<br />He is as tall as I. <br />He is the same height as I.<br />She is no less diligent than he. <br />The lab is no better than a cottage.<br />2) 差比句 <br />I speak English worse than he does. / He is not so/as tall as I am.<br />Our knowledge is much inferior to their.<br />3) 极比句<br />He is the tallest of all in the class.<br />None/No one/ is so blind as those that won't see.<br />Nothing is so easy as this.<br />4)比例句<br />The more a man knows, the more he feels his ignorance.<br />5) 择比句<br />He is taller than any other boy in the class. <br />It is better late than never.<br />They would die than live as slaves. <br />He prefers doing to talking.<br />He prefers to do rather than to talk. <br />He prefers mathematics to English.<br />I'd rather stay here.<br />6)对比句<br />You think me idle, but on the contrary, I am busy.<br />They are working hard while you are wasting your time.<br /><br /><font color="#ff0000"><b>9.比喻类句型</b></font><br />We must work like him. <br />He behaves as his father does.<br />He speaks English as if/ as though he was a foreigner.<br /><br /><font color="#ff0000"><b>10.条件假设句</b></font><br />1) 一般事实<br />If we succeed, what will the people say?<br />Suppose it rains, what shall we do? <br />Persevere and you'll succeed.<br />2)虚拟条件句<br />If I were you, I would go.<br />If you had seen it, you would have been moved.<br />3)反条件句<br />Unless you try, you'll never succeed. <br />Don't move, or/else/otherwise I'll shot.<br />4)唯一条件句<br />If only I have another chance, I shall do better.<br />Only in this way can we learn English well.<br />So/As long as we don't lose heart, we'll succeed.<br />5)推论条件句 <br />Since that is so, there is no more to say. <br />Now that you are grown up, you must stop this behavior.<br /><br /><b><font color="#ff0000">11. 时间句型</font></b><br />1)一般时<br />When I see him, I'll tell him.<br />2) 同一时间<br />You'll grow wiser as you grow older.<br />Work while you work, play while you play.<br />He worked, at the same/in the meantime he listened to the music.<br />3)限制时<br />Every/each time when I went to his house, he was out.<br />By the time that we got there, he was out.<br />4)交替时<br />Sometimes he sings, sometimes he dances.<br />At one time the baby cries, at another it talks.<br />5)先时<br />I stopped him before he began to talk with me.<br />6)后时<br />I'll tell you after I finish it.<br />7)紧接时<br />As soon as I see him, I'll tell him. <br />Once you begin, you must continue.<br />The (very) moment/instant (that) I saw him, I recognized him.<br />On hearing the news, she bust into tears.<br />Hardly had I seen the light, when I heard a loud thundering.<br />8)延续时<br />I haven't seen him since I came here. <br />A friend is never known till/until a man has need.<br /><br /><font color="#ff0000"><b>12. 地点句型</b></font><br />1) 一般地点<br />Where have you been? <br />Where there is a will, there is a way.<br />2)方位<br />Guangdong lies in the south of China. <br />Japan is / lies to the east of China.<br />The house faces (to) the south. <br />He is sitting at the front of the classroom<br />He is standing in front of/before me. <br />He is sitting at the back of/behind me.<br />He is sitting in the back of/at the rear of the classroom.<br />He is sitting next to/besides me. <br />He is sitting close to/near me.<br />At the top of/On top of the shelf, there are some books.<br />He is sitting on the left/right. <br />The mountain you see to the right is the Red Mountain.<br /><br /><font color="#ff0000"><b>13.原因句型</b></font><br />He didn't go to school because he was ill.<br />Since we are all here, let's begin our meeting.<br />It might rain yesterday, for the ground was wet.<br />Now (that) we have finished the work, we can go home.<br />I am glad to meet you. / I am sorry that I hear that. <br />Thank you for your help.<br />That is why he failed to come. <br />He didn't come because of/on account of the weather.<br />He went out of curiosity. / I succeeded thanks to his help.<br />This failure is due to the fact they lack experience.<br />Owing to our joint efforts, the task was fulfilled. <br />What are you learning English for?<br />For what reason did you choose this? <br />What's the point of asking his to do that?<br />How come you never told me about it?<br />What with the wind and what with the rain, our walk was spoiled.<br /><br /><font color="#ff0000"><b>14.目的句型</b></font><br />He stopped aside so that she could go in.<br />He sits in the front in order that he can see words clearly.<br />He gets up early so as to/in order to have time to do exercises.<br />He repeated it for fear that there should be any mistake.<br /><br /><font color="#ff0000"><b>15. 结果句型</b></font><br />It was very cold, so that the river froze.<br />They cost a lot of money, so we use them carefully.<br />They cost a lot of money; therefore, we use them carefully.<br />He is such a good man that every one likes him.<br />He ran so fast that no one could catch him.<br />He hurried to the house only to find that it was empty.<br />I was caught in the rain. As a result, I had a bad cold.<br /><br /><font color="#ff0000"><b>16. 程度句型</b></font><br />How often do you write to your parents? <br />How long do you stay at home?<br />It is so beautiful that we all love it. <br />It is too big for you.<br />He is too excited to speak. <br />He is not old enough to know this.<br />The letter must be sent as soon as possible. <br />You must work as hard as you can.<br />As far as I know, he can speak only English.<br /><br /><b><font color="#ff0000">17. 让步句型</font></b><br />Though/Although he is rich, (yet/still) he doesn't show off.<br />Young as he is, he knows a lot of things. <br />Even if/though he succeeded, he was not proud.<br />No matter what you say, I'll still try to do it. <br />Keep calm, whatever happens.<br />In spite of this, we must go ahead with our plans.<br />Regardless of all the difficulties, we'll fight it out to the end.<br /><br /><font color="#ff0000"><b>18. 转折句型</b></font><br />I searched everywhere but could not find him. <br />You may go, only return quickly.<br />He is seriously ill; still there is hope of his recovery.<br />It looked like rain; however, it was clear in the afternoon.<br />He is still young, yet he is high up in the position.<br />He didn't tell me the truth, I know it, though.<br /><br /><b><font color="#ff0000">19. 省略句</font></b><font color="#ff0000"><b>型</b></font><br />I think/say/suppose/expect/believe/hope so. <br />Why not come earlier next time?</font>
		</p>
<img src ="http://www.cppblog.com/cannon317/aggbug/4712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-03-29 10:12 <a href="http://www.cppblog.com/cannon317/archive/2006/03/29/4712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java介绍</title><link>http://www.cppblog.com/cannon317/archive/2006/03/27/4657.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Mon, 27 Mar 2006 08:29:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/03/27/4657.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/4657.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/03/27/4657.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/4657.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/4657.html</trackback:ping><description><![CDATA[
		<p>１、java 2 SDK　的版本分类：<br />J2ME：(Java 2, Micro<br />Edition)一种以广泛的消费性产品为目的的高度优化的Java运行环境，包括讯呼机、移动电话、可视电话、数字机顶盒等...<br />它是致力于消费产品和嵌入式设备的开发人员的最佳选择。<br />J2SE：(Java 2, Standard Edition)是SUN公司针对桌面开发以及低端商务计算解决方案而开发的版本。<br />J2EE：(Java 2, Enterprise Edition)是一种利用Java<br />2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE的基础是J2SE，J2EE不仅巩固了标准版中的许多优点，同时还提供了对EJB、Servlets、JSP以及XML技术的全面支持。</p>
		<p>２、Java开发环境：<br />Java是面向对象的编成语言，JDK作为其开发包。可以在Web上开发相关的Web应用；也可以开发各种类型的桌面程序。前者称为小程序Applet；后者称为应用程序Application。<br />Java开发工具包JDK(Java Development<br />Kit)是编写Java程序的基础，它集成了编译Java源程序的编译器、运行Java类文件的解释器等必备工具。</p>
		<p>３、获得JDK<br />目前SUN公司发布的JDK版本最高为1.5，所对应的平台有LInux、Solaris和Windows等等，下面的链接是JDK1.4.2的下载页面：<br /><a href="http://java.sun.com/j2se/1.4.2/download.html">http://java.sun.com/j2se/1.4.2/download.html</a><br />点击Download J2SE SDK，接受协议并下载<br />Windows Offline Installation, Multi-language 即可，官方服务器有点慢，多等一会儿吧。</p>
		<p>４、配置Java开发环境<br />首先，安装。假设在D:\jdk14，不多说了。<br />其次，配置PATH环境变量。<br />1.对于Windows 95/98：<br />打开C:\的AOTUEXEC.BAT文件，找到PATH并在其最后加上<br />";d:\jdk14\bin"。如果没有PATH，则加上"PATH d:\jdk14\bin;."。重起后即可。<br />2.对于Windows NT/2000/XP：<br />"我的电脑"－&gt;"属性"－&gt;"高级"－&gt;"环境变量"－&gt;找到Path－&gt;<br />在最后加入";d:\jdk14\bin"。如果没有，则"新建"PATH，其值为："d:\jdk14\bin"。<br />检验配置是否正确：进入DOS命令提示符，在任意目录输入"javac"并回车，如果出现该命令的使用方法（usage ...）。<br />恭喜你！我们可以进入Java的编程世界了。</p>
		<p>５、源程序的编译与运行<br />JDK的编译与运行需要在DOS命令提示符下使用。</p>
		<p>编译器（javac.exe）：<br />格式：javac [参数] 源程序<br />如：编译当前目录下Hello.java文件，并且把生成的类文件也放到当前目录<br />javac Hello.java</p>
		<p>通常情况下，如果 CLASSPATH 设置正确，我们只需要使用不带参数的 javac 即可很好的编译 Java<br />程序，但是，为了方便以见，这里还是要介绍一些参数：</p>
		<p>-classpath &lt;path&gt; 如果编译时需要用到的 Java 类文件不在 CLASSPATH 指定的路径中，编译时可以指定<br />-classpath 参数指定可能用到类所在的目录。如 (假设 Java 运行类放在 d:\javacode 目录下)：<br />javac -classpath d:\javacode Hello.java</p>
		<p>-d &lt;directory&gt; 使用 -d 参数可以指定编译生成的 .class 文件输入到哪一个目录。通常情况下，javac 把生成的<br />.class 文件放在 .java 文件所在的目录中。如果使用 -d 参数，则可以指定 javac 将生成的 .class<br />文件入在其它目录中，如下例将生成的 HelloJava.class 输出到 d:\myclass 中<br />javac -d :\myclass HelloJava.java</p>
		<p>常用的 javac 参数就介绍这两个。如果你需要了解其它参数的用法和作用，可以运行不带任何参数的 javac。它将打印出 javac 的用法文档。</p>
		<p>解释器（java.exe）：<br />格式：java [参数] 类名 [程序参数]<br />如果运行当前目录中Hello类：java Hello　即可，而不是java Hello.class</p>
		<p>-classpath &lt;path&gt; 如果编译时需要用到的 Java 类文件不在 CLASSPATH 指定的路径中，编译时可以指定<br />-classpath 参数指定可能用到类所在的目录。如 (假设 Java 运行类放在 d:\javacode 目录下)：<br />java -classpath d:\javacode Hello.java</p>
		<p>如果你需要了解其它参数的用法和作用，可以运行不带任何参数的 java。它将打印出 java 的用法文档。</p>
		<p>６、关于CLASSPATH环境变量<br />它是用来设置"类路径"的，提供给JVM的类装载器到哪里寻找第三方提供的类和用户定义的类。<br />它的配置方法和PATH环境变量的方法一样，只是该成CLASSPATH。<br />例如：在d:\javacode目录写程序，那么，就可以把CLASSPATH设置成".;d:\javacode"，以后，无论在哪个目录下都可以运行自己所写的类了。<br />注意：每个类目录用"；"分隔，分号前面的那个句点"."很重要，它代表"当前目录"，如果没有它，JVM只到"d:\javacode"里去找类，而当前目录就被忽略了。</p>
		<p>有的朋友运行程序时，出现：<br />Exception in thread "main" java.lang.NoClassDefFoundError:<br />一般就是JVM没有找到所使用的类。</p>
		<p>当然，第三方提供的".jar"文件也是在这里设置的，<br />例如：在CLASSPATH里写上这么一句：";d:\jxta\lib\jxta.jar"，<br />那么，在编程过程中就可以使用jxta.jar包中的API了。至于JXTA是Java实现P2P编程的一个平台。</p>
		<p>７、关于JRE<br />JRE 是Java运行环境 (Java Runtime Enviroment)<br />的缩写。它是JDK的基础，在安装JDK时就已经安装了它。如果只想运行Java程序，而不编译Java程序的话，安装JRE就足够了。</p>
		<p>８、关于Java方面的书<br />买书要慎重。现在市面上的关于Java的书已经很多了，<br />我推荐一些：<br />初级读物：<br />《21天学通Java2第三版》<br />《Java 2编程详解》<br />《Java 2从入门到精通》<br />高级读物：<br />《Thinking in Java》<br />《java与模式》<br />……<br />作为入门Java来说，主要是学习"面向对象的概念"和"Java编程的思维方式"，至于类的使用可以查看Java文档资料。</p>
		<p>９、Sun的资料<br />如果English说得过去，可以看Sun的Java文档，那里有每个类的详细说明。<br /><a href="http://java.sun.com/j2se/1.4.2/download.html">http://java.sun.com/j2se/1.4.2/download.html</a><br />中的J2SE 1.4.2 Documentation</p>
		<p>同时，Sun还提供了Java从初级到高级的一系列"书籍"：<br />１、The Java Tutorial<br />Java指南，讲得很具体。<br />２、The JFC Swing Tutorial, Second Edition: A Guide to Constructing GUIs<br />３、The Java Tutorial Continued: The Rest of the JDK</p>
		<p>可以在这里在线阅读，也可以下载（就在右边）。</p>
		<p>１０、开发Java的常用工具<br />1.　记事本＋JDK：原始社会，不可思议的组合。<br />2.　Jcreator＋JDK：小巧伶俐的组合，提供自动补全功能，强力推荐。如果安装Jcreator后无法编译程序，就手动配置一下［Configure］--&gt;［Options］--&gt;［JDK<br />Profiles］--&gt;［New］选择JDK的安装目录。要使用自己的类，可以使用［Edit...］功能在已有的JDK中添加类，其功能类似设置CLASSPATH。（其中add<br />Path是添加路径、add Archive来添加一个.jar的文件）<br />3.　netBeans：Sun提供的IDE 环境，要求配置很高，反正我的机器跑得很慢。<br />4.　Jbuilder：地球人都知道。<br />5.　Eclipse：可以通过插件实现意想不到的功能。<br /></p>
<img src ="http://www.cppblog.com/cannon317/aggbug/4657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-03-27 16:29 <a href="http://www.cppblog.com/cannon317/archive/2006/03/27/4657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 体系结构介绍</title><link>http://www.cppblog.com/cannon317/archive/2006/03/24/4546.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Fri, 24 Mar 2006 08:47:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/03/24/4546.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/4546.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/03/24/4546.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/4546.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/4546.html</trackback:ping><description><![CDATA[
		<p>在本章里你可以了解以下内容 <br />1、 ORACLE 实例——包括内存结构与后台进程 <br />2、 ORACLE 数据库——物理操作系统文件的集合 <br />3、 了解内存结构的组成 <br />4、 了解后台进程的作用 <br />5、 了解数据库的物理文件 <br />6、 解释各种逻辑结构 <br />一、ORACLE实例<br />1、ORACLE 实例 <br />System Global Area(SGA) 和 Background Process 称为数据库的实例。 <br />2、ORACLE 数据库 <br />一系列物理文件的集合（数据文件，控制文件，联机日志，参数文件等） <br />3、系统全局共享区System Global Area(SGA)  <br />System Global Area 是一块巨大的共享内存区域，他被看做是Oracle 数据库的一个大缓冲池，这里的数据可以被ORACLE的各个进程共用。其大小可以通过如下语句查看： <br />SQL&gt; select * from v$sga; <br />NAME VALUE <br />-------------------- --------- <br />Fixed Size 39816 <br />Variable Size 259812784 <br />Database Buffers 1.049E+09 <br />Redo Buffers 327680 <br />更详细的信息可以参考V$sgastat、V$buffer_pool <br />主要包括以下几个部分： <br />a、 共享池(Shared pool) <br />共享池是SGA中最关键的内存片段，特别是在性能和可伸缩性上。一个太小的共享池会扼杀性能，使系统停止，太大的共享池也会有同样的效果，将会消耗大量的CPU来管理这个共享池。不正确的使用共享池只会带来灾难。共享池主要又可以分为以下两个部分： <br />•SQL语句缓冲(Library Cache) <br />当一个用户提交一个SQL语句，Oracle会将这句SQL进行分析(parse)，这个过程类似于编译，会耗费相对较多的时间。在分析完这个SQL，Oracle会把他的分析结果给保存在Shared pool的Library Cache中，当数据库第二次执行该SQL时，Oracle自动跳过这个分析过程，从而减少了系统运行的时间。这也是为什么第一次运行的SQL 比第二次运行的SQL要慢一点的原因。 <br />下面举例说明parse的时间 <br />SQL&gt; select count(*) fromscpass ; <br />COUNT(*) <br />---------- <br />243 <br />Elapsed: 00:00:00.08 <br />这是在Share_pool 和Data buffer 都没有数据缓冲区的情况下所用的时间 <br />SQL&gt; alter system flush SHARED_POOL; <br />System altered. <br />清空Share_pool，保留Data buffer <br />SQL&gt; select count(*) from scpass ; <br />COUNT(*) <br />---------- <br />243 <br />Elapsed: 00:00:00.02 <br />SQL&gt; select count(*) from scpass ; <br />COUNT(*) <br />---------- <br />243 <br />Elapsed: 00:00:00.00 <br />从两句SQL 的时间差上可以看出该SQL 的Parse 时间约为00:00:00.02 <br />对于保存在共享池中的SQL语句，可以从V$Sqltext、v$Sqlarea中查询到，对于编程者来说，要尽量提高语句的重用率，减少语句的分析时间。一个设计的差的应用程序可以毁掉整个数据库的Share pool，提高SQL语句的重用率必须先养成良好的变成习惯，尽量使用Bind变量。 <br />•数据字典缓冲区(Data Dictionary Cache) <br />显而易见，数据字典缓冲区是ORACLE特地为数据字典准备的一块缓冲池，供ORACLE内部使用，没有什么可以说的。 <br />b、块缓冲区高速缓存(Database Buffer Cache) <br />这些缓冲是对应所有数据文件中的一些被使用到的数据块。让他们能够在内存中进行操作。在这个级别里没有系统文件,，户数据文件，临时数据文件，回滚段文件之分。也就是任何文件的数据块都有可能被缓冲。数据库的任何修改都在该缓冲里完成，并由DBWR进程将修改后的数据写入磁盘。 <br />这个缓冲区的块基本上在两个不同的列表中管理。一个是块的“脏”表(Dirty List)，需要用数据库块的<br />书写器(DBWR)来写入，另外一个是不脏的块的列表(Free List)，一般的情况下，是使用最近最少使用 (Least Recently Used,LRU)算法来管理。块缓冲区高速缓存又可以细分为以下三个部分（Default pool,Keep pool,Recycle pool）。如果不是人为设置初始化参数(Init.ora)，ORACLE将默认为Default pool。由于操作系统寻址能力的限制，不通过特殊设置，在32位的系统上，块缓冲区高速缓存最大可以达到1.7G，在64位系统上，块缓冲区高速缓存最大可以达到10G。 <br />c、重做日志缓冲区(Redo log buffer) <br />重做日志文件的缓冲区，对数据库的任何修改都按顺序被记录在该缓冲，然后由LGWR进程将它写入磁盘。这些修改信息可能是DML语句，如(Insert,Update,Delete)，或DDL语句，如(Create,Alter,Drop等)。 重做日志缓冲区的存在是因为内存到内存的操作比较内存到硬盘的速度快很多，所以重作日志缓冲区可以加快数据库的操作速度，但是考虑的数据库的一致性与可恢复性，数据在重做日志缓冲区中的滞留时间不会很长。所以重作日志缓冲区一般都很小，大于3M之后的重作日志缓冲区已经没有太大的实际意义。 <br />d、Java程序缓冲区(Java Pool) <br />Java 的程序区，Oracle 8I 以后，Oracle 在内核中加入了对Java的支持。该程序缓冲区就是为Java 程序保留的。如果不用Java程序没有必要改变该缓冲区的默认大小。 <br />e、大池(Large Pool) <br />大池的得名不是因为大，而是因为它用来分配大块的内存，处理比共享池更大的内存，在8.0开始引入。 <br />下面对象使用大池： <br />•MTS——在SGA的Large Pool中分配UGA <br />•语句的并行查询(Parallel Executeion of Statements)——允许进程间消息缓冲区的分配，用来协调 并行查询服务器 <br />•备份(Backup)——用于RMAN磁盘I/O缓存 <br />4、后台进程(Background process) <br />后台进程是Oracle的程序，用来管理数据库的读写，恢复和监视等工作。Server Process主要是通过他和user process进行联系和沟通，并由他和user process进行数据的交换。在Unix机器上，Oracle后台进程相对于操作系统进程，也就是说，一个Oracle后台进程将启动一个操作系统进程；在Windows机器上， Oracle后台进程相对于操作系统线程，打开任务管理器，我们只能看到一个ORACLE.EXE的进程，但是通过另外的工具，就可以看到包含在这里进程中的线程。 <br />在Unix上可以通过如下方法查看后台进程： <br />ps –ef | grep ora_ <br /># ps -ef | grep ora_ | grep XCLUAT <br />oracle 29431 1 0 Sep 02 ? 2:02 ora_dbwr_SID <br />oracle 29444 1 0 Sep 02 ? 0:03 ora_ckpt_SID <br />oracle 29448 1 0 Sep 02 ? 2:42 ora_smon_SID <br />oracle 29442 1 0 Sep 02 ? 3:25 ora_lgwr_SID <br />oracle 29427 1 0 Sep 02 ? 0:01 ora_pmon_SID <br />a、Oracle系统有5 个基本进程他们是 <br />DBWR(数据文件写入进程) <br />LGWR(日志文件写入进程) <br />SMON(系统监护进程) <br />PMON(用户进程监护进程) <br />CKPT(检查点进程,同步数据文件, 日志文件,控制文件) <br />b、DBWR <br />将修改过的数据缓冲区的数据写入对应数据文件 <br />维护系统内的空缓冲区 <br />这里指出几个容易错误的概念: <br />•当一个更新提交后,DBWR把数据写到磁盘并返回给用户提交完成. <br />•DBWR会触发CKPT 后台进程 <br />•DBWR不会触发LGWR 进程 <br />上面的概念都是错误的. <br />DBWR是一个很底层的工作进程，他批量的把缓冲区的数据写入磁盘。和任何前台用户的进程几乎没有什么关系，也不受他们的控制。至于DBWR会不会触发LGWR和CKPT进程，我们将在下面几节里讨论。 <br />DBWR工作的主要条件如下 <br />•DBWR 超时 <br />•系统中没有多的空缓冲区用来存放数据 <br />•CKPT 进程触发DBWR 等 <br />c、LGWR <br />将重做日志缓冲区的数据写入重做日志文件，LGWR是一个必须和前台用户进程通信的进程。当数据被修改的时候，系统会产生一个重做日志并记录在重做日志缓冲区内。这个重做日志可以类似的认为是以下的一个结构: <br />SCN=000000001000 <br />数据块ID <br />对象ID=0801 <br />数据行=02 <br />修改后的数据=0011 <br />提交的时候，LGWR必须将被修改的数据的重做日志缓冲区内数据写入日志数据文件，然后再通知前台进程提交成功，并由前台进程通知用户。从这点可以看出LGWR承担了维护系统数据完整性的任务。 <br />LGWR 工作的主要条件如下 <br />•用户提交 <br />•有1/3 重做日志缓冲区未被写入磁盘 <br />•有大于1M 重做日志缓冲区未被写入磁盘 <br />•超时 <br />•DBWR需要写入的数据的SCN号大于LGWR 记录的SCN号，DBWR 触发LGWR写入 <br />d、SMON <br />工作主要包含 <br />•清除临时空间 <br />•在系统启动时，完成系统实例恢复 <br />•聚结空闲空间 <br />•从不可用的文件中恢复事务的活动 <br />•OPS中失败节点的实例恢复 <br />•清除OBJ$表 <br />•缩减回滚段 <br />•使回滚段脱机 <br />e、PMON <br />主要用于清除失效的用户进程，释放用户进程所用的资源。如PMON将回滚未提交的工作，释放锁，释放分配给失败进程的SGA资源。 <br />f、CKPT <br />同步数据文件，日志文件和控制文件，由于DBWR/LGWR的工作原理，造成了数据文件，日志文件，控制文件的不一至，这就需要CKPT进程来同步。CKPT会更新数据文件/控制文件的头信息。 <br />CKPT工作的主要条件如下 <br />•在日志切换的时候 <br />•数据库用immediate ,transaction , normal 选项shutdown 数据库的时候 <br />•根据初始话文件LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT、FAST_START_IO_TARGET 的设置的数值来确定 <br />•用户触发 <br />以下进程的启动需要手工配置 <br />g、ARCH <br />当数据库以归档方式运行的时候，Oracle会启动ARCH进程，当重做日志文件被写满时，日志文件进行切换，旧的重做日志文件就被ARCH进程复制到一个/多个特定的目录/远程机器。这些被复制的重做日志文件被叫做归档日志文件。 <br />h、RECO <br />负责解决分布事物中的故障。Oracle可以连接远程的多个数据库，当由于网络问题，有些事物处于悬而未决的状态。RECO进程试图建立与远程服务器的通信，当故障消除后，RECO进程自动解决所有悬而未决的会话。 <br />i、服务进程Server Process <br />服务进程的分类 <br />•专用服务进程(Dedicated Server Process) <br />一个服务进程对应一个用户进程 <br />•共享服务进程(MultiTreaded Server Process) <br />一个服务进程对应多个用户进程，轮流为用户进程服务。 <br />PGA &amp; UGA <br />PGA = Process Global Area <br />UGA = User Global Area <br />他保存了用户的变量、权限、堆栈、排序空间等用户信息，对于专用服务器进程，UGA在PGA中分配。对于多线程进程，UGA在Large pool中分配。 <br />j、用户进程User Process <br />在客户端，将用户的SQL 语句传递给服务进程 <br />5、一个贯穿数据库全局的概念----系统改变号SCN(System Change Number) <br />系统改变号，一个由系统内部维护的序列号。当系统需要更新的时候自动增加，他是系统中维持数据的一致性和顺序恢复的重要标志。 <br />a. 查询语句不会使SCN增加，就算是同时发生的更新，数据库内部对应的SCN也是不同的。这样一来就保证了数据恢复时候的顺序。 <br />b. 维持数据的一致性，当一 <br />二、ORACLE 数据库 <br />ORACLE数据库的组成——物理操作系统文件的集合。主要包括以下几种。 <br />1、控制文件（参数文件init.ora记录了控制文件的位置） <br />控制文件包括如下主要信息 <br />•数据库的名字，检查点信息，数据库创建的时间戳 <br />•所有的数据文件，联机日志文件，归档日志文件信息 <br />•备份信息等 <br />有了这些信息，Oracle就知道那些文件是数据文件，现在的重做日志文件是哪些，这些都是系统启动和运行的基本条件，所以他是Oracle运行的根本。如果没有控制文件系统是不可能启动的。控制文件是非常重要的，一般采用多个镜相复制来保护控制文件，或采用RAID来保护控制文件。控制文件的丢失，将使数据库的恢复变的很复杂。 <br />控制文件信息可以从V$Controlfile中查询获得 <br />2、数据文件（数据文件的详细信息记载在控制文件中） <br />可以通过如下方式查看数据文件 <br />SQL&gt; select name from v$datafile; <br />NAME <br />--------------------------------------------- <br />/u05/dbf/PROD/system_01.dbf <br />/u06/dbf/PROD/temp_01.dbf <br />/u04/dbf/PROD/users_01.dbf <br />/u09/dbf/PROD/rbs_01.dbf <br />/u06/dbf/PROD/applsys_indx_01.dbf <br />/u05/dbf/PROD/applsys_data_01.dbf <br />从以上可以看出，数据文件大致可以分为以下几类： <br />i. 系统数据文件(system_01.dbf) <br />存放系统表和数据字典，一般不放用户的数据，但是用户脚本，如过程，函数，包等却是保存在数据字典中的。 <br />名词解释：数据字典  数据字典是一些系统表或视图，他存放系统的信息，他包括数据库版本，数据文件信息，表与索引等段信息，系统的运行状态等各种和系统有关的信息和用户脚本信息。数据库管理员可以通过对数据字典的查询，就可以了解到Oracle的运行状态。 <br />ii. 回滚段文件(rbs_01.dbf) <br />如果数据库进行对数据的修改，那么就必须使用回滚段，回滚段是用来临时存放修改前的数据(Before Image)。回滚段通常都放在一个单独的表空间上（回滚表空间），避免表空间碎片化，这个表空间包含的数据文件就是回滚数据文件。 <br />iii. 临时数据文件(temp_01.dbf) <br />主要存放用户的排序等临时数据，与回滚段相似，临时段也容易引起表空间碎片化，而且没有办法在一个永久表空间上开辟临时段，所以就必须有一个临时表空间，它所包含的数据文件就是临时数据文件，主要用于不能在内存上进行的排序操作。我们必须为用户指定一个临时表空间。 <br />iv. 用户数据文件(/applsys_data_01.dbf ,applsys_indx_01.dbf) <br />存放用户数据，这里列举了两类常见的用户型数据，一般数据和索引数据，一般来说，如果条件许可的话，可以考虑放在不同的磁盘上。 <br />3、重做日志文件（联机重做日志） <br />用户对数据库进行的任何操作都会记录在重做日志文件。在了解重做日志之前必须了解重做日志的两个概念，重做日志组和重做日志组成员(Member)，一个数据库中至少要有两个日志组文件，一组写完后再写另一组，即轮流写。每个日志组中至少有一个日志成员，一个日志组中的多个日志成员是镜相关系，有利于日志文件的保护，因为日志文件的损坏，特别是当前联机日志的损坏，对数据库的影响是巨大的。 <br />联机日志组的交换过程叫做切换，需要特别注意的是，日志切换在一个优化效果不好的数据库中会引起临时的“挂起”。挂起大致有两种情况： <br />•在归档情况下，需要归档的日志来不及归档，而联机日志又需要被重新利用 <br />•检查点事件还没有完成（日志切换引起检查点），而联机日志需要被重新利用 <br />解决这种问题的常用手段是： <br />i.增加日志组 <br />ii.增大日志文件成员大小 <br />通过v$log可以查看日志组，v$logfile可以查看具体的成员文件。 <br />4、归档日志文件 <br />Oracle可以运行在两种模式之中，归档模式和不归档模式。如果不用归档模式，当然，你就不会有归档日志，但是，你的系统将不会是一个实用系统，特别是不能用于生产系统，因为你可能会丢失数据。但是在归档模式中，为了保存用户的所有修改，在重做日志文件切换后和被覆盖之间系统将他们另外保存成一组连续的文件系列，该文件系列就是归档日志文件。 <br />有人或许会说，归档日志文件占领我大量的硬盘空间，其实，具体想一想，你是愿意浪费一点磁盘空间来保护你的数据，还是愿意丢失你的数据呢？显而义见，我们需要保证我们的数据的安全性。其实，归档并不是一直占领你的磁盘空间，你可以把她备份到磁带上，或则删除上一次完整备份前的所有日志文件。 <br />5、初始化参数文件 <br />initSID.ora或init.ora文件，因为版本的不一样，其位置也可能会不一样。在8i中，通常位于$ORACLE_HOME/admin//Pfile下，初始化文件记载了许多数据库的启动参数，如内存，控制文件，进程数等，在数据库启动的时候加载（Nomount时加载），初始化文件记录了很多重要参数，对数据库的性能影响很大，如果不是很了解，不要轻易乱改写，否则会引起数据库性能下降。 <br />6、其他文件 <br />i . 密码文件 <br />用于Oracle 的具有sysdba权限用户的认证. <br />ii. 日志文件 <br />•报警日志文件（alert.log或alrt.ora） <br />记录数据库启动，关闭和一些重要的出错信息。数据库管理员应该经常检查这个文件，并对出现的问题作出即使的反应。你可以通过以下SQL 找到他的路径select value from v$PARAMETER where name ="background_dump_dest"; <br />•后台或用户跟踪文件 <br />系统进程或用户进程出错前写入的信息，一般不可能读懂，可以通过ORACLE的TKPROF工具转化为可以读懂的格式。对于系统进程产生的跟踪文件与报警日志文件的路径一样，用户跟踪文件的路径，你可以通过以下SQL找到他的路径select value from v$PARAMETER where name ="user_dump_dest"; <br />三、ORACLE逻辑结构 <br />1、 表空间(tablespace) <br />表空间是数据库中的基本逻辑结构，一系列数据文件的集合。一个表空间可以包含多个数据文件，但是一个数据文件只能属于一个表空间。 <br />2、 段(Segment) <br />段是对象在数据库中占用的空间，虽然段和数据库对象是一一对应的，但段是从数据库存储的角度来看的。一个段只能属于一个表空间，当然一个表空间可以有多个段。 <br />表空间和数据文件是物理存储上的一对多的关系，表空间和段是逻辑存储上的一对多的关系，段不直接和数据文件发生关系。一个段可以属于多个数据文件，关于段可以指定扩展到哪个数据文件上面。 <br />段基本可以分为以下四种 <br />•数据段(Data Segment) <br />•索引段(Index Segment) <br />•回滚段(Rollback Segment) <br />•临时段(Temporary Segment) <br />3、区间(Extent) <br />关于Extent的翻译有多种解释，有的译作扩展，有的译作盘区，我这里通常译为区间。在一个段中可以存在多个区间，区间是为数据一次性预留的一个较大的存储空间，直到那个区间被用满，数据库会继续申请一个新的预留存储空间，即新的区间，一直到段的最大区间数(Max Extent)或没有可用的磁盘空间可以申请。 在ORACLE8i以上版本，理论上一个段可以无穷个区间，但是多个区间对ORACLE却是有性能影响的，ORACLE建议把数据分布在尽量少的区间上，以减少ORACLE的管理与磁头的移动。 <br />4、Oracle数据块(Block) <br />ORACLE最基本的存储单位，他是OS数据块的整数倍。ORACLE的操作都是以块为基本单位，一个区间可以包含多个块（如果区间大小不是块大小的整数倍，ORACLE实际也扩展到块的整数倍）。 <br />5、基本表空间介绍 <br />a. 系统表空间 <br />主要存放数据字典和内部系统表基表 <br />查看数据数据字典的SQL <br />select * from dict <br />查看内部系统表的SQL <br />select * from v$fixed_view_definition <br />DBA对系统的系统表中的数据字典必须有一个很深刻的了解，他们必须准备一些基础的SQL语句，通过这些SQL可以立即了解系统的状况和数据库的状态，这些基本的SQL包括 <br />系统的剩余空间 <br />系统的SGA  <br />状态系统的等待 <br />用户的权限 <br />当前的用户锁 <br />缓冲区的使用状况等 <br />在成为DBA 的道路上我们不建议你过分的依赖于OEM/Quest 等优秀的数据库管理工具，因为他们不利于你对数据数据字典的理解，SQL语句可以完成几乎全部的数据库管理工作。 <br />大量的读少量的写是该表空间的一个显著的特点。 <br />b. 临时表空间. <br />临时表空间顾名思义是用来存放临时数据的，例如排序操作的临时空间，他的空间会在下次系统启动的时候全部被释放。 <br />c. 回滚段表空间 <br />i. 回滚段在系统中的作用 <br />当数据库进行更新插入删除等操作的时候，新的数据被更新到原来的数据文件，而旧的数据(Before Image)就被放到回滚段中，如果数据需要回滚，那么可以从回滚段将数据再复制到数据文件中。来完成数据的回滚。在系统恢复的时候， 回滚段可以用来回滚没有被commit 的数据，解决系统的一至性。 <br />回滚段在什么情况下都是大量的写，一般是少量读，因此建议把回滚段单独出来放在一个单独的设备（如单独的磁盘或RAID），以减少磁盘的IO争用。  <br />ii. 回滚段的工作方式 <br />•一个回滚表空间可以被划分成多个回滚段. <br />•一个回滚段可以保存多个会话的数据. <br />•回滚段是一个圆形的数据模型 <br />假设回滚段由4 个区间组成，他们的使用顺序就是区间1à区间2à区间3à区间4à区间1。也就是说，区间是可以循环使用的，当区间4到区间1的时候，区间1里面的会话还没有结束, 区间4用完后就不能再用区间1,这时系统必须分配区间5，来继续为其他会话服务服务。 <br />我们分析一个Update 语句的完成 <br />①. 用户提交一个Update 语句 <br />②. Server Process 检查内存缓冲. <br />如果没有该数据块的缓冲，则从磁盘读入 <br />i. 如果没有内存的有效空间，DBWR被启动将未写入磁盘的脏缓冲写入磁盘 <br />ii. 如果有有效空间，则读入 <br />③. 在缓冲内更新数据 <br />i. 申请一个回滚段入口，将旧数据写如回滚段 <br />ii. 加锁并更新数据 <br />iii. 并在同时将修改记录在Redo log buffer中</p>
<img src ="http://www.cppblog.com/cannon317/aggbug/4546.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-03-24 16:47 <a href="http://www.cppblog.com/cannon317/archive/2006/03/24/4546.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql使用基础知识</title><link>http://www.cppblog.com/cannon317/archive/2006/03/24/4545.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Fri, 24 Mar 2006 08:45:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/03/24/4545.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/4545.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/03/24/4545.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/4545.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/4545.html</trackback:ping><description><![CDATA[有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。 <br />一、连接MYSQL。 <br />格式： mysql -h主机地址 -u用户名 －p用户密码 <br />1、例1：连接到本机上的MYSQL。 <br />首先在打开DOS窗口，然后进入目录 mysqlbin，再键入命令mysql -uroot -p，回车后提示你输密码，如果刚安装好MYSQL，超级用户root是没有密码的，故直接回车即可进入到MYSQL中了，MYSQL的提示符是：mysql&gt; <br />2、例2：连接到远程主机上的MYSQL。假设远程主机的IP为：110.110.110.110，用户名为root,密码为abcd123。则键入以下命令： <br />mysql -h110.110.110.110 -uroot -pabcd123 <br />（注:u与root可以不用加空格，其它也一样） <br />3、退出MYSQL命令： exit （回车） <br />二、修改密码。 <br />格式：mysqladmin -u用户名 -p旧密码 password 新密码 <br />1、例1：给root加个密码ab12。首先在DOS下进入目录mysqlbin，然后键入以下命令 <br />mysqladmin -uroot -password ab12 <br />注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。 <br />2、例2：再将root的密码改为djg345。 <br />mysqladmin -uroot -pab12 password djg345 <br />三、增加新用户。（注意：和上面不同，下面的因为是MYSQL环境中的命令，所以后面都带一个分号作为命令结束符） <br />格式：grant select on 数据库.* to 用户名@登录主机 identified by "密码" <br />例1、增加一个用户test1密码为abc，让他可以在任何主机上登录，并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL，然后键入以下命令： <br />grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; <br />但例1增加的用户是十分危险的，你想如某个人知道test1的密码，那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了，解决办法见例2。 <br />例2、增加一个用户test2密码为abc,让他只可以在localhost上登录，并可以对数据库mydb进行查询、插入、修改、删除的好作（localhost指本地主机，即MYSQL数据库所在的那台主机），这样用户即使用知道test2的密码，他也无法从internet上直接访问数据库，只能通过MYSQL主机上的web页来访问了。 <br />grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; <br />如果你不想test2有密码，可以再打一个命令将密码消掉。 <br />grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; <br /><br /><br />我们来看看MYSQL中有关数据库方面的好作。注意：你必须首先登录到MYSQL中，以下好作都是在MYSQL的提示符下进行的，而且每个命令以分号结束。 <br /><br />一、好作技巧 <br />1、如果你打命令时，回车后发现忘记加分号，你无须重打一遍命令，只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打，完后用分号作结束标志就OK。 <br />2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。 <br /><br />二、显示命令 <br />1、显示数据库列表。 <br />show databases; <br />刚开始时才两个数据库：mysql和test。mysql库很重要它里面有MYSQL的系统信息，我们改密码和新增用户，实际上就是用这个库进行好作。 <br />2、显示库中的数据表： <br />use mysql； ／／打开库，学过FOXBASE的一定不会陌生吧 <br />show tables; <br />3、显示数据表的结构： <br />describe 表名; <br />4、建库： <br />create database 库名; <br />5、建表： <br />use 库名； <br />create table 表名 (字段设定列表)； <br />6、删库和删表: <br />drop database 库名; <br />drop table 表名； <br />7、将表中记录清空： <br />delete from 表名; <br />8、显示表中的记录： <br />select * from 表名; <br /><br />三、一个建库和建表以及插入数据的实例 <br />drop database if exists school; //如果存在SCHOOL则删除 <br />create database school; //建立库SCHOOL <br />use school; //打开库SCHOOL <br />create table teacher //建立表TEACHER <br />( <br />id int(3) auto_increment not null primary key, <br />name char(10) not null, <br />address varchar(50) default '深圳', <br />year date <br />); //建表结束 <br />//以下为插入字段 <br />insert into teacher values('','glchengang','深圳一中','1976-10-10'); <br />insert into teacher values('','jack','深圳一中','1975-12-23'); <br /><br />注：在建表中（1）将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key（2）将NAME设为长度为10的字符字段（3）将ADDRESS设为长度50的字符字段，而且缺省值为深圳。varchar和char有什么区别呢，只有等以后的文章再说了。 （4）将YEAR设为好期字段。 <br />如果你在mysql提示符键入上面的命令也可以，但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql，然后复制到c:下，并在DOS状态进入目录mysqlbin，然后键入以下命令： <br />mysql -uroot -p密码 &lt; c:school.sql <br />如果成功，空出一行无任何显示；如有错误，会有提示。（以上命令已经调试，你只要将//的注释去掉即可使用）。 <br /><br />四、将文本数据转到数据库中 <br />1、文本数据应符合的格式：字段数据之间用tab键隔开，null值用n来代替. <br />例： <br />3 rose 深圳二中 1976-10-10 <br />4 mike 深圳一中 1975-12-23 <br />2、数据传入命令 load data local infile "文件名" into table 表名; <br />注意：你最好将文件复制到mysqlbin目录下，并且要先用use命令打表所在的库 。 <br /><br />五、备份数据库：（命令在DOS的mysqlbin目录下执行） <br />mysqldump --opt school&gt;school.bbb <br />注释:将数据库school备份到school.bbb文件，school.bbb是一个文本文件，文件名任取，打开看看你会有新发现。 <br /><img src ="http://www.cppblog.com/cannon317/aggbug/4545.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-03-24 16:45 <a href="http://www.cppblog.com/cannon317/archive/2006/03/24/4545.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库介绍</title><link>http://www.cppblog.com/cannon317/archive/2006/03/24/4535.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Fri, 24 Mar 2006 06:52:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/03/24/4535.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/4535.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/03/24/4535.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/4535.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/4535.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: Tahoma">SQL server </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: Tahoma">介绍<span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">SQL Server</span>
				<span style="FONT-FAMILY: 宋体">数据库是由微软公司发布的数据库，供了一个完整的数据管理和分析解决方案，它将会给不同规模的组织带来帮助：构建、部署和管理企业应用程序，使其更加安全、伸缩性更强和更可靠，降低开发和支持数据库应用程序的复杂性，实现了<span lang="EN-US"> IT </span>生产力的最大化，能够在多个平台、应用程序和设备之间共享数据，更易于连接内部和外部系统，在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。</span>
				<span lang="EN-US">SQL Server </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据平台包括了<span style="mso-bidi-font-weight: bold">关系型数据库，复制服务，管理工具，开发工具等工具，为用户提供了方便的管理机制。</span></span>
				<span lang="EN-US" style="mso-bidi-font-weight: bold">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">SQL server </span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库有以下几大特点</span>
				</b>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US" style="mso-bidi-font-weight: bold">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold">1</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold">．充分利用数据资产<span lang="EN-US">,</span></span>
				<span style="FONT-FAMILY: 宋体">除了为业务线和分析应用程序提供一个安全可靠的数据库之外，<span lang="EN-US">SQL Server</span>也使用户能够通过嵌入的功能（如报表、分析和数据挖掘等）从他们的数据中得到更多的价值。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">2</span>
				<span style="FONT-FAMILY: 宋体">．<span style="mso-bidi-font-weight: bold">提高生产效率<span lang="EN-US">,</span></span>通过全面的<span lang="EN-US"> BI </span>功能以及熟悉的 <span lang="EN-US">Office </span>系统之类的工具集成，<span lang="EN-US">SQL Server</span>为组织内信息工作者提供关键的、及时的业务信息以满足他们特定的需要<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">3. </span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold">减少<span lang="EN-US">IT</span>复杂性<span lang="EN-US">,</span></span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">SQL Server</span>
				<span style="FONT-FAMILY: 宋体">简化了开发、部署和管理业务线和分析应用程序的复杂度，为开发人员提供了一个灵活的开发环境，为数据库管理人员提供了集成的自动管理工具<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">4. </span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold">降低总体拥有成本<span lang="EN-US"> (TCO)</span>。</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体"> SQL Server</span>
				<span style="FONT-FAMILY: 宋体">中集成的方法和对产品易用性和部署上的关注提供了行业上最低的规划、实现和维护成本，使数据库投资能快速得到回报<span lang="EN-US" style="mso-bidi-font-weight: bold"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">ORACLE</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">介绍</span>
				</b>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; mso-char-indent-count: 1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">ORACLE</span>
				<span style="FONT-FAMILY: 宋体">数据库产品是由<span lang="EN-US">oracle</span>公司推出的</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">基于</span>
				<span lang="EN-US">SQL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准的关系数据库产品，可在</span>
				<span lang="EN-US">100</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多种硬件平台上运行（所括微机、工作站、小型机、中型机和大型机），支持很多种操作系统。用户的</span>
				<span lang="EN-US">ORACLE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用可方便地从一种计算机配置移至另一种计算机配置上。</span>
				<span lang="EN-US">ORACLE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的分布结构可将数据和应用驻留在多台计算机上，而相互间的通信是透明</span>
				<span style="FONT-FAMILY: 宋体">，她的产品除了数据库系统外，还有应用系统、开发工具等，可以使现有的软件开发产品与工具软件及<span lang="EN-US">ORACLE</span>应用软件共存，保护了客户的投资，<span lang="EN-US">ORACLE</span>采用了高级网络技术，提高共享池和连接管理器来提高系统的可括性，容量可从几<span lang="EN-US"> GB </span>到 几百<span lang="EN-US"> TB </span>字节，可允许<span lang="EN-US">10</span>万用户同时并行访问，<span lang="EN-US">ORACLE </span>的数据库中每个表可以容纳<span lang="EN-US"> 1000</span>列，能满足目前数据库及数据仓库应用的需要。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span style="FONT-FAMILY: 宋体">最新的版本<span lang="EN-US">Oracle</span>数据库<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0"><span lang="EN-US">10g</span></st1:chmetcnv>是业界首个为网格计算而设计的数据库。较低的入门级定价使得<span lang="EN-US">Oracle</span>成为大型企业、中小型企业和部门级的最佳选择，它有多种版本供用户选择： 企业版，标准版，标准版<span lang="EN-US">1</span>（标准版之双处理器版），个人版，移动版<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">Oracle</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体">数据库比较收欢迎的几大特点：<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">1．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持大数据库、多用户的高性能的事务处理。</span>
				<span lang="EN-US">ORACLE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持最大数据库，其大小可到几</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">1．</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">百千兆，可充分利用硬件设备。支持大量用户同时在同一数据上执行各种数据应用，并</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">1．</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使数据争用最小，保证数据一致性。系统维护具有高的性能，</span>
				<span lang="EN-US">ORACLE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每天可连续</span>
				<span lang="EN-US">24</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">小时工作，正常的系统操作（后备或个别计算机系统故障）不会中断数据库的使用。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">2．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span lang="EN-US">ORACLE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。所以它是一个开放系统，保护了用户的投资。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">3．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">实施安全性控制和完整性控制。<span lang="EN-US">ORACLE</span>为限制各监控数据存取提供系统可靠的安全性。<span lang="EN-US">ORACLE</span>实施数据完整性，为可接受的数据指定标准</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">4．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">支持分布式数据库和分布处理。<span lang="EN-US">ORACLE</span>为了充分利用计算机系统和网络，允许将处理分为数据库服务器和客户应用程序，所有共享的数据管理由数据库管理系统的计算机处理，而运行数据库应用的工作站集中于解释和显示数据。通过网络连接的计算机环境，<span lang="EN-US">ORACLE</span>将存放在多台计算机上的数据组合成一个逻辑数据库，可被全部网络用户存取。分布式系统像集中式数据库一样具有透明性和数据一致性。</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">5．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">具有可移植性、可兼容性和可连接性。由于<span lang="EN-US">ORACLE</span>软件可在许多不同的操作系统上运行，以致<span lang="EN-US">ORACLE</span>上所开发的应用可移植到任何操作系统，只需很少修改或不需修改。<span lang="EN-US">ORACLE</span>软件同工业标准相兼容，包括许多工业标准的操作系统，所开发应用系统可在任何操作系统上运行。可连接性是指<span lang="EN-US">ORALCE</span>允许不同类型的计算机和操作系统通过网络可共享信息</span>
				<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: Tahoma; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma">。</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">Sybase </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">介绍<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; mso-char-indent-count: 1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">Sybase</span>
				<span style="FONT-FAMILY: 宋体">数据库是由<span lang="EN-US">Sybase</span>公司开发的的数据库。<span lang="EN-US">Sybase </span>数据库是基于客户<span lang="EN-US">/</span>服务器体系结构的数据库，由于是基于<span lang="EN-US">c/s</span>体系的数据库，应用被分在了多台机器上运行并且公开了应用程序接口<span lang="EN-US">DB-LIB</span>，允许在不同的平台使用完全相同的调用，因而使得访问<span lang="EN-US">DB-LIB</span>的应用程序很容易从一个平台向另一个平台移植，使得<span lang="EN-US">Sybase</span>数据库成为一种高效的数据库</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">SYBASE</span>
				<span style="FONT-FAMILY: 宋体">主要有三种版本，一是<span lang="EN-US">UNIX</span>操作系统下运行的版本，二是<span lang="EN-US">Novell Netware</span>环境下运行的版本，三是<span lang="EN-US">Windows NT</span>环境下运行的版本。对<span lang="EN-US">UNIX</span>操作系统目前广泛应用的为<span lang="EN-US">SYBASE 10 </span>及<span lang="EN-US">SYABSE 11 for SCO UNIX</span>。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">Sybase</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体">真正吸引人的是它的高性能，体现在以下几方面</span>
				</b>
				<span style="FONT-FAMILY: 宋体">：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">1．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">可编程数据库。通过提供存储过程，创建了一个可编程数据库。存储过程允许用户编写自己的数据库子例程。这些子例程是经过预编译的，因此不必为每次调用都进行编译、优化、生成查询规划，因而查询速度要快得多<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">2．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">事件驱动的触发器。触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过程，从而确保数据库的完整性。</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo2; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">3．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">多线索化。一般的数据库都依靠操作系统来管理与数据库的连接。当有多个用户连接时，系统的性能会大幅度下降。<span lang="EN-US">Sybase</span>数据库不让操作系统来管理进程，把与数据库的连接当作自己的一部分来管理。此外，<span lang="EN-US">Sybase</span>的数据库引擎还代替操作系统来管理一部分硬件资源，如端口、内存、硬盘，绕过了操作系统这一环节，提高了性能。</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">DB2 </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">介绍<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span class="top111">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">DB2</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">是<span lang="EN-US">IBM</span>公司的产品，起源于<span lang="EN-US">System R</span>和<span lang="EN-US">System R*</span>。他支持从<span lang="EN-US">PC</span>到<span lang="EN-US">UNIX</span>，从中小型机到大型机；从<span lang="EN-US">IBM</span>到非<span lang="EN-US">IBM</span>（<span lang="EN-US">HP</span>及<span lang="EN-US">SUN UNIX</span>系统等）各种操作平台。既可以在主机上以主<span lang="EN-US">/</span>从方式独立运行，也可以在客户<span lang="EN-US">/</span>服务器环境中运行。其中服务平台可以是<span lang="EN-US">OS/400</span>，<span lang="EN-US">AIX</span>，<span lang="EN-US"> OS/2</span>，<span lang="EN-US">HP-UNIX</span>，<span lang="EN-US">SUN-Solaris</span>等操作系统，客户机平台可以是<span lang="EN-US">OS/2</span>或<span lang="EN-US">Windows, Dos, AIX, HP-UX, SUN Solaris</span>等操作系统，<span lang="EN-US">DB2</span>数据库核心又称作<span lang="EN-US">DB2</span>公共服务器，支持</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">TCP/IP</span>
				<span style="FONT-FAMILY: 宋体">，<span lang="EN-US">NETBIOS</span>，<span lang="EN-US">APPG</span>，<span lang="EN-US">IPX/SPX</span>，<span lang="EN-US">AMEPIPE</span>　等多种协议</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">，采用多进程多线索体系结构，可以运行于多种操作系统之上，并分别根据相应平台环境作了调整和优化，以便能够达到较好的性能。<span lang="EN-US"><o:p></o:p></span></span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span class="top111">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">IBM</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">刚刚发布了<span lang="EN-US">DB2</span>的最新版本</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: Tahoma">DB2</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-family: Tahoma">通用数据库<span lang="EN-US">9</span>版本，<span lang="EN-US">IBM</span>为不同的用户提供了不同的版本，主要版本有：</span>
				<span style="FONT-FAMILY: 宋体">企业版的<span lang="EN-US">NTERPRISEEDITION<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 105pt; mso-char-indent-count: 10.0">
				<span style="FONT-FAMILY: 宋体">工作组版<span lang="EN-US">WORKGROUPEDITION<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 105pt; mso-char-indent-count: 10.0">
				<span style="FONT-FAMILY: 宋体">企业扩展版<span lang="EN-US">ENTERPRISEEXTENDEDEDITION<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 105pt; mso-char-indent-count: 10.0">
				<span style="FONT-FAMILY: 宋体">个人版的<span lang="EN-US">PERSONALEDITION<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 105pt; mso-char-indent-count: 10.0">
				<span style="FONT-FAMILY: 宋体">卫星版的<span lang="EN-US">SATELLITEEDITION<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 105pt; mso-char-indent-count: 10.0">
				<span style="FONT-FAMILY: 宋体">微型版的<span lang="EN-US">EVERYPLACE<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">DB2</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体">有以下一些特色</span>
				</b>
				<span style="FONT-FAMILY: 宋体">：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span class="top111">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">1</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">．支持面向对象的编程，<span lang="EN-US">DB2</span>支持复杂的数据结构，如无结构文本对象，可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。可以建立用户数据类型和用户自定义函数。<span lang="EN-US"><o:p></o:p></span></span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span class="top111">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">2</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">．支持多媒体应用程序</span>
				</span>
				<span style="FONT-FAMILY: 宋体">，</span>
				<span class="top111">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">DB2</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">支持大二分对象（<span lang="EN-US">BLOB</span>），允许在数据库中存取二进制大对象和文本大对象。其中，二进制大对象可以用来存储多媒体对象。<span lang="EN-US"><o:p></o:p></span></span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span class="top111">
						<span lang="EN-US" style="FONT-FAMILY: 宋体">3</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体">．</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持存储过程和触发器，用户可以在建表时显示的定义复杂的完整性规则</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span class="top111">
						<span lang="EN-US">4</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">．支持异构分布式数据库访问</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">5</span>
				<span style="FONT-FAMILY: 宋体">．<span lang="EN-US">IBM</span>提供了很多相关的开发工具，如</span>
				<span class="top111">
						<span lang="EN-US">Visualizer Query, VisualAge, VisualGen</span>
				</span>
				<span class="top111">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等，是的用户可以更好的完整的高效的开发和管理数据库的平台</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">6</span>
				<span style="FONT-FAMILY: 宋体">．</span>
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">DB2 </span>
				<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">技术解决了几个新领域中新兴的客户需求：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 31.5pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5; mso-para-margin-left: 1.5gd">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">1</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">）<span style="COLOR: black">自主计算要求服务器、操作系统和中间件在无人干涉的情况下诊断和纠正问题。为数据库管理员实现数据库自我管理和自动化是最新版的<span lang="EN-US"> DB2 </span>中特别强调的内容<span lang="EN-US"><o:p></o:p></span></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 31.5pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5; mso-para-margin-left: 1.5gd">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">2</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">）<span style="COLOR: black">基于标准的 <span lang="EN-US"><a href="http://www.ibm.com/software/data/webservices" target="_blank"><font color="#41391f">Web <span lang="EN-US"><span lang="EN-US">服务</span></span></font></a></span>是作为一种新的<span lang="EN-US"> DB2 </span>全力支持的应用程序处理样式出现的。<span lang="EN-US"><o:p></o:p></span></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 31.5pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5; mso-para-margin-left: 1.5gd">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">3</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">）<span style="COLOR: black">网格计算，即将大规模计算资源用作实用程序或服务（包括数据库服务）的思想，利用<span lang="EN-US"> DB2 </span>大量群集的可伸缩性，以高度可用的方式来支持大型数据库和同一时间内的大量用户。基于标准的<span lang="EN-US"> Web </span>服务是<span lang="EN-US"> DB2 </span>所支持的网格计算的另一个关键组件<span lang="EN-US"><o:p></o:p></span></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 31.5pt; TEXT-INDENT: -15.75pt; mso-char-indent-count: -1.5; mso-para-margin-left: 1.5gd">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">4</span>
				<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">）<span lang="EN-US" style="COLOR: black">“ <a href="http://www.ibm.com/ondemand" target="_blank"><span lang="EN-US" style="COLOR: windowtext; mso-bidi-font-size: 12.0pt"><span lang="EN-US">电子商务随需应变（e-business on demand</span></span><span lang="EN-US"><span lang="EN-US"><font color="#41391f">）</font></span></span></a>”</span><span style="COLOR: black">业务模型需要构建在开放标准上的操作环境，以允许进行快速的和符合成本效益的创新和重新配置。用以支持电子商务随需应变的基础架构必须是可靠的、可伸缩的且是安全的。<span lang="EN-US">DB2 </span>就是这样一种基础架构。<span lang="EN-US"><o:p></o:p></span></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">Mysql </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">介绍<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; mso-char-indent-count: 1.5">
				<span lang="EN-US">MySQL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是最受欢迎的开源</span>
				<span lang="EN-US">SQL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库管理系统，它由</span>
				<span lang="EN-US">MySQL AB</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发、发布和支持。</span>
				<span lang="EN-US">MySQL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个快速的、多线程、多用户和健壮的</span>
				<span lang="EN-US">SQL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库服务器。</span>
				<span lang="EN-US">MySQL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器支持关键任务、重负载生产系统的使用，也可以将它嵌入到一个大配置</span>
				<span lang="EN-US">(mass-deployed)</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的软件中去。</span>
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">Mysql</span>
				<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">是目前<span lang="EN-US">web</span>上最流行的数据库，因为它是免费的开源的，因此<span lang="EN-US">mysql</span>的优点和缺点都非常明显，优点当然是速度快，但是前提是更新不频繁、读取很多并且表比较小，还有一点就是需要使用<span lang="EN-US">myisam</span>或者内存<span lang="EN-US">heap</span>表结构可以获得很高的速度。<span lang="EN-US">mysql</span>的缺点也非常明显，那就是在更新很频繁的时候造成大量线程的堵塞，而且数据库表很容易损坏。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; mso-char-indent-count: 1.5">
				<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">虽然<span lang="EN-US">MySql</span>有一定的缺点，但是还是有很多的人去选有它，主要吸引人们的是以下的一些特点：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 33.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo3; tab-stops: list 33.75pt">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">1．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">它便宜（通常是免费）。简单的说，你不会找到比<span lang="EN-US"> MySQL </span>更便宜的了。事实上，对大多数用户来说，<span lang="EN-US">MySQL </span>是免费的。有时候虽然是要付出一小笔的授权费，但是这个付费规定只限于以下两种情况</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">：①</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">以内嵌（<span lang="EN-US">embedded</span>）的方式使用<span lang="EN-US">MySQL </span>服务器<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 15.75pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-para-margin-left: 1.5gd">
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">②只使用<span lang="EN-US"> MySQL </span>的商业用途软件<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 33.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo3; tab-stops: list 33.75pt">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">2．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span lang="EN-US" style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">Mysql</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">经过很好的优化。对于<span lang="EN-US"> MySQL </span>的优化，主要的问题在于硬件条件，而非<span lang="EN-US"> MySQL </span>本身<span lang="EN-US">, </span>对于使用<span lang="EN-US"> MySQL </span>做数据库的网站，你应该注意的是，如何让硬盘存取<span lang="EN-US">IO</span>减少到最低值、如何让一个或多个<span lang="EN-US"> CPU </span>随时保持在高速作业的状态、以及适当的网络带宽， 而非实际上的数据库设计以及资料查询语句。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 33.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo3; tab-stops: list 33.75pt">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">3．<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span lang="EN-US" style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">Mysql</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">有很好的可延伸性（<span lang="EN-US">Scalability</span>），并且</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma">为各种不同的资料格式提供有弹性的扩展介面</span>
				<span style="COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Tahoma">。<span lang="EN-US">MySQL </span>同时提供高度多样性，能够提供很多不同的使用者介面，包括命令行客户端操作，网页浏览器，以及各式各样的程序语言介面，例如<span lang="EN-US"> C+</span>，<span lang="EN-US">Perl</span>，<span lang="EN-US">Java</span>，<span lang="EN-US">PHP</span>，以及<span lang="EN-US"> Python</span>。你可以使用事先包装好的客户端，或者干脆自己写一个合适的应用程序。<span lang="EN-US">MySQL </span>可用于<span lang="EN-US"> Unix</span>，<span lang="EN-US">Windows</span>，以及<span lang="EN-US"> OS/2 </span>等平台</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: Tahoma; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Mysql</span>
		<span style="FONT-SIZE: 10.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: Tahoma; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">较好学，且操作简单。</span>
		<span style="FONT-SIZE: 10.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: Tahoma; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">如果你已经熟悉数据库技术，那么基本上你已经没什么问题了。精通数据库的人在一天之内就可以把<span lang="EN-US"> MySQL </span>学会</span>
<img src ="http://www.cppblog.com/cannon317/aggbug/4535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-03-24 14:52 <a href="http://www.cppblog.com/cannon317/archive/2006/03/24/4535.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2 UDB V8.1学习笔记3</title><link>http://www.cppblog.com/cannon317/archive/2006/03/24/4530.html</link><dc:creator>.....</dc:creator><author>.....</author><pubDate>Fri, 24 Mar 2006 05:22:00 GMT</pubDate><guid>http://www.cppblog.com/cannon317/archive/2006/03/24/4530.html</guid><wfw:comment>http://www.cppblog.com/cannon317/comments/4530.html</wfw:comment><comments>http://www.cppblog.com/cannon317/archive/2006/03/24/4530.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cannon317/comments/commentRss/4530.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cannon317/services/trackbacks/4530.html</trackback:ping><description><![CDATA[
		<p align="left">db2idrop -f instance_name 强制断开已有连接，停止实例并删除。<br />db2imigr instance_name 用于在UNIX下迁移实例。<br />db2iupdt instance_name 更新实例，用于实例获得一些新的产品选项或修订包的访问权。<br />db2 get instance 获取当前所处的实例。<br /><br />当更新实例级别或数据库级别的参数后，有些可以立即生效，有些需要重新启动实例才可生效。immediate 显式指明更改立即生效，deferred 显式指明更改在重起实例后生效。<br /><br /><br />当需要配置许多台客户机与DB2服务器的连接时，可以用配置助手将服务器的概要文件导出，然后在每个客户机使用配置助手导入概要文件。若客户端只安装了运行时客户端，则可以使用<br />db2cfimp access_profile_name<br />导入概要文件。<br />疑问：是否应该由已配置好的一台客户机导出概要文件？<br /><br />db2 list applications 列出所有的数据库连接<br />db2 force application (2) 终止指定的连接句柄，事务被中断并回滚。同时操作多个句柄可以用逗号分开，或者指定关键字 all。此命令只终止指定的连接，不会阻止新的应用连接到数据库。<br /><br /><br />创建数据库时可以指定排序方式：collate using identity<br /><br />系统模式集是和每个数据库一起创建的，并且它们被放置到 SYSCATSPACE 表空间中：<br />SYSIBM： <br />基本系统目录 <br />建议不要进行直接访问 <br />SYSCAT： <br />PUBLIC 被授予该模式的 SELECT 权限 <br />对只读视图编目 <br />这是获取目录信息的推荐方式 <br />SYSSTAT： <br />可更新的目录视图 － 影响优化器 <br />SYSFUN： <br />用户定义的函数 <br /><br />如果表中的现有行不满足约束，则不能定义该约束。可以关闭约束检查以加快大量数据的添加，但是该表处于检查暂挂（CHECK PENDING）状态。<br /><br /><br />在创建表时，可以使用选项来指定一个或多个表空间，表和索引将被放置到其中： <br />CREATE TABLE TEST (<br />column 1 definition, column 2 definition, ...<br />) IN &lt;tablespace name&gt; INDEX IN &lt;index space name&gt;<br />这条命令为您提供了一个选项：指定创建表和索引的位置。如果没有指定单独的索引表空间，那么将在表所在的同一表空间中创建索引。创建表之后，就没有机会在不同的表空间中创建索引了。创建索引要提前作规划！ <br />CREATE &lt;UNIQUE&gt; INDEX &lt;index name&gt; ON &lt;table name&gt;<br />(<br />column 1 &lt;ASC | DESC&gt; ,<br />column 2 &lt;ASC | DESC&gt; ...<br />)<br />UNIQUE 属性告诉 DB2，索引必须强制所有插入值的唯一性。<br />如果结果集是以升序和降序两种方式排序的，ALLOW REVERSE SCANS 会告诉 DB2 在索引中包括附加的指针，以允许在记录中有效地进行正向和反向链接。<br /><br />DB2 能够向正在创建的索引中添加另外的列。CREATE INDEX 命令允许用户指定那些不属于实际索引但因为性能原因而保存在索引记录中的列。 <br />CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME,FIRSTNAME)<br />对于索引中包含的列而言，索引必须是 UNIQUE 的。当创建索引时，另外的列被添加到索引值中。索引不使用这些值进行排序或确定唯一性，但可以在满足 SQL 查询时使用它们。例如，下列 SELECT 语句将不需要读取实际数据行：<br />SELECT LASTNAME, FIRSTNAME FROM EMPLOYEE WHERE EMPNO &lt; '000300'<br /><br />要在表上创建群集索引，将 CLUSTER 关键字附加到 CREATE INDEX 命令的末尾，例如： <br />CREATE INDEX DEPTS-IX ON EMPLOYEE(WORKDEPT) CLUSTER<br /><br />使用下列通用规则来决定为表定义的索引的经典数量。索引数量取决于数据库的主要用途：<br />对于在线事务处理（OLTP）环境，创建一到两个索引。 <br />对于混合查询和 OLTP 环境，创建两到五个索引。 <br />对于只读查询环境，创建五个以上索引。<br /><br /><br />在Windows平台上的DB2的命令行模式下，或者在类Unix平台下，使用命令db2cc启动控制中心。<br /><br />db2move提供了在数据库之间批量移动数据的能力，可以指定某个表，也可以指定整个数据库的表。<br />db2move dbname action<br /><br />action 可以指定为：export, import或者load<br />使用 -l 参数指定lob对象存储的文件夹<br /><br /><br />执行增量备份要求设置数据库配置参数“trackmod”的值为“YES”<br />执行在线备份要求设置数据库配置参数“logretain”的值为“YES”，在线备份语法：<br />db2 backup db dbname online to path<br /><br /><br />当删除了das用户的home目录，未先drop掉das服务，则再执行dasdrop则不成功，提示：<br />db2admin 命令无法找到，原因是db2admin命令保存在das的home目录中。<br />可以删除干净das用户的home目录后，重起服务器解决此问题。<br /><br />dasupdt dasName 升级das<br />db2iupdt instName 升级实例<br />db2licd end 停止许可证守护进程<br /><br />在Linux系统安装DB2 V8.1后，db2fmcd进程会自动启动，即使不启动实例和DAS，<br /><br />在中文Linux环境下安装了DB2数据库服务，并使用GBK代码页（codepage）创建了一个数据库，完成后可以正常连接操作，若更改操作系统代码页为英语，则使用“db2 connect”时会报错，连接时无法转换代码页。<br /><br /></p>
<img src ="http://www.cppblog.com/cannon317/aggbug/4530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cannon317/" target="_blank">.....</a> 2006-03-24 13:22 <a href="http://www.cppblog.com/cannon317/archive/2006/03/24/4530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>