﻿<?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>IT博客网-我的ITblog我作主　　关注→　『伊波拉』→　测试　SzDlinXie- ITblog　　  　　   -随笔分类-电脑技术杂志</title><link>http://www.cnitblog.com/szdlinxie/category/4488.html</link><description>·√·  本ITblog站点记录相关的软件技术文档、网络技术杂志、测试技术杂谈等技术文档的管理站点.联系方式：MSN：dowling@sunlike.cn   QQ:94595885</description><language>zh-cn</language><lastBuildDate>Tue, 21 Aug 2007 15:41:15 GMT</lastBuildDate><pubDate>Tue, 21 Aug 2007 15:41:15 GMT</pubDate><ttl>60</ttl><item><title>DB2常用命令集</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 13:33:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32165.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32165.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32165.html</trackback:ping><description><![CDATA[<p>DB2常用命令集</p>
<p>*************************************************<br>　<br>关闭db2</p>
<p>db2stop 或</p>
<p>db2stop force。</p>
<p>在脚本中一般两个都写上，避免使用db2stop force命令，如：</p>
<p>db2stop</p>
<p>db2stop force</p>
<p>启动db2</p>
<p>db2start</p>
<p>创建数据库</p>
<p>db2 create db &lt;db name&gt;</p>
<p>或db2 create db using codeset GBK territory CN</p>
<p>删除数据库</p>
<p>执行此操作要小心。</p>
<p>db2 drop db &lt;db name&gt;</p>
<p>如果不能删除，断开所有数据库连接或者重启db2。</p>
<p>断开数据库连接</p>
<p>db2 force application all</p>
<p>连接数据库</p>
<p>db2 connect to &lt;db name&gt; user &lt;username&gt; using &lt;password&gt;</p>
<p>断开数据库连接</p>
<p>断开当前数据库连接：db2 connect reset</p>
<p>或者：db2 disconnect current</p>
<p>断开所有数据库的连接：db2 disconnect all</p>
<p>备份数据库</p>
<p>db2 backup db &lt;db name&gt; </p>
<p>备注：执行以上命令之前需要断开数据库连接</p>
<p>恢复数据库</p>
<p>db2 restore db &lt;source db name&gt;</p>
<p>导出数据文件</p>
<p>db2move &lt;db name&gt; export [-sn &lt;模式名称，一般为db2admin&gt;] [-tn&nbsp; &lt;表名，多个之间用逗号分隔&gt;]</p>
<p>导入数据文件</p>
<p>db2move &lt;db name&gt; import</p>
<p>列出数据库中所有db</p>
<p>db2 list db directory</p>
<p>进入db2命令环境</p>
<p>在&#8220;运行&#8221;中执行：db2cmd </p>
<p>获取db2数据库管理配置环境信息&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>db2 get dbm cfg</p>
<p>获取db2某个数据库数据库管理配置环境信息&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>db2 get db cfg for &lt;db name&gt;</p>
<p>或者：连接至某个数据库以后执行db2 get db cfg。</p>
<p>设置联合数据库为可用（默认联合数据库不可用）</p>
<p>db2 update dbm cfg using federated yes</p>
<p>更改db2日志空间的大小</p>
<p>备注：以下命令为了防止db2数据库过份使用硬盘空间而设，仅用于开发者自己机器上的db2，如果是服务器，则参数需要修改。</p>
<p>db2 UPDATE DB CFG FOR &lt;db name&gt; USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;</p>
<p>如果页大小是4KB，则以上命令创建3个100M的日志文件，占用300MB硬盘空间。25600*4KB=102400KB。</p>
<p>创建临时表空间</p>
<p>DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000) EXTENTSIZE 256</p>
<p>获取数据库管理器的快照数据</p>
<p>db2 &#8211;v get snapshot for dbm</p>
<p>显示进行程号</p>
<p>db2 list applications show detail</p>
<p>调查错误</p>
<p>sqlcode:产品特定错误码；</p>
<p>sqlstate:DB2系列产品的公共错误码，符合ISO/ANSI 92SQL标准。</p>
<p>调查sqlcode : db2 ? sql1403n</p>
<p>调查sqlstate: db2 ? 08004</p>
<p>创建表空间</p>
<p>rem 创建缓冲池空间 8K</p>
<p>db2 connect to gather</p>
<p>db2 CREATE BUFFERPOOL STMABMP IMMEDIATE&nbsp; SIZE 25000 PAGESIZE 8K</p>
<p>&nbsp;创建表空间：STMA</p>
<p>&nbsp;必须确认路径正确</p>
<p>D:\DB2Container\Stma</p>
<p>db2 drop tablespace stma</p>
<p>db2 CREATE&nbsp; REGULAR TABLESPACE STMA PAGESIZE 8 K&nbsp; MANAGED BY SYSTEM&nbsp; USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8 OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL&nbsp; STMABMP&nbsp; DROPPED TABLE RECOVERY OFF</p>
<p>db2 connect reset</p>
<p>将暂挂的数据恢复到前滚状态</p>
<p>db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE</p>
<p>备份表空间</p>
<p>BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 ) TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING</p>
<p>创建db2工具数据库</p>
<p>db2 create tools catalog systools create new database toolsdb</p>
<p>如何进行增量/差量备份</p>
<p>增量：上一次完整备份至本次备份之间增加的数据部分；</p>
<p>差量(delta)：上次备份以来（可能是完整备份、增量备份或者差量备份）至本次备份之间增加的数据部分；</p>
<p>更新所有表的统计信息</p>
<p>db2 -v connect to DB_NAME</p>
<p>db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"</p>
<p>db2 -v reorgchkupdate statistics on table all</p>
<p>db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"</p>
<p>db2 -v terminate</p>
<p>对一张表运行统计信息</p>
<p>db2 -v runstatson table TAB_NAMEand indexes all</p>
<p>查看是否对数据库执行了RUNSTATS</p>
<p>db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"</p>
<p>更改缓冲池的大小</p>
<p>缓冲池中，当syscat.bufferpools的npages是-1时，由数据库的配置参数bufferpage控制缓冲池的大小。</p>
<p>将npages的值更改为-1的命令：</p>
<p>db2 -v connect to DB_NAME</p>
<p>db2 -v select * from syscat.bufferpools</p>
<p>db2 -v alter bufferpoolIBMDEFAULTBP size -1</p>
<p>db2 -v connect reset</p>
<p>db2 -v terminate</p>
<p>更改数据库配置参数BufferPages的命令如下：</p>
<p>db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_value</p>
<p>db2 -v terminate</p>
<p>查看数据库监视内容列表</p>
<p>db2 -v get monitor switches</p>
<p>打开某个数据库监视内容</p>
<p>db2 -v update monitor switches using bufferpoolon</p>
<p>获取数据库快照</p>
<p>db2 -v get snapshot for all databases &gt; snap.out</p>
<p>db2 -v get snapshot for dbm&gt;&gt; snap.out</p>
<p>db2 -v get snapshot for all bufferpools&gt;&gt; snap.out</p>
<p>db2 -v terminate</p>
<p>重置数据库快照</p>
<p>db2 -v reset monitor all</p>
<p>计算缓冲池命中率</p>
<p>理想情况下缓冲池命中率在95%以上，计算公式如下：</p>
<p>(1 -((buffer pool data physical reads + buffer pool index physical reads) /(buffer pool data logical reads + pool index logical reads))) *100%</p>
<p>&nbsp;创建db2实例</p>
<p>db2icrt &lt;实例名称&gt;</p>
<p>删除db2实例</p>
<p>db2idrop &lt;实例名称&gt;</p>
<p>设置当前db2实例</p>
<p>set db2intance=db2</p>
<p>&nbsp;显示db2拥有的实例</p>
<p>db2ilist</p>
<p>恢复离线增量备份数据库的命令</p>
<p>DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROM D:\backup\autobak\db2 TAKEN AT 20060314232015</p>
<p>&nbsp;创建样本数据库</p>
<p>在unix平台，使用：sqllib/bin/db2sampl &lt;path&gt;</p>
<p>在windows,os/2平台，使用：db2sampl e,e是可选参数，指定将创建数据库的驱动器；</p>
<p>&nbsp;列出数据库中所有的表</p>
<p>db2 list tables</p>
<p>&nbsp;列出某个表的数据结构</p>
<p>db2 describe table v_ro_role</p>
<p>给表增加列</p>
<p>ALTER TABLE STAFF&nbsp; ADD COLUMN PNHONE VARCHAR(20)</p>
<p>数据迁移方法1</p>
<p>export脚本示例<br>db2 connect to testdb user test password test<br>db2 "export to aa1.ixf of ixf select * from table1"<br>db2 "export to aa2.ixf of ixf select * from table2"<br>db2 connect reset<br>import脚本示例<br>db2 connect to testdb user test password test<br>db2 "load from aa1.ixf of ixf&nbsp; replace into table1&nbsp; COPY NO&nbsp; without prompting "<br>db2 "load from aa2.ixf of ixf&nbsp; replace into table2&nbsp; COPY NO&nbsp; without prompting "<br>db2 connect reset<br></p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 21:33 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件开发项目过程中的风险管理研究</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 07:20:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32146.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32146.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32146.html</trackback:ping><description><![CDATA[&nbsp;
<table cellSpacing=0 cellPadding=0 width=535 border=0>
    <tbody>
        <tr>
            <td>
            <p align=center><strong><span>软件开发项目过程中的风险管理研究<span>[1]</span></span></strong></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=center>&nbsp;</p>
            <p align=left><span>软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现，如果项目风险变成现实，就有可能影响项目的进度，增加项目的成本，甚至使软件项目不能实现。如果对项目进行风险管理，就可以最大限度的减少风险的发生。但是，目前国内的软件企业不太关心软件项目的风险管理，结果造成软件项目经常性的延期、超过预算，甚至失败。成功的项目管理一般都对项目风险进行了良好的管理。因此任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容。<span> </span></span></p>
            <p align=left><span>　　在项目风险管理中，存在多种风险管理方法与工具，软件项目管理只有找出最适合自己的方法与工具并应用到风险管理中，才能尽量减少软件项目风险，促进项目的成功。</span></p>
            <p align=left><span>　　项目风险管理</span></p>
            <p align=left><span>　　项目风险管理是指为了最好的达到项目的目标，识别、分配、应对项目生命周期内风险的科学与艺术。项目风险管理的目标是使潜在机会或回报最大化，使潜在风险最小化。风险管理涉及的主要过程包括：风险识别，风险量化，风险应对计划制定和风险监控，如图<span>1</span>所示。风险识别在项目的开始时就要进行，并在项目执行中不断进行。就是说，在项目的整个生<span>?</span></span></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p><span>（<span>1</span>）需求风险<span> </span></span></p>
<p><span>　　<span>①</span>需求已经成为项目基准，但需求还在继续变化；</span></p>
<p><span>　　<span>②</span>需求定义欠佳，而进一步的定义会扩展项目范畴；</span></p>
<p><span>　　<span>③</span>添加额外的需求；</span></p>
<p><span>　　<span>④</span>产品定义含混的部分比预期需要更多的时间；</span></p>
<p><span>　　<span>⑤</span>在做需求中客户参与不够；</span></p>
<p><span>　　<span>⑥</span>缺少有效的需求变化管理过程。</span></p>
<p><span>　　（<span>2</span>）计划编制风险</span></p>
<p><span>　　<span>①</span>计划、资源和产品定义全凭客户或上层领导口头指令，并且不完全一致；</span></p>
<p><span>　　<span>②</span>计划是优化的，是<span>"</span>最佳状态<span>"</span>，但计划不现实，只能算是<span>"</span>期望状态<span>"</span>；</span></p>
<p><span>　　<span>③</span>计划基于使用特定的小组成员，而那个特定的小组成员其实指望不上；</span></p>
<p><span>　　<span>④</span>产品规模<span>(</span>代码行数、功能点、与前一产品规模的百分比<span>)</span>比估计的要大；</span></p>
<p><span>　　<span>⑤</span>完成目标日期提前，但没有相应地调整产品范围或可用资源；</span></p>
<p><span>　　<span>⑥</span>涉足不熟悉的产品领域，花费在设计和实现上的时间比预期的要多。</span></p>
<p><span>　　（<span>3</span>）组织和管理风险</span></p>
<p><span>　　<span>①</span>仅由管理层或市场人员进行技术决策，导致计划进度缓慢，计划时间延长；</span></p>
<p><span>　　<span>②</span>低效的项目组结构降低生产率；</span></p>
<p><span>　　<span>③</span>管理层审查决策的周期比预期的时间长；</span></p>
<p><span>　　<span>④</span>预算削减，打乱项目计划；</span></p>
<p><span>　　<span>⑤</span>管理层作出了打击项目组织积极性的决定；</span></p>
<p><span>　　<span>⑥</span>缺乏必要的规范，导致工作失误与重复工作；</span></p>
<p><span>　　<span>⑦</span>非技术的第三方的工作<span>(</span>预算批准、设备采购批准、法律方面的审查、安全保证等<span>)</span>时间比预期的延长。</span></p>
<p><span>　　（<span>4</span>）人员风险</span></p>
<p><span>　　<span>①</span>作为先决条件的任务<span>(</span>如培训及其他项目<span>)</span>不能按时完成；</span></p>
<p><span>　　<span>②</span>开发人员和管理层之间关系不佳，导致决策缓慢，影响全局；</span></p>
<p><span>　　<span>③</span>缺乏激励措施，士气低下，降低了生产能力；</span></p>
<p><span>　　<span>④</span>某些人员需要更多的时间适应还不熟悉的软件工具和环境；</span></p>
<p><span>　　<span>⑤</span>项目后期加入新的开发人员，需进行培训并逐渐与现有成员沟通，从而使现有成员的工作效率降低；</span></p>
<p><span>　　<span>⑥</span>由于项目组成员之间发生冲突，导致沟通不畅、设计欠佳、接口出现错误和额外的重复工作；</span></p>
<p><span>　　<span>⑦</span>不适应工作的成员没有调离项目组，影响了项目组其他成员的积极性；</span></p>
<p><span>　　<span>⑧</span>没有找到项目急需的具有特定技能的人。</span></p>
<p>&nbsp;</p>
<p><span>（<span>5</span>）开发环境风险<span> </span></span></p>
<p><span>　　<span>①</span>设施未及时到位；</span></p>
<p><span>　　<span>②</span>设施虽到位，但不配套，如没有电话、网线、办公用品等；</span></p>
<p><span>　　<span>③</span>设施拥挤、杂乱或者破损；</span></p>
<p><span>　　<span>④</span>开发工具未及时到位；</span></p>
<p><span>　　<span>⑤</span>开发工具不如期望的那样有效，开发人员需要时间创建工作环境或者切换新的工具；</span></p>
<p><span>　　<span>⑥</span>新的开发工具的学习期比预期的长，内容繁多。</span></p>
<p><span>　　（<span>6</span>）客户风险</span></p>
<p><span>　　<span>①</span>客户对于最后交付的产品不满意，要求重新设计和重做；</span></p>
<p><span>　　<span>②</span>客户的意见未被采纳，造成产品最终无法满足用户要求，因而必须重做；</span></p>
<p><span>　　<span>③</span>客户对规划、原型和规格的审核决策周期比预期的要长；</span></p>
<p><span>　　<span>④</span>客户没有或不能参与规划、原型和规格阶段的审核，导致需求不稳定和产品生产周期的变更；</span></p>
<p><span>　　<span>⑤</span>客户答复的时间<span>(</span>如回答或澄清与需求相关问题的时间<span>)</span>比预期长；</span></p>
<p><span>　　<span>⑥</span>客户提供的组件质量欠佳，导致额外的测试、设计和集成工作，以及额外的客户关系管理工作。</span></p>
<p><span>　　（<span>7</span>）产品风险</span></p>
<p><span>　　<span>①</span>矫正质量低下的不可接受的产品，需要比预期更多的测试、设计和实现工作；</span></p>
<p><span>　　<span>②</span>开发额外的不需要的功能<span>(</span>镀金<span>)</span>，延长了计划进度；</span></p>
<p><span>　　<span>③</span>严格要求与现有系统兼容，需要进行比预期更多的测试、设计和实现工作；</span></p>
<p><span>　　<span>④</span>要求与其他系统或不受本项目组控制的系统相连，导致无法预料的设计、实现和测试工作；</span></p>
<p><span>　　<span>⑤</span>在不熟悉或未经检验的软件和硬件环境中运行所产生的未预料到的问题；</span></p>
<p><span>　　<span>⑥</span>开发一种全新的模块将比预期花费更长的时间；</span></p>
<p><span>　　<span>⑦</span>依赖正在开发中的技术将延长计划进度。<span> </span></span></p>
<p><span>　　（<span>8</span>）设计和实现风险</span></p>
<p><span>　　<span>①</span>设计质量低下，导致重复设计；</span></p>
<span>　　</span><span>②</span><span>一些必要的功能无法使用现有的代码和库实现，开发人员必须使用新的库或者自行开发新的功能</span>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 15:20 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IBM DB2 日常维护汇总</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 07:14:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32144.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32144.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32144.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;1.DB2产品的级别有那些? 　　企业版的NTERPRISEEDITION 　　工作组版WORKGROUPEDITION 　　企业扩展版ENTERPRISEEXTENDEDEDITION 　　个人版的PERSONALEDITION 　　卫星版的SATELLITEEDITION 　　微型版的EVERYPLACE 　　 　　2.可以连接到DB2数据库的产品有哪些? 　　DB2客户端 　...&nbsp;&nbsp;<a href='http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html'>阅读全文</a><img src ="http://www.cnitblog.com/szdlinxie/aggbug/32144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 15:14 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2 UDB V8.1 管理</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 07:12:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32143.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32143.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32143.html</trackback:ping><description><![CDATA[<p align=left><a name=1><strong><span></span></strong></a></p>
<p align=left><span><span>工作学习之余对<span>DB2</span>使用知识的一点零散记录，包括<span>DB2</span>的基础知识、数据库管理、性能调优以及开发等方面，内容非常零散，而且有时不免理解有误，可能并未回头改掉，望见谅，仅供参考。</span></span></p>
<p align=left><a name=2><strong><span>DB2 </span></strong></a><span><strong><span>基本概念</span></strong></span></p>
<p align=left><span><span>在<span>DB2</span>中由上至下的几个概念：</span></span></p>
<ul type=disc>
    <li><span><span>实例<span>(Instance), </span></span></span></li>
    <li><span><span>数据库<span>(Database)</span>，</span></span></li>
    <li><span><span>表空间<span>(TableSpace)</span>，</span></span></li>
    <li><span><span>容器<span>(Container)</span></span></span></li>
</ul>
<p align=left><span><span>在一个操作系统中，<span>DB2</span>数据服务可以同时运行多个实例<span>(</span>有别于<span>Oracle</span>在一个系统内只能起一个实例<span>).</span></span></span></p>
<p align=left><span><span>数据库定义在实例中，一个实例可以包含多个数据库。在同一个实例中的不同数据库是完全独立的，分别拥有自己独立的系统编目表。<span><br><br></span>表空间有<span>2</span>种管理方式：</span></span></p>
<ul type=disc>
    <li><span><span>DMS(Database management Space)</span></span><span><span>方式</span></span></li>
    <li><span><span>SMS(System manegement Space)</span></span><span><span>方式</span></span></li>
</ul>
<p align=left><span><span>DMS</span></span><span><span>与<span>SMS</span>方式在表空间建立时指定，建好后不能转换。对于<span>DMS</span>方式，一个表空间对应了一个或多个容器<span>(Container)</span>，容器指定了数据的物理存储位置。对于<span>SMS</span>方式，只能够指定一个目录，不能够增加。</span></span></p>
<p align=left><span><span>表空间具有以下类型：</span></span></p>
<ul type=disc>
    <li><span><span>系统编目表空间<span>(SysCatSpace)</span></span></span></li>
    <li><span><span>系统临时表空间<span>(SysTempSpace)</span></span></span></li>
    <li><span><span>用户表空间<span>(UserSpace)</span></span></span></li>
    <li><span><span>用户临时表空间<span>(UserTempSpace)</span></span></span></li>
</ul>
<p align=left><span><span>一个数据库中必须存在两个系统基本的表空间，分别是系统编目表空间与系统临时表空间。在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式体现，对于临时表空间，其占用磁盘大小是根据使用情况动态伸缩的，即仅在需要时才分配磁盘空间，并在使用后进行回收。此外，若用户需要创建表，则需要创建用户表空间，若需要使用临时表，则需要创建用户临时表空间。<span><br><br><br></span>容器分为三种类型：</span></span></p>
<ul type=disc>
    <li><span><span>Files </span></span><span><span>文件</span></span></li>
    <li><span><span>Devices </span></span><span><span>设备</span></span></li>
    <li><span><span>Directory </span></span><span><span>目录</span></span></li>
</ul>
<p align=left><span><span>文件与设备，用于<span>DMS</span>方式的表空间；</span></span></p>
<p align=left><span><span>目录，用于<span>SMS</span>方式的表空间，此种方式不需要人工管理数据存储文件，<span>DB2</span>可根据情况在目录中自动增加存储文件，只要磁盘空间允许。</span></span></p>
<p align=left><span><span>实质上，表空间是数据存储的逻辑位置定义，容器则是数据存储的物理位置定义。</span></span></p>
<p align=left><a name=3><strong><span>数据库的性能</span></strong></a></p>
<p align=left><span><span>影响一个数据库的性能主要有以下因素：</span></span></p>
<ul type=disc>
    <li><span><span>磁盘<span>(Disk)</span></span></span></li>
    <li><span><span>内存<span>(Memory)</span></span></span></li>
    <li><span><span>处理器<span>(CPU)</span></span></span></li>
    <li><span><span>网络<span>(Network)</span></span></span></li>
</ul>
<p align=left><span><span>其中以磁盘最为显著，<span>90%</span>的性能瓶颈可能来自于磁盘的<span>IO</span>竞争；</span></span></p>
<p align=left><span><span>其次是内存，一方面是指物理内存的总量要满足需求，另一方面是指与内存相关的配置参数应正确配置；</span></span></p>
<p align=left><span><span>当然处理器的性能也很重要，多路<span>CPU</span>会对哪些依赖计算能力的复杂<span>SQL</span>查询起到显著的效果；</span></span></p>
<p align=left><span><span>网络不属于主要因素，属于客观的环境因素，是指过慢的网速会对数据的传输造成影响。以下列出一些对于提高数据库性能有效的方法：</span></span></p>
<ul type=disc>
    <li><span><span>对于运行数据库服务的服务器可以尽可能的配置多块物理磁盘，每块的容量不必太大，这样可以有效的分担数据存储与读取操作过程的磁盘<span>IO</span>竞争。即采用多块小容量的磁盘在性能上要优于仅采用一块大容量的磁盘。</span></span></li>
    <li><span><span>如果条件允许，尽量使数据存储服务与操作系统分别运行在物理分开的磁盘上。</span></span></li>
    <li><span><span>采用<span>DMS(Database Management Space)</span>管理方式的表空间。</span></span></li>
    <li><span><span>在物理不同的磁盘上创建多个表空间。然后可以将数据和索引分别存放在不同的表空间，这样可以显著的提高性能。还可以把一个使用频繁的大表纵向拆成多个小表，分别存放在不同的表空间中，然后用一个视图进行联合。</span></span></li>
    <li><span><span>DB2</span></span><span><span>服务器可以管理裸设备，即除系统以及<span>DB2</span>服务运行磁盘以外，为<span>DB2</span>数据存放单独准备磁盘，可以是多块，分区后不需要格式化，创建裸设备后直接交给<span>DB2</span>进行管理，用于存储数据。</span></span></li>
    <li><span><span>系统的临时表空间对数据库性能影响很大，当由管理的物理内存不能满足数据库操作的需要时，<span>DB2</span>便会把临时数据写到磁盘上，这时便用到了系统临时表空间，并且这种情况会经常发生。</span></span></li>
    <li><span><span>尽量在磁盘靠近最内层磁道的位置安放数据，因为此处磁盘的访问速度较快。</span></span></li>
</ul>
<p align=left><a name=4><strong><span>与性能相关的主要参数</span></strong></a></p>
<p align=left><span><span>DB2</span></span><span><span>的参数配置分为两个级别，一个是实例级别，另一个是数据库级别。对数据服务性能影响较大的参数主要在数据库级别配置。以下是三个比较重要的内存配置参数：</span></span></p>
<p align=left><span><span>bufferpage<br>locklist<br>sortheap</span></span></p>
<ul type=disc>
    <li><span><span>bufferpage: </span></span><span><span>由同一个数据库中的所有对象共享。</span></span></li>
    <li><span><span>sortheap: </span></span><span><span>用于排序的内存交换区，非共享，不宜设置太大，否则，很容易引起内存耗尽，因为每一个事务都会申请独立的内存用于排序。</span></span></li>
    <li><span><span>locklist: </span></span><span><span>共享内存，用于记录数据服务运行中建立的锁。建议设置<span>20Mb</span>左右，需要时根据实际情况进行调整。<span>DB2</span>默认使用行级锁，如果设置太小，当锁的记录太多时，则会导致内存不足，此时<span>DB2</span>会把多个行锁升级为一个表锁，这样就会大大降低应用程序的并发性能。如果设置太大，则多分配的内存很少会被用到，导致浪费。</span></span></li>
</ul>
<p align=left><span><span>其他的一些配置参数：</span></span></p>
<p align=left><span><span>numdb: </span></span><span><span>同时可以启动的实例数目</span></span></p>
<p align=left><a name=5><strong><span>DB2</span></strong></a><span><strong><span>的常用命令</span></strong></span></p>
<p align=left><span><span>db2ilist </span></span><span><span>列出当前系统中定义的<span>DB2</span>实例<span><br>daslist </span>列出系统中的<span>DAS<br>db2 list database directory </span>列出当前实例中定义的数据库<span><br>db2 list tablespaces </span>列出当前数据库中定义的表空间<span><br>db2 list tabses [for all] </span>列出当前数据库中的表<span><br>db2 list active db </span>列出活动的数据库</span></span></p>
<p align=left><span><span>db2 get dbm config<br>get db cfg for databasename<br>db2 update db cfg for databasename using bufferpage <st1:chmetcnv w:st="on" UnitName="m" SourceValue="600" HasSpace="False" Negative="False" NumberType="1" TCSC="0">600M</st1:chmetcnv><br>db2 alter bufferpool IABMDEFAULTBP size =1<br>db2 list applications show detail</span></span></p>
<p align=left><span><span>以上命令可以在后面加<span> " show detail" </span>参数，显示详细信息。<span><br><br>DB2</span>数据存储的页大小只能在表空间级别统一指定<span>(</span>区别于<span>Oracle</span>，可以定义在表级别<span>), </span>并且建好后不能修改。<span><br><br></span>可以手工建立一个页大小为<span>4K</span>的<span>DMS</span>用户临时表空间，然后把系统默认的<span>SMS</span>系统临时表空间删除。为满足应用需求，一般还应再建立一个页大小在<span>8K</span>以上的用户临时表空间。<span><br><br>DB2 UDB V8.1 </span>对<span>RedHat Linux 9 </span>的支持不好，默认情况下无法启动<span>GUI</span>安装程序<span>(</span>可以通过设置环境<span>LD_ASSUME_KERNEL=<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">2.2.5</st1:chsdate></span>解决<span>)</span>，并且不会安装<span>Sample</span>数据库，控制中心也无法正常启动。</span></span></p>
<p align=left><a name=6><strong><span>DB2 SQL </span></strong></a><span><strong><span>相关</span></strong></span></p>
<p align=left><span><span>当使用<span>COUNT()</span>函数时，如果表中的记录数<span> &gt; 2 147 483 647</span>行，则函数可能返回错误的结果，这时可以使用返回类型为<span>DECIMAL(31, 0)</span>的<span>COUNT_BIG()</span>函数。<span><br><br>DISTINCT </span>关键字可以用在<span>COUNT()</span>函数中，如：</span></span></p>
<p align=left><span><span>SELECT COUNT(DISTINCT id) FROM TABLE</span></span></p>
<p align=left><span><span>这代表将不对<span>id</span>列的重复值进行计数。<span><br><br>ORDER BY</span>子句后面如果写了多个列名，需要分别指定升序或是降序。<span><br><br></span>可以在<span>load</span>大量数据时，暂时关闭表的日志选项。使用：</span></span></p>
<p align=left><span><span>ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY</span></span></p>
<p align=left><span><span>DB2</span></span><span><span>的几个特殊寄存器：</span></span></p>
<p align=left><span><span>CURRENT DATE<br>CURRENT TIME<br>CURRENT TIMESTAMP<br>USER(</span></span><span><span>用户<span>ID)</span></span></span></p>
<p align=left><span><span>有关日期的操作：</span></span></p>
<p align=left><span><span>CURRENT TIMESTAMP + 2 DAYS(or HOURS, SECONDS, MONTHS, YEARS, etc.)</span></span></p>
<p align=left><span><span>case </span></span><span><span>语句的使用：</span></span></p>
<p align=left><span><span>case when </span></span><span><span>条件一<span> then </span>动作一<span> else </span>动作二<span> end; </span></span></span></p>
<p align=left><span><span>以上可以欠套使用。</span></span></p>
<p align=left><span><span>在视图的创建语句中无法使用<span>order by </span>子句与<span> fetch n rows </span>子句。但对于<span>order by</span>可以用如下方法替代实现，不过会影响效率。</span></span></p>
<p align=left><span><span>create view v_name1(c1, c2, c3) as<br>select * from (<br>select column1, column2, column3<br>from t1<br>order by column1 ) as t1;</span></span></p>
<p align=left><span>表空间类型分为<span>SMS</span>和<span>DMS</span>，分别是<span>system management space, database management space. SMS</span>使用方便，简单，无需手工创建和维护数据存储文件。<span>DMS</span>需要手动指定<span>container</span>和存储数据的文件名，并保证有足够磁盘空间可用。<span><br></span>对于一个数据库，至少存在一个<span>page size</span>为<span>4K</span>的系统临时表空间，可以额外建立具有更大<span>page size</span>的用户临时表空间，系统会自动进行使用。<span><br><br></span>无法用<span>alter</span>语句更改一个字段的数据类型，对某些字段可以更改数据长度，这一点上相对于<span>Oracle</span>，<span>DB2</span>的限制要多一些。<span><br></span>可以使用<span>: select </span>表达式<span> from sysibm.sysdummy; </span>替代的，以下语句是等价的：<span>values </span>表达式；<span><br><br><br></span>表和视图的创建、更新、删除操作，都写日志，因此可以<span>commit</span>或<span>rollback</span>。<span><br><br></span>在<span>update</span>语句中，如果没有对定义了默认值的某个字段显式赋值，则更新时，此字段不会重新执行默认值中定义的表达式。为了让其重新执行默认值定义的表达式，可以采用以下方式：</span></p>
<p align=left><span>create table t1 (c1 varchar(32), lastupdatetime with default current timpstamp);<br>update t1 set c1 = 'new string', lastupdatetime = default;</span></p>
<p align=left><span>对于<span>DB2</span>数据库可以在创建时指定<span>codepage</span>参数，创建后不可修改。当应用程序访问数据库时，<span>DB2</span>会比较两者的<span>codepage</span>是否一致，不一致则进行代码页的自动转换。为了减少转换所带来的开销，应尽量保证应用程序所采用的代码页与数据库一致。<span><br><br></span>可以对<span>DB2 CLP</span>工具的<span>codepage</span>进行设置，使用：</span></p>
<p align=left><span>$ db2set DB2CODEPAGE= 1386</span></p>
<p align=left><span>本例中设置的是中文<span>GBK</span>字符集在<span>Windows</span>平台对应的值。注意，这个数字值是由<span>DB2</span>自己定义的。有关各种字符集在相应平台所对应的代码页值可在<span>IBM</span>网站查找。<span><br><br></span>在<span>DB2 CLP</span>中，对远程数据库编目的操作，首先把远程主机映射为本地节点，节点名自己指定，本例采用<span>TCPIP</span>连接。<span>service_name</span>一般定义在远程主机的<span>/etc/services</span>文件中。</span></p>
<p align=left><span>$ db2 CATALOG TCPIP NODE local_node_name REMOTE hostname|ip SERVER service_name </span></p>
<p align=left><span>然后把已知的远程主机的数据库映射到本地别名，注意本地别名在主机级别不能重复。节点名指定上面刚编目的节点。</span></p>
<p align=left><span>$ db2 CATALOG DATABASE db_name AS local_alias AT local_node_name USER username USING password </span></p>
<p align=left><span>现在就可以用刚才编目中定义的别名连接远程主机数据库</span></p>
<p align=left><span>$ db2 CONNECT TO local_alias USER username USING password</span></p>
<p align=left><span>获取数据库详细配置信息</span></p>
<p align=left><span>$ db2 GET CONFIGURATION SHOW DETAIL </span></p>
<p align=left><span>对于<span>DB2</span>返回的错误号，可以用以下方法查阅说明<span>(</span>以<span>sql 10008</span>为例<span>)</span>：</span></p>
<p align=left><span>$ db2 ? sql10008</span></p>
<p align=left><span>数据库的备份与恢复：<span><br><br></span>使用备份与恢复工具可以完成在不同的服务器见完整的转移数据库的工作，命令行方式如下：<span><br><br></span>备份</span></p>
<p align=left><span>$ db2 BACKUP DATABASE db_name USER user_name USING password to backup_dir_name<br>$ db2 BACKUP DATABASE dlhdb USER dlh USING admindlh TO d:\backups</span></p>
<p align=left><span>恢复</span></p>
<p align=left><span>$ db2 RESTORE DATABASE source_db_name USER user_name USING password FROM backup_dir_name TAKEN AT backup_file_create_time TO driver_letter INTO new_db_name<br>$ db2 RESTORE DATABASE dlhdb USER dlh USING admindlh FROM d:\backups TAKEN AT 20031209141056 TO d: INTO newdb</span></p>
<p align=left><span>有关实例的操作：</span></p>
<p align=left><span>设置默认实例环境变量</span></p>
<p align=left><span>$ db2 SET DB2INSTANCE=inst_name</span></p>
<p align=left><span>启动当前实例</span></p>
<p align=left><span>$ db2start</span></p>
<p align=left><span>停止当前实例</span></p>
<p align=left><span>$ db2stop [force]</span></p>
<p align=left><span>连接到某个实例</span></p>
<p align=left><span>$ db2 ATTACH TO ANSTANCE inst_name</span></p>
<p align=left><span>获取实例的配置参数</span></p>
<p align=left><span>$ db2 GET DBM CFG SHOW DETAIL</span></p>
<p align=left><span>导出数据库完整的定义到脚本文件，包括表，视图，函数，数据库参数等</span></p>
<p align=left><span>$ db2look -d sample</span><span>（数据库）<span> -a -e -l -x -m -f -o</span>（参数）<span>samplesql.out</span>（输出文件）</span></p>
<p align=left><span>load </span><span>一个表的数据时，有可能导致表空间处于<span>backup pending</span>（<span>0x0020</span>）状态。比如把整形数据<span>load</span>到<span>double</span>型的字段中。<span><br></span>处于<span>backup pending</span>状态的表空间不能被访问。<span><br></span>可以通过对此表空间运行一次<span>backup</span>操作，恢复到正常状态（<span>0x0</span>）。<span><br><br></span>对于自增字段，可以通过两种方式指定：</span></p>
<p align=left><span>generated by default as identity<br>generated always as identity</span></p>
<p align=left><span>区别是，第一种方式在插入数据时允许手工指定自增字段的值，只要不重复即可，并且数据库会自动设置下一个值；<span><br></span>第二种方式则不允许指定，只能由数据库自动分配并插入。<span><br><br><br>DB2 sql</span>语句中转义符的使用：</span></p>
<p align=left><span>select * from t1 where a like '%abc\%def' escape '\';</span></p>
<p align=left><span>创建数据库时，出现<span>SQL<st1:chmetcnv w:st="on" UnitName="C" SourceValue="1043" HasSpace="False" Negative="False" NumberType="1" TCSC="0">1043C</st1:chmetcnv></span>错误，可能的问题：<span><br></span>指定容器所在的磁盘空间不足，<span><br></span>当容器为<span>file</span>类型时，后面的<span>long-num</span>参数不对，比如<span>25600</span>代表<span>256Mb</span>，但如果指定<span>256</span>则会导致以上错误。<span><br><br><br></span>平台<span> RH Linux 8<br>DB2 UDB v8.1<br></span>在<span>WAS 5</span>中建立到<span>db2</span>的数据源，但连接失败，返回以下错误：</span></p>
<p align=left><span>[Servlet Error]-[SQLConnect]: java.lang.UnsatisfiedLinkError: SQLConnect</span></p>
<p align=left><span>原因是没有为运行<span>was</span>服务的用户设置以下环境变量：</span></p>
<p align=left><span>D_LIBRARY_PATH<br>LIBPATH<br>DB2INSTANCE<br>...</span></p>
<p align=left><span>以上环境变量定义在<span> $INSTHOME/sqllib/db2profile</span>文件中，可以采用的解决方案：</span></p>
<p align=left><span>$ sh stopServer.sh servername<br><br>$ . $INSTHOME/sqllib/db2profile<br>$ sh startServer.sh servername</span></p>
<p align=left><span>也可以把<span>db2profile</span>放到<span>was</span>启动脚本中首先执行。<span><br><br></span>如果只设置了<span>LD_LIBRARY_PATH</span>，<span>LIBPATH</span>两个环境变量，<span>DB2</span>会返回以下错误：</span></p>
<p align=left><span>CLI0600E Invalid connection handle or connection is closed.<br>SQLSTATE S1000</span></p>
<p align=left><span>对应于<span>Oracle</span>的<span>Job</span>包功能，<span>DB2</span>通过一个<span>GUI</span>工具－任务中心（<span>task center</span>）实现。使用任务中心前需要进行必要的工具设置，需要创建一些数据库对象，可以创建在已有的一个数据库中，也可以单独创建一个数据库。通过以下命令实现：</span></p>
<p align=left><span>create catalog tools schema_name create new database db_name</span></p>
<p align=left><span>此命令为编目工具创建一个名为<span>db_name </span>的数据库，并指定了一个模式名。<span><br></span>注意：无法用<span>using </span>子句指定一个<span>codeset</span>，系统会默认使用<span>ISO8859-1</span>字符集。<span><br><br><br>Quest Center for DB2</span>带有数据库性能诊断功能，动态监视<span>db</span>内存，磁盘<span>io, </span>表空间，负载等等。<span><br><br>DB2</span>客户端的类型：</span></p>
<ul type=disc>
    <li><span>DB2</span><span>运行时客户端<span> DB2 Runtime Client</span></span></li>
    <li><span>DB2</span><span>管理客户端<span> DB2 Administrator Client</span>（包含运行时客户端的所有内容）</span></li>
    <li><span>DB2</span><span>应用程序开发客户端<span> DB2 Application Development Client</span>（包含管理客户端的所有内容）</span></li>
    <li><span>DB2</span><span>瘦客户端<span> DB2 Thin Client</span></span></li>
    <li><span>DB2 Relational Connect </span><span>联邦数据库，用于连接异种数据库。</span></li>
</ul>
<p align=left><span>强制断开已有连接，停止实例并删除。</span></p>
<p align=left><span>$ db2idrop -f instance_name </span></p>
<p align=left><span>用于在<span>UNIX</span>下迁移实例。</span></p>
<p align=left><span>$ db2imigr instance_name </span></p>
<p align=left><span>更新实例，用于实例获得一些新的产品选项或修订包的访问权。</span></p>
<p align=left><span>$ db2iupdt instance_name </span></p>
<p align=left><span>获取当前所处的实例。</span></p>
<p align=left><span>$ db2 get instance </span></p>
<p align=left><span>当更新实例级别或数据库级别的参数后，有些可以立即生效，有些需要重新启动实例才可生效。<span>immediate </span>显式指明更改立即生效，<span>deferred </span>显式指明更改在重起实例后生效。<span><br><br></span>当需要配置许多台客户机与<span>DB2</span>服务器的连接时，可以用配置助手将服务器的概要文件导出，然后在每个客户机使用配置助手导入概要文件。若客户端只安装了运行时客户端，则可以使用以下命令导入概要文件。</span></p>
<p align=left><span>$ db2cfimp access_profile_name</span></p>
<p align=left><span>疑问：是否应该由已配置好的一台客户机导出概要文件？</span></p>
<p align=left><span>列出所有的数据库连接</span></p>
<p align=left><span>$ db2 list applications </span></p>
<p align=left><span>终止指定的连接句柄，事务被中断并回滚。同时操作多个句柄可以用逗号分开，或者指定关键字<span> all</span>。此命令只终止指定的连接，不会阻止新的应用连接到数据库。</span></p>
<p align=left><span>$ db2 force application (2) </span></p>
<p align=left><span>创建数据库时可以指定排序方式：</span></p>
<p align=left><span>collate using identity</span></p>
<p align=left><span>系统模式集是和每个数据库一起创建的，并且它们被放置到<span> SYSCATSPACE </span>表空间中。</span></p>
<ul type=disc>
    <li><span>SYSIBM</span><span>：基本系统目录，建议不要进行直接访问</span></li>
    <li><span>SYSCAT</span><span>：<span>PUBLIC </span>被授予该模式的<span> SELECT </span>权限，对只读视图编目，这是获取目录信息的推荐方式</span></li>
    <li><span>SYSSTAT</span><span>：可更新的目录视图 － 影响优化器</span></li>
    <li><span>SYSFUN</span><span>：用户定义的函数</span></li>
</ul>
<p align=left><span>如果表中的现有行不满足约束，则不能定义该约束。可以关闭约束检查以加快大量数据的添加，但是该表处于检查暂挂（<span>CHECK PENDING</span>）状态。<span><br><br></span>在创建表时，可以使用选项来指定一个或多个表空间，表和索引将被放置到其中：</span></p>
<p align=left><span>CREATE TABLE TEST (<br>column 1 definition, column 2 definition, ...<br>) IN &lt;tablespace name&gt; INDEX IN &lt;index space name&gt;</span></p>
<p align=left><span>这条命令为您提供了一个选项：指定创建表和索引的位置。如果没有指定单独的索引表空间，那么将在表所在的同一表空间中创建索引。创建表之后，就没有机会在不同的表空间中创建索引了。创建索引要提前作规划！</span></p>
<p align=left><span>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>)</span></p>
<p align=left><span>UNIQUE </span><span>属性告诉<span> DB2</span>，索引必须强制所有插入值的唯一性。<span><br></span>如果结果集是以升序和降序两种方式排序的，<span>ALLOW REVERSE SCANS </span>会告诉<span> DB2 </span>在索引中包括附加的指针，以允许在记录中有效地进行正向和反向链接。<span><br><br>DB2 </span>能够向正在创建的索引中添加另外的列。<span>CREATE INDEX </span>命令允许用户指定那些不属于实际索引但因为性能原因而保存在索引记录中的列。</span></p>
<p align=left><span>CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME,FIRSTNAME)</span></p>
<p align=left><span>对于索引中包含的列而言，索引必须是<span> UNIQUE </span>的。当创建索引时，另外的列被添加到索引值中。索引不使用这些值进行排序或确定唯一性，但可以在满足<span> SQL </span>查询时使用它们。例如，下列<span> SELECT </span>语句将不需要读取实际数据行：</span></p>
<p align=left><span>SELECT LASTNAME, FIRSTNAME FROM EMPLOYEE WHERE EMPNO &lt; '000300'</span></p>
<p align=left><span>要在表上创建群集索引，将<span> CLUSTER </span>关键字附加到<span> CREATE INDEX </span>命令的末尾，例如：</span></p>
<p align=left><span>CREATE INDEX <st1:place w:st="on"><st1:city w:st="on">DEPTS-IX</st1:city> <st1:state w:st="on">ON</st1:state></st1:place> EMPLOYEE(WORKDEPT) CLUSTER</span></p>
<p align=left><span>使用下列通用规则来决定为表定义的索引的经典数量。索引数量取决于数据库的主要用途：<span><br></span>对于在线事务处理（<span>OLTP</span>）环境，创建一到两个索引。<span><br></span>对于混合查询和<span> OLTP </span>环境，创建两到五个索引。<span><br></span>对于只读查询环境，创建五个以上索引。<span><br><br></span>在<span>Windows</span>平台上的<span>DB2</span>的命令行模式下，或者在类<span>Unix</span>平台下，使用命令<span>db2cc</span>启动控制中心。<span><br><br>db2move</span>提供了在数据库之间批量移动数据的能力，可以指定某个表，也可以指定整个数据库的表。</span></p>
<p align=left><span>$ db2move dbname action</span></p>
<p align=left><span>action </span><span>可以指定为：<span>export, import</span>或者<span>load<br></span>使用<span> -l </span>参数指定<span>lob</span>对象存储的文件夹<span><br><br></span>执行增量备份要求设置数据库配置参数<span>&#8220;trackmod&#8221;</span>的值为<span>&#8220;YES&#8221;<br></span>执行在线备份要求设置数据库配置参数<span>&#8220;logretain&#8221;</span>的值为<span>&#8220;YES&#8221;</span>，在线备份语法：</span></p>
<p align=left><span>$ db2 backup db dbname online to path</span></p>
<p align=left><span>当删除了<span>das</span>用户的<span>home</span>目录，未先<span>drop</span>掉<span>das</span>服务，则再执行<span>dasdrop</span>则不成功，提示：<span><br>db2admin </span>命令无法找到，原因是<span>db2admin</span>命令保存在<span>das</span>的<span>home</span>目录中。<span><br></span>可以删除干净<span>das</span>用户的<span>home</span>目录后，重起服务器解决此问题。</span></p>
<p align=left><span>$ dasupdt dasName </span><span>升级<span>das<br>$ db2iupdt instName </span>升级实例<span><br>$ db2licd end </span>停止许可证守护进程</span></p>
<p align=left><span>在<span>Linux</span>系统安装<span>DB2 V8.1</span>后，<span>db2fmcd</span>进程会自动启动，即使不启动实例和<span>DAS</span>，<span><br><br></span>在中文<span>Linux</span>环境下安装了<span>DB2</span>数据库服务，并使用<span>GBK</span>代码页（<span>codepage</span>）创建了一个数据库，完成后可以正常连接操作，若更改操作系统代码页为英语，则使用<span>&#8220;db2 connect&#8221;</span>时会报错，连接时无法转换代码页。</span></p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 15:12 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2个人版快速入门</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 20 Aug 2007 16:47:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32127.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32127.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32127.html</trackback:ping><description><![CDATA[<a href="http://www.cnitblog.com/Files/szdlinxie/db2AA.pdf">/Files/szdlinxie/db2AA.pdf</a>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32127.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 00:47 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2安装配置补遗</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 20 Aug 2007 16:44:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32125.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32125.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32125.html</trackback:ping><description><![CDATA[<a href="http://www.cnitblog.com/Files/szdlinxie/db2C.pdf">/Files/szdlinxie/db2C.pdf</a>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 00:44 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2服务器快速入门</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32123.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 20 Aug 2007 16:39:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32123.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32123.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32123.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32123.html</trackback:ping><description><![CDATA[<p><a href="http://www.cnitblog.com/Files/szdlinxie/db2.rar">/Files/szdlinxie/db2.rar</a></p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 00:39 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle有关资料</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27202.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Fri, 18 May 2007 07:51:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27202.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/27202.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/27202.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/27202.html</trackback:ping><description><![CDATA[<p>2007.5.14</p>
<p>1、oracle有关资料查询：<br><a href="http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html">http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html</a></p>
<p>2、 Linux下的Oracle 10g安装及配置 <br>&nbsp;<br>一.资源需要：<br>至少1024 MB物理内存<br>1024－2048 需1.5倍的交互空间<br>2048－8192 需1倍的交互空间<br>8192－ 需0.75倍的交互空间<br>至少400 MB /tmp 临时目录空间<br>oracle软件需要1.5 GB 到 3.5 GB 磁盘空间<br>默认数据库需要1.2 GB</p>
<p>二.查看系统资源相关语句：<br>cat /etc/issue<br>uname -r<br>grep MemTotal /proc/meminfo<br>grep SwapTotal /proc/meminfo<br>grep "model name" /proc/cpuinfo<br>free<br>df -k /tmp<br>df -k<br>安装前的检查和准备工作： <br>p4198954_21_linux.zip 在运行 runInstaller 之前打. <br>rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm (p4198954_21_linux.zip)<br>(不打PATCH也可以）<br>安装 libaio-0.3.102-1.i386.rpm <br>libaio-devel0.3.102-1.i386.rpm<br>在Red Hat Enterprise Linux 介质的第三张CD,以 root 用户身份运行以下命令：<br>rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm</p>
<p>三.创建数据库安装的准备工作: <br>1.创建用户和组(user/group)； <br>groupadd dba <br>groupadd oinstall <br>useradd oracle -g oinstall -G dba <br>passwd oracle <br>如果nobody用户不存在（id nobody命令查看)，则创建：<br>useradd nobody<br>2.建立oracle安装文件夹(sample)； <br>mkdir -p /opt/oracle/product/10g<br>mkdir /opt/oracle/database<br>chown -R oracle.oinstall /opt/oracle<br>chmod 755 -R /opt/oracle<br>2， 配置环境变量； <br>要使用 Oracle 产品，应该或必须设置几个环境变量。如果您在同一服务器上安装了多个 Oracle 产品或数据库，则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改，并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。<br>对于数据库服务器，建议设置以下环境变量： <br>使用第一步创建的用户名Oracle登陆: <br>su oracle <br>vi ~/.bash_profile <br>修改以下是配置文件的内容<br>export ORACLE_BASE=/opt/oracle/<br>export ORACLE_HOME=/opt/oracle/product/10g<br>export ORACLE_SID=ge01(可随意定义)<br>export PATH=$ORACLE_HOME/bin:$PATH<br>ESC(退出vi的编辑环境)<br>:wq(退出vi应用程序并保存修改)</p>
<p>安装好后再取消屏蔽这些环境变量设置<br>#export TNS_ADMIN=$ORACLE_HOME/network/admin<br>#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK<br>#export LANG=AMERICAN_AMERICA.ZHS16GBK<br>配置好后用 source .bash_profile 命令使配置生效 </p>
<p>四.设置系统参数；<br>Oracle 数据库 10g 需要以下所示的内核参数设置。<br>其中给出的是最小值，因此如果您的系统使用的值较大，则不要更改它。<br>切换到root用户:<br>su root <br>a) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加： </p>
<p>kernel.shmmax = 2147483648<br>kernel.shmmni = 4096 <br>kernel.shmall = 2097152 <br>kernel.sem = 250 32000 100 128 <br>fs.file-max = 65536 <br>net.ipv4.ip_local_port_range = 1024 65000 <br>net.core.rmem_default=262144<br>net.core.rmem_max=262144<br>net.core.wmem_default=262144<br>net.core.wmem_max=262144</p>
<p>修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效； </p>
<p>B) 设置oracle对文件的要求： <br>编辑文件：vi /etc/security/limits.conf 加入以下语句： <br>oracle soft nproc 2047<br>oracle hard nproc 16384<br>oracle soft nofile 1024<br>oracle hard nofile 65536<br>编辑文件：vi /etc/pam.d/login 加入以下语句(可能应该加在最后一条规则之前）:<br>session required /lib/security/pam_limits.so</p>
<p>安装Oralce10G</p>
<p>解压缩Oracle10G的安装文件 ：<br>1． Oracle <br>(1) 简化过程（以oracle登录，释放安装文件,使用更少的磁盘空间，速度更快） <br>在/tmp下解压缩10201_database_linux32.zip:<br>unzip 10201_database_linux32<br>开始安装oracle <br>（一）开始安装： <br>1.以oracle用户登录系统，进行Oracle的安装：<br>cd /tmp/database (或者你解压缩安装程序包的目录）<br>./runInstaller<br>过一会儿就会出现Oracle的安装界面<br>注意：<br>1、选择advance install<br>2、数据库home设置为/opt/oracle/product/10g<br>3、数据库全局名称设置为ge01<br>4、数据库字符集选Simplified Chinese ZHS16GBK</p>
<p>2.其他用默认设置！<br>注意：安装过程中会提示以root用户登陆执行一些脚本 ，执行后再按&#8220;ok&#8221;按钮继续安装。</p>
<p>3、登陆并启动数据库的操作。 <br>[oracle@oracle oracle]$ lsnrctl start <br>[oracle@oracle oracle]$ sqlplus /nolog <br>SQL*Plus: Release 9.2.0.0 - Production on Sat Mar 12 22:58:53 2005 <br>Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. <br>SQL&gt; connect / as sysdba <br>Connected. <br>SQL&gt; shutdown immediate 关闭数据库 （OR "dbshut" command)<br>Database closed. <br>Database dismounted. <br>ORACLE instance shut down. <br>SQL&gt; startup; 启动数据库 <br>ORACLE instance started. <br>Total System Global Area 236000356 bytes <br>Fixed Size 451684 bytes <br>Variable Size 201326592 bytes <br>Database Buffers 33554432 bytes <br>Redo Buffers 667648 bytes <br>Database mounted. <br>Database opened. </p>
<p>4, dbstart脚本修改<br>数据库创建完成后，修改vi /etc/oratab，把orcl:/opt/oracle/oracle/product/10g:N那一行最后的N改成Y，<br>然后执行dbstart启动数据库数据库可能无法启动，报告Can&#8217;t find init file &#8230;的错误，需要复制一个初始化文件: <br>cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora <br>重新执行dbstart就可以了。<br>修改vi /opt/oracle/product/10g/bin/dbstart中ORACLE_HOME_LISTNER=/opt/oracle/oracle/product/10g/<br>vi /etc/rc.local 加入下面一行 起动ORACLE ON system boot<br>/opt/oracel/product/10g/bin/dbstart</p>
<p>5. 编写启动脚本（OPTION）<br>为了方便管理，可以写一个启动脚本ora10g： <br>以root身份进入，编写以下脚本： <br>#!/bin/bash <br># <br># chkconfig: 2345 91 19 <br># description: starts the oracle listener and instance <br>status() {<br>pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`<br>if [ "X$pid" = "X" ]<br>then<br>echo "oracle10g is not running."<br>exit 1<br>else<br>echo "oracle10g is running."<br>exit 0<br>fi<br>}<br>case "$1" in <br>start) <br>#startup the listener and instance <br>echo -n "oracle begin to startup: " <br>su - oracle -c "lsnrctl start" <br>su - oracle -c dbstart <br>echo "oracle10g started" <br>;; <br>stop) <br># stop listener, apache and database <br>echo -n "oracle begin to shutdown:" <br>su - oracle -c "lsnrctl stop" <br>su - oracle -c dbshut <br>echo "oracle10g shutdowned" <br>;; <br>reload|restart) <br>$0 stop <br>$0 start <br>;; <br>'status')<br>status<br>;;<br>*) <br>echo "Usage: ora10g [start|stop|reload|restart]" <br>exit 1 <br>esac <br>exit 0 <br>存为ora10g后，然后<br>chmod a+x ora10g<br>ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/<br>即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。<br>如果要将这个脚本加入到系统中使其可开机运行，那么要运行以下命令：<br>chkconfig --level 345 ora10g on</p>
<p>或者可在/etc/rc.d/rc.local中加入如下： <br>su - oracle -c "lsnrctl start" <br>su - oracle -c "dbstart" </p>
<p>6, 关于数据库删除重新安装的问题: <br>把ORACLE安装目录删除及/etc/ora*.*删除就行了 <br>#rm &#8211;f /etc/ora*.*</p>
<p>7.修改Oracle10g数据库字符集<br>SQL&gt; connect sys/oracle as sysdba<br>SQL&gt; startup mount<br>SQL&gt; alter session set sql_trace=true;<br>Session altered.<br>SQL&gt; alter system enable restricted session;<br>System altered.<br>SQL&gt; alter system set job_queue_processes=0;<br>System altered.<br>SQL&gt; alter system set aq_tm_processes=0;<br>System altered.<br>SQL&gt; alter database open;<br>Database altered.<br>SQL&gt; set linesize 120;<br>SQL&gt; alter database character set zhs16gbk;<br>alter database character set zhs16gbk<br>*<br>ERROR at line 1:<br>ORA-12712: new character set must be a superset of old character set<br>SQL&gt; ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳过超集的检查,ALTER DATABASE character set INTERNAL_USE <br>Database altered.<br>SQL&gt; shutdown immediate;<br>Database closed.<br>Database dismounted.<br>ORACLE instance shut down.<br>SQL&gt; STARTUP<br>SQL&gt; select name,value$ from props$ where name like '%NLS%';<br>NLS_CHARACTERSET<br>ZHS16GBK</p>
<p>8. oracle database备份<br>(1)vi bachupDb.sh<br>#!/bin/sh<br>#oracle用户下<br>#crontab -e 增加 "35 4 * * * /home/oracle/dbbackup/backupDb.sh",保存后自动安装<br>#或echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" &gt; backupDb.cron<br>#crontab backupDb.cron<br>#############<br><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#35;&#64;&#116;&#105;&#112;">#@tip</a> 修改为本机数据库home目录<br>export ORACLE_HOME=/opt/oracle/product/10g<br>export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin<br># 注意字符集必须和数据库的字符集一致，以避免字符集转化失败 <br>export NLS_LANG=AMERICAN_AMERICA.zhs16gbk<br><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#35;&#64;&#116;&#105;&#112;">#@tip</a> 125修改为要备份的oracle的ip地址的最后一段<br>dmpfile="`echo ~/`dbbackup/gedb_`date +%w`.dmp"<br>logfile="`echo ~/`dbbackup/gedb_`date +%w`.log"</p>
<p>if [ -w $dmpfile ]<br>then<br>echo "rm -f $dmpfile"<br>rm -f "$dmpfile"<br>fi</p>
<p><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#35;&#64;&#116;&#105;&#112;">#@tip</a> ip地址修改为要备份的oracle的主机地址<br>exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#85;&#83;&#69;&#82;&#73;&#68;&#61;&#103;&#101;&#100;&#98;&#47;&#103;&#101;&#100;&#98;&#64;&#49;&#48;&#46;&#50;&#52;&#56;&#46;&#49;&#46;&#53;&#47;&#103;&#101;&#48;&#49;">USERID=gedb/gedb@10.248.1.5/ge01</a> file=$dmpfile log=$logfile owner=gedb grants=y<br>(2)copy bachupDb.sh 到slave oracle srever 相应目录,<br>chown oracle.oinstall bachupDb.sh<br>chmod 744 bachupDb.sh <br>vi bachupDb.sh 以符合安装情况<br>(3)以oracle user role<br>crontab -e<br>35 4 * * * /home/oracle/dbbackup/backupDb.sh </p>
<p>9. restore oracle backup<br>su - oracle<br>imp USERID=gedb/gedb file=gedb_6.dmp log=implogfile commit=y grants=y full=y&nbsp;&nbsp;&nbsp; <br>&nbsp;<br>&nbsp;<br>*****脚本修改的相关资料查询：<a href="http://unix-cd.com/unixcd12/article_5428.html">http://unix-cd.com/unixcd12/article_5428.html</a><br>&nbsp;<br>SQLPLUS命令的使用大全，解压密码为<a href="http://www.csai.cn/">www.csai.cn</a>。</p>
<p><br>Uedit32与SQLPlus结合使用技巧<br><a href="http://www.itwen.com/08db/04oracle/oracle20060219/34003.html">http://www.itwen.com/08db/04oracle/oracle20060219/34003.html</a></p>
<p>Uedit32与SQLPlus结合使用技巧 用过Uedit32的人都知道,这个工具虽然小,却功能俱全.只要我们在工作中巧妙的使用用它,可以使我们的工作效率事半功倍.那么,在下面的文章中,我将说说Uedit32与Oracle SQLPlus用法. <br>首先下载并安装Uedit32,确保SQlPlus能正常运行, 接下来的事情就是两者的系统配置了,具体按照以下的几个步骤进行: <br>步骤一：在Oracle安装目录下的Ora81找到dbs这个文件夹，如果没有这个文件 夹，创建名为dbs的文件夹，然后在这个文件夹下新建一个文本文件， 取名为：login.sql.<br>步骤二：在Uedit32的安装目录下新建一个文本文件，取名为：PlSQL.txt<br>步骤三：打开Uedit32，在Uedit32主菜单的Advanced下，选择 Configuration...进入到一个页面UltraEdit Configuration．在这个　 　　 页面中选择Syntax Highlighting,在Full path name for中，将你第二 步创建的Plsql.txt连接到此，即，单击Browse，直接在Uedit32目录下 找到Plsql.txt这个文件，确定后，一切就ok了。<br>步骤四：在Uedit32主菜单的View下的View AS(Highlightiing File Type)下会 显示一个SQL，这样就说明你的Configuration已经Succeed.如果在这个 菜单下没有SQL，就说明Configuration错误，重复上边的步骤，直到出 现SQL为止。<br>*****如果配置成功后,每次在SQLPlus下进行SQL语句编辑的时候,要对已经编辑或执行的SQL语句修改,就可以直接输入ED即可进入到Uedit32的编辑状态,这样,大大方便了使用速度. 另附：login.sql文件脚本： define _editor='uedit32.exe'<br>set editfile a.sql<br>set line 1000 说明：PlSQL.txt脚本主要用来控制 SQL语句在uedit32中字体显示颜色，变量名，函数名等将以不同的颜色进行显示，方便修改和辨认。由于篇幅有限，如果需要，可以mail给我。 海 洋 2002-05-31（完）计算机基础教程网</p>
<p>==================================================================================================================<br>2007.05.15</p>
<p>1、UltraEdit 11 的注册码</p>
<p>用户名1：UltraEdit<br>注册码1：A2X1Q-A0K6X-X700D-H407N</p>
<p>grant all on *.* to <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#111;&#111;&#116;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;">root@localhost</a> identified by password</p>
<p>source 脚本</p>
<p>mysqldump --opt databases tables &gt; 脚本名&nbsp; -d<br>(-d&nbsp; 参数是叫导出数据库里所有表的结构，不包括数据)</p>
<p><br>3、按照NVMP手册安装 ，但是 在 最后执行SETUP.BAT时候不成，不知道原因？</p>
<p><br>=====================================================================================================================</p>
<p>2007.05.16</p>
<p>1、LOGIN界面可以出现，但是输入用户名以及密码后，没有系统的主界面。不知道原因。</p>
<p>2、数据库建立错误。。。。。BUILD FAILED</p>
<p>3、Oracle基础学习一:安装Oracle9i Database及Client 认识相关工具 <br><a href="http://www.cnblogs.com/freeliver54/archive/2007/04/13/705135.html">http://www.cnblogs.com/freeliver54/archive/2007/04/13/705135.html</a></p>
<p>1.安装Oracle9i或其他版本的Database 和 Client等<br>2.利用[数据库配置助手]创建数据库表空间<br>3.利用[企业管理器]管理数据库表空间<br>4.配置 [管理服务器]<br>5.SQL Plus 与 SQLPlus Worksheet<br>6.Oracle Administration Assistant for Windows NT 等 其他工具<br>===============================</p>
<p>1.安装Oracle9i或其他版本的Database 和 Client等<br>------------------------<br>(1).安装界面及欢迎<br>&nbsp;&nbsp;&nbsp; 此安装界面 可以查看 已安装产品 以及 卸载产品<br>&nbsp;&nbsp;&nbsp; 直接点击 下一步 则进行安装<br>(2).文件定位<br>&nbsp;&nbsp;&nbsp; 安装文件的来源路径 以及 产品的目标路径<br>&nbsp;&nbsp;&nbsp; 默认即可<br>(3).选择要安装的产品选项 <br>&nbsp;&nbsp;&nbsp; 该选项决定了下一步的安装类型<br>&nbsp;&nbsp;&nbsp; 此处选择默认的第一项 Oracle 9i Database...&nbsp;&nbsp;&nbsp; <br>(4).安装类型<br>&nbsp;&nbsp;&nbsp; 选择默认的 企业版本 下一步<br>(5).数据库配置<br>&nbsp;&nbsp;&nbsp; 可以选择默认的通用<br>&nbsp;&nbsp;&nbsp; 也可以选择最后的只安装软件<br>&nbsp;&nbsp;&nbsp; 当然也可以选择自定义 以及 数据仓库等其他<br>&nbsp;&nbsp;&nbsp; 此处同样选择默认<br>(6).数据库标识<br>&nbsp;&nbsp;&nbsp; 给数据库起个 全局数据库名 如aDB等<br>(7).接下来的<br>&nbsp;&nbsp;&nbsp; 数据库文件位置 及 字符集等 <br>&nbsp;&nbsp;&nbsp; 一路默认即可<br>(8).安装过程中 <br>&nbsp;&nbsp;&nbsp; 会提示需要你指示出下一张CD的位置<br>(9).如果顺利 就会安装成功<br>&nbsp;&nbsp;&nbsp; 如果期间 有个别组件 安装不成功<br>&nbsp;&nbsp;&nbsp; 如果不是太必需 可以选择取消<br>&nbsp;&nbsp;&nbsp; 当然是取消该组件的安装 而不是取消整个产品的安装<br>(10).安装完Database<br>&nbsp;&nbsp;&nbsp; 接下来 可以继续安装 Client<br>&nbsp;&nbsp;&nbsp; 也可以只在其他位置的客户端需要时 <br>&nbsp;&nbsp;&nbsp; 进行下面的安装客户端的相关步骤<br>&nbsp;&nbsp;&nbsp; 也就是承接上述的第3步<br>&nbsp;&nbsp;&nbsp; 选择Oracle 9i Client<br>(11).安装类型<br>&nbsp;&nbsp;&nbsp; 选择默认的 Administrator 下一步<br>(12).在安装过程中 同样会提示需要你指示出其他CD的位置<br>(13).安装完成后 会自动出现 网络配置助手 的欢迎画面<br>&nbsp;&nbsp;&nbsp;&nbsp; 以帮助你 进行 本地网络服务名配置<br>&nbsp;&nbsp;&nbsp;&nbsp; 该助手的打开位置在<br>&nbsp;&nbsp;&nbsp;&nbsp; [打开位置]<br>&nbsp;&nbsp;&nbsp;&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp;&nbsp;&nbsp;&nbsp; -&gt;Configuration and Migration Tools<br>&nbsp;&nbsp;&nbsp;&nbsp; -&gt;Net Configuration Assistant<br>(14).按默认即可<br>&nbsp;&nbsp;&nbsp; 在 服务名 处的填写<br>&nbsp;&nbsp;&nbsp; 就是输入全局数据库名 如上面的aDB<br>&nbsp;&nbsp;&nbsp; 当然如果上面Database安装时 <br>&nbsp;&nbsp;&nbsp; 只安装了软件 没有创建数据库<br>&nbsp;&nbsp;&nbsp; 则可以后续再做配置<br>(15).选择协议 默认TCP 下一步<br>&nbsp;&nbsp;&nbsp;&nbsp; 填写主机名 输入Oracle9i的刚才安装的主机IP<br>&nbsp;&nbsp;&nbsp;&nbsp; 端口处 默认1521 <br>&nbsp;&nbsp;&nbsp;&nbsp; 下一步 进行 是否进行测试画面<br>(16).也不用配置另一个网络服务名<br>&nbsp;&nbsp;&nbsp; 这样 顺利的话 就配置网络服务名完成 </p>
<p>经过上述的安装 接下来也就可以使用Oracle了&nbsp;&nbsp;&nbsp; </p>
<p>其默认有如下几个帐户<br>ID: system&nbsp; PWD:manager&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 权限:SYSDBA<br>ID: sys&nbsp;&nbsp;&nbsp;&nbsp; PWD:change_on_install&nbsp;&nbsp; 权限:SYSDBA</p>
<p><br>2.利用[数据库配置助手]创建数据库表空间<br>--------------------------------------<br>[打开位置]<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Configuration and Migration Tools<br>&nbsp; -&gt;Database Configuration Assistant</p>
<p>&nbsp; 通过该使用该助手<br>&nbsp; 可以创建 配置 和 删除 数据库 等 以及管理模板</p>
<p>(1).何种操作处 <br>&nbsp;&nbsp;&nbsp; 选择 默认的 创建数据库 下一步<br>(2).数据库模板 处<br>&nbsp;&nbsp;&nbsp; 选择New Database 或其他需要的模板<br>(3).数据库名 全局的数据库名称<br>(4).下面的根据助手的指引<br>&nbsp;&nbsp;&nbsp; 默认即可<br>&nbsp;&nbsp;&nbsp; 当然也可以根据自己的情况 进行修改<br>(5).创建数据库是一个时间稍长的过程<br>&nbsp;&nbsp; 最后如果成功 就会弹出相关数据库信息画面<br>&nbsp;&nbsp; 如全局数据库名称 系统标识符(SID)<br>&nbsp;&nbsp; 和两个默认的数据库帐户(sys和system) </p>
<p>3.利用[企业管理器]管理数据库表空间<br>----------------------------------<br>[打开位置]<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Enterprise Manager Console<br>&nbsp; 可以选择<br>&nbsp; -&gt;独立启动(S)<br>&nbsp; 或<br>&nbsp; -&gt;登录[管理服务器]<br>&nbsp;&nbsp;&nbsp; 登录到Oracle Management Server(L)<br>&nbsp; 如果还没有进行下面4.配置 [管理服务器]的部分<br>&nbsp; 可以选择独立启动 <br>&nbsp; <br>4.配置 [管理服务器]<br>-------------------<br>[打开位置]<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Configuration and Migration Tools<br>&nbsp; -&gt;Enterprise Manager Configuration Assistant<br>&nbsp; 根据向导进行相关配置</p>
<p>5.SQL Plus 与 SQLPlus Worksheet<br>--------------------------------<br>a.SQL Plus<br>[打开位置]<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Application Development<br>&nbsp; -&gt;SQL Plus</p>
<p>b.SQLPlus Worksheet<br>[打开位置]<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Integrated Management Tools<br>&nbsp; -&gt;SQLPlus Worksheet<br>&nbsp; 或<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Application Development<br>&nbsp; -&gt;SQLPlus Worksheet</p>
<p>6.Oracle Administration Assistant for Windows NT 等 其他工具<br>------------------------------------------<br>[打开位置]<br>&nbsp; 开始-&gt;所有程序-&gt;Oracle - OraHome90<br>&nbsp; -&gt;Configuration and Migration Tools<br>&nbsp; -&gt;Administration Assistant for Windows NT</p>
<p>Oracle Administration Assistant for Windows NT <br>是一种数据库管理工具，<br>它可以帮助您在 Windows NT 上轻松地<br>创建数据库管理员、操作员、用户和角色。<br>此外，它还可帮助您管理 Oracle 数据库服务、<br>Oracle 数据库启动和关闭配置、<br>编辑注册表参数设置以及查看 Oracle 进程信息。</p>
<p><br><a href="http://128.8.153.120:8080/jira">http://128.8.153.120:8080/jira</a></p>
<p><a href="http://www.atlassian.com/software/jira/">http://www.atlassian.com/software/jira/</a></p>
<p><br>监控的时候，如果有正常的I/O设备，那切换的时候不会慢也不会死</p>
<p>如果没有正常的I/O设备的话，在切换时候就会发生慢或死</p>
<p><a href="http://blog.csdn.net/zcatlinux/archive/2006/05/10/721157.aspx">http://blog.csdn.net/zcatlinux/archive/2006/05/10/721157.aspx</a> 让ORACLE自动启动的方法</p>
<p><a href="http://blog.csdn.net/">http://blog.csdn.net</a></p>
<p>FlashFXP 注册码</p>
<p>把下面的代码复制到密钥框中即可:(就是就击注册那框中)</p>
<p>FLASHFXPwQAOlhkgwQAAAAC6W5MNJwTnsl73nIraAU149tnCQS<br>0hmZU3GGBQG1FtoSp5x0mUgA7bFW0qr0fKk2KCA+v2CCrFbF+q<br>bmLvEjV+4JCAX+H/TBpG7pdEJ8IEW09ST8t60Poou/CTNhxGoz<br>1Ww0kiyHynU4fOmVK9gQZ5eeMxKzssnhKdor2ibc3OTo+WvErl<br>omRpMfd15+/2EA/SbxzdwKmX6ybVAYnLe4g3cheOEdD3YnxF5i<br>4NeTRw</p>
<p><br>下载地址：<a href="http://www.tvmi.cn/Soft/163.html">http://www.tvmi.cn/Soft/163.html</a></p>
<p>====================================================================================================================<br>2007.05.17</p>
<p>linux下安装oracle 10g SLES9安装Oracle 10g <br>十一月 29th 2006 Posted to 未分类 <br>系统环境：<br>SuSE Linux Enterprise Server 9 （升级到sp3)<br>kernel-2.6.5-7.244-default</p>
<p>Oracle最低硬件需求<br>物理内存：最低512MB （运行 grep MemTotal /proc/meminfo检查）<br>交换分区：最低1GB （运行 grep SwapTotal /proc/meminfo检查）<br>硬盘空间：软件需空间2.5G，数据库需空间1.2G.（运行df -h检查硬盘剩余空间）</p>
<p>检查所依赖的软件包<br>所需要的软件包的版本(或更高版本）<br>kernel-2.6.5-7.5<br>gcc-3.3.3-43<br>gcc-c++-3.3.3-43<br>glibc-2.3.3-98<br>libaio-0.3.98-18<br>libaio-devel-0.3.98-18<br>make-3.80<br>openmotif-libs-2.2.2-519.1<br>查看内核版本执行命令 uname -r<br>要查看系统是否安装上述软件包。以root身份运行<br>rpm -q gcc gcc-c++ glibc libaio libaio-devel make openmotif-libs命令。<br>注：如果SLES9系统中了认证服务(NIS,LDAP,kerbose)。则要把它们删除。</p>
<p>安装orarun<br>orarun是为一个专门简化oracle安装的软件包。Orarun自动添加了安装oracle所需要的用户和组，设置了环境变量和内核参数。可以通过Yast安装orarun。<br>安装好orarun后，还需要修改shell。<br>编辑/etc/passwd，把orarun对应行的/bin/false更改为/bin/bash<br>修改/etc/profile.d/oracle.sh文件：<br>把第29行ORACLE_HOME=$ORACLE_BASE/product/9ir2<br>修改为ORACLE_HOME=$ORACLE_BASE/product/10gR2</p>
<p>设置内核参数<br>完成上述操作后，以root身份执行命令/usr/sbin/rcoracle start来设置内核参数</p>
<p>安装oracle<br>从oracle网站上下载10201_database_linux32.zip。解压。<br>以oracle身份登录系统，进入到解压后的目录。运行./runInstaller安装。按照默认值安装既可</p>
<p>修改dbstart脚本<br>安装好oracle后。要修改dbstart脚本。<br>把第78行ORACLE_HOME_LISTEN=/ade/vikrkuma-new/oracle<br>更改为ORACLE_HOME_LISTEN=$ORACLE_BASE/product/10gR2</p>
<p>Comments(0) <br>在RHEL AS 3上安装Oracle 10g <br>十一月 29th 2006 Posted to 未分类 <br>系统环境<br>Red Hat Enterprise Linux AS release 3 (Taroon Update 4)<br>Kernel 2.4.21-27.EL</p>
<p>Oracle最低硬件需求<br>物理内存：最低512MB （运行 grep MemTotal /proc/meminfo检查）<br>交换分区：最低1GB （运行 grep SwapTotal /proc/meminfo检查）<br>硬盘空间：软件需空间2.5G，数据库需空间1.2G.（运行df -h检查硬盘剩余空间）</p>
<p>检查所依赖的软件包<br>所需要的软件包的版本(或更高版本）<br>gcc-3.2.3-2<br>make-3.79 <br>binutils-2.11<br>openmotif-2.2.2-16<br>setarch-1.3-1<br>compat-gcc-7.3-2.96.122<br>compat-gcc-c++-7.3.-2.96.122<br>compat-libstdc++-7.3-2.96.122<br>compat-libstdc++-devel-7.3-2.96.122<br>compat-db-4.0.14.5<br>要查看系统是否安装上述软件包。以root身份运行<br>rpm -q gcc make binutils openmotif setarch compat-gcc 类似命令检查。</p>
<p>创建Oracle用户和组<br>以root身份执行下列命令：<br>/usr/sbin/groupadd oinstall<br>/usr/sbin/groupadd dba<br>/usr/sbin/useradd -m -g oinstall -G dba oracle <br>id oracle<br>然后设置oracle账户的密码：<br>/usr/bin/passwd oracle</p>
<p>创建目录<br>创建针对Oracle 10g软件和数据库的目录。以root身份执行下列命令<br>mkdir -p /u01/app/oracle<br>mkdir -p /u02/oradata<br>chown -R oracle:oinstall /u01/app/oracle /u02/oradata<br>chown -R 775 /u01/app/oracle /u02/oradata<br>修改内核参数<br>以root身份编辑/etc/sysctl.conf文件。添加以下内容：<br>kernel.shmall = 2097152<br>kernel.shmmax = 2147483648<br>kernel.shmmni = 4096<br>kernel.sem = 250 3200 100 128<br>fs.file-max = 65536<br>net.ipv4.ip_local_range = 1024 65000<br>保存，退出。<br>然后运行/sbin/sysctl -p激活更改。<br>为oracle用户设置shell限制 <br>以root身份编辑/etc/security/limits.conf文件。添加以下内容：<br>oracle soft nproc 2047<br>oracle hard nproc 16384<br>oracle soft nofile 1024<br>oracle hard nofile 65536<br>然后再编辑/etc/pam.d/login文件。添加以下内容：<br>session required /lib/security/pam_limits.so</p>
<p>oracle用户的环境变量设置<br>以oracle用户身份登录系统。<br>编辑.bash_profile文件。添加以下内容：（具体值请根据自己的情况设置）<br>export ORACLE_BASE=/u01/app/oracle<br>export ORACLE_HOME=$ORACLE_BASE/product/10g<br>export ORACLE_SID=DEMO<br>export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib<br>export LC_CTYPE=en_US.UTF-8<br>并且把PATH=$PATH:$HOME/bin一行修改为PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin<br>保存，退出。<br>然后运行命令source .bash_profile 使环境变量生效。</p>
<p>安装oracle<br>从oracle网站上下载10201_database_linux32.zip。解压。<br>进入到解压后的目录。运行./runInstaller安装。按照默认值安装既可。</p>
<p>Comments(0)&nbsp; <br>.</p>
<p><a href="http://www.linuxeden.com/doc/26838.html">http://www.linuxeden.com/doc/26838.html</a>&nbsp; 用linux完成oracle自动物理备份</p>
<p><a href="http://www.linuxeden.com/">http://www.linuxeden.com/</a>&nbsp; LINUX基本论坛</p>
<p><a href="http://book.csdn.net/bookfiles/292/10029212533.shtml">http://book.csdn.net/bookfiles/292/10029212533.shtml</a> ORACLE10G书籍站点</p>
<p><br><a href="http://www.soft6.com/know/detail.asp?id=BAAEJB">http://www.soft6.com/know/detail.asp?id=BAAEJB</a></p>
<p>SQL&gt; show user --显示当前连接用户 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; show error　　　　　　　　　　　　　　　 --显示错误 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set heading off --禁止输出列标题，默认值为ON </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set feedback off --禁止显示最后一行的计数反馈信息，默认值为"对6个或更多的记录，回送ON" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set timing on --默认为OFF，设置查询耗时，可用来估计SQL语句的执行时间，测试性能 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set sqlprompt "SQL&gt; " --设置默认提示符，默认值就是"SQL&gt; " </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set linesize 1000 --设置屏幕显示行宽，默认100 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set autocommit ON --设置是否自动提交，默认为OFF </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set pause on --默认为OFF，设置暂停，会使屏幕显示停止，等待按下ENTER键，再显示下一页 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set arraysize 1 --默认为15 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL&gt; set long 1000 --默认为80 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long值默认为80，设置1000是为了显示更多的内容，因为很多数据字典视图中用到了long数据类型，如： </p>
<p>SQL&gt; desc user_views<br>列名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可空值否&nbsp;&nbsp; 类型<br>------------------------------- -------- ----<br>VIEW_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOT NULL VARCHAR2(30)<br>TEXT_LENGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER<br>TEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LONG </p>
<p>SQL&gt; define a = '''20000101 12:01:01'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --定义局部变量，如果想用一个类似在各种显示中所包括的回车那样的常量，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --可以用define命令来设置<br>SQL&gt; select &amp;a from dual;<br>原值&nbsp;&nbsp;&nbsp; 1: select &amp;a from dual<br>新值&nbsp;&nbsp;&nbsp; 1: select '20000101 12:01:01' from dual </p>
<p>'2000010112:01:01<br>-----------------<br>20000101 12:01:01</p>
<p><br>问题提出： <br>1、用户需要对数据库用户下的每一张表都执行一个相同的SQL操作，这时，一遍、一遍的键入SQL语句是很麻烦的 </p>
<p>实现方法： <br>SQL&gt; set heading off --禁止输出列标题<br>SQL&gt; set feedback off --禁止显示最后一行的计数反馈信息 </p>
<p>列出当前用户下所有同义词的定义，可用来测试同义词的真实存在性<br>select 'desc '||tname from tab where tabtype='SYNONYM'; </p>
<p>查询当前用户下所有表的记录数<br>select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE'; </p>
<p>把所有符合条件的表的select权限授予为public<br>select 'grant select on '||table_name||' to public;' from user_tables where 《条件》; </p>
<p>删除用户下各种对象<br>select 'drop '||tabtype||' '||tname from tab; </p>
<p>删除符合条件用户<br>select 'drop user '||username||' cascade;' from all_users where user_id&gt;25; </p>
<p>快速编译所有视图 <br>----当在把数据库倒入到新的服务器上后(数据库重建)，需要将视图重新编译一遍，<br>----因为该表空间视图到其它表空间的表的连接会出现问题，可以利用PL/SQL的语言特性，快速编译。 </p>
<p>SQL&gt; SPOOL ON.SQL<br>SQL&gt; SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB;<br>SQL&gt; SPOOL OFF<br>然后执行ON.SQL即可。<br>SQL&gt; @ON.SQL<br>当然，授权和创建同义词也可以快速进行，如：<br>SQL&gt; SELECT 'GRANT SELECT ON '||TNAME||' TO 用户名;' FROM TAB;<br>SQL&gt; SELECT 'CREATE SYNONYM '||TNAME||' FOR 用户名.'||TNAME||';' FROM TAB; </p>
<p>SQL*PLUS常用命令列表 </p>
<p>[ 天堂之水&nbsp; 2002年9月18日，阅读人数36人 ]</p>
<p>软件环境： <br>1、Windows 98 第二版<br>2、Oracle数据库版本为：Personal Oracle7 Release 7.3.4.0.0<br>3、Oracle安装路径为：C:\ORAWIN95 </p>
<p>命令列表： <br>假设当前执行命令为：select * from tab; </p>
<p>(a)ppend　　　　 添加文本到缓冲区当前行尾　　　　a&nbsp; order by tname　结果：select * from tab order by tname;<br>　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　（注：a后面跟2个空格）<br>(c)hange/old/new 在当前行用新的文本替换旧的文本　c/*/tname　　　　　结果：select tname from tab;<br>(c)hange/text　　从当前行删除文本　　　　　　　　c/tab　　　　　　　结果：select tname from ;<br>del　　　　　　　删除当前行<br>del n　　　　　　删除第n行<br>(i)nput 文本　　 在当前行之后添加一行<br>(l)ist　　　　　 显示缓冲区中所有行<br>(l)ist n　　　　 显示缓冲区中第 n 行<br>(l)ist m n　　　 显示缓冲区中 m 到 n 行<br>run　　　　　　　执行当前缓冲区的命令<br>/　　　　　　　　执行当前缓冲区的命令<br>r　　　　　　　　执行当前缓冲区的命令<br>@文件名　　　　　运行调入内存的sql文件，如： </p>
<p>SQL&gt; edit s&lt;回车&gt;<br>如果当前目录下不存在s.sql文件，则系统自动生成s.sql文件，<br>在其中输入&#8220;select * from tab;&#8221;，存盘退出。 </p>
<p>SQL&gt; @s&lt;回车&gt;<br>系统会自动查询当前用户下的所有表、视图、同义词。 </p>
<p>@@文件名　　　　 在.sql文件中调用令一个.sql文件时使用 </p>
<p>save 文件名　　　将缓冲区的命令以文件方式存盘，缺省文件扩展名为.sql<br>get 文件名　　　 调入存盘的sql文件<br>start 文件名　　 运行调入内存的sql文件 </p>
<p>spool 文件名　　 把这之后的各种操作及执行结果&#8220;假脱机&#8221;即存盘到磁盘文件上，默认文件扩展名为.lst<br>spool　　　　　　显示当前的&#8220;假脱机&#8221;状态<br>spool off　　　　停止输出 </p>
<p>例：<br>SQL&gt; spool a<br>SQL&gt; spool<br>正假脱机到 A.LST<br>SQL&gt; spool off<br>SQL&gt; spool<br>当前无假脱机 </p>
<p>exit　　　　　　 退出SQL*PLUS<br>desc 表名　　　　显示表的结构<br>show user　　　　显示当前连接用户<br>show error　　　 显示错误<br>show all　　　　 显示所有68个系统变量值<br>edit　　　　　　 打开默认编辑器，Windows系统中默认是notepad.exe，把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑<br>edit 文件名　　　把当前目录中指定的.sql文件调入编辑器进行编辑 </p>
<p>clear screen　　 清空当前屏幕显示</p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/27202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-05-18 15:51 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VMware 注册码大全</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27201.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Fri, 18 May 2007 07:48:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27201.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/27201.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/27201.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/27201.html</trackback:ping><description><![CDATA[<p>VMware 注册码大全</p>
<p>VMware Workstation4.xx for Windows<br>ZHDH1-UR90N-W844G-4PTN6<br>G1NP0-T88AL-M016F-4P8N2</p>
<p>VMware-workstation-4.xx for Linux <br>ZC14J-4U16A-0A04G-4MEZP<br>J1WF8-58LDE-881DG-4M8Q3</p>
<p>VMware Workstation 5.xx For Windows <br>LUXRM-WP0DN-A256U-4M9Q3<br>DJXDR-NDT27-Y2NDU-4YTZK</p>
<p>VMware Workstation 5.xx for Linux <br>DA925-HP80U-Z8HDC-4WXXP<br>3KW2W-AYR2C-88M6F-4MDQ2</p>
<p>VMware Workstation 6.xx for Windows <br>YJEKW-JMFF4-YA1DC-4WTQP</p>
<p>VMware Workstation 6.xx for Linux<br>LR5HT-16602-T814A-4MEN2<br>THWW8-HRZAH-A24FA-4YTN3</p>
<p>VMware.GSX.Server.3.xx/vmware server 1.xx for.Windows<br>98XY4-54VA4-4216V-4PDZ6<br>WH0M5-XW50J-WA4FU-4MTZ3</p>
<p>VMware-gsx-server-3.xx/vmware server 1.xx&nbsp; for Linux<br>N218N-NR66R-F0JDF-4P9NP<br>H2W8H-X82DC-J8N6G-4M9Q6</p>
<p>VMWare ESX Server 2.x<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0VHD0-0P86V-0C0AH-4018N<br>SMP&nbsp;&nbsp;&nbsp; 0KR08-02CAH-0DJ2H-48124&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 02M8R-0HA2N-0CK8M-42JAN<br>SMP&nbsp;&nbsp;&nbsp; 0AMDE-0UWFP-0E601-42J84</p>
<p>VMware Ace 1.xx<br>admin:8H18E-8U505-HA14Z-4P8QL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RCT0X-XHN8U-H20FY-4W9ZP<br>player:WC94X-3H90R-K05DU-4MTN3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DHHF8-K0P6P-Z25DY-4YENK<br>workstation:TKN8T-1UD2Q-70N4C-4YXXQ<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AJMMN-3YUDP-8ANFG-4WWX2</p>
<p>VMware VirtualCenterV1.2.0<br>&nbsp;FAqDRcTw.txt (829 Bytes) FAqDRcTw.txt (829 Bytes)<br>[推荐]【VMWARE序列号大全】</p>
<p>VC 1.x管理GSX的SN<br>QU9HW-NM5FT-VAJ4G-5W9N3<br>VHM05-U0Q27-E0HFA-5WRXL</p>
<p>virtualcenter 1.x 最全和最强的license<br>virtualcenter : 921H4-7WR4V-T2NDC-5YDZK <br>vmotion :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8VN44-Q8PD9-P0NFY-5PWZL&nbsp; <br>esx：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XL584-9PH2Z-02H4C-5P9XL&nbsp; <br>gsx:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EH8M0-5RP8Y-M804F-5MRN3&nbsp; </p>
<p>VMware.P2V.Assistant.v2.xx<br>L80ME-56Q6F-U8M4F-5WEQQ<br>4KE0R-0A04Q-H05DZ-5WEZL</p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/27201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-05-18 15:48 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/05/18/27201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于嵌入式WEB的网络视频监控系统的设计与实现</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 19 Dec 2006 02:29:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20761.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20761.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20761.html</trackback:ping><description><![CDATA[
		<table cellspacing="0" cellpadding="0" width="558" border="0">
				<tbody>
						<tr>
								<td valign="center" align="right" colspan="2" height="32">
										<div class="style7" align="center">
												<span style="FONT-SIZE: 12pt">
														<b>基于嵌入式WEB的网络视频监控系统的设计与实现</b>
												</span>
										</div>
								</td>
						</tr>
						<tr>
								<td valign="center" align="right" bgcolor="#000000" colspan="2" height="1">
								</td>
						</tr>
						<tr>
								<td valign="center" align="right" colspan="2" height="20">
										<div align="center"> </div>
								</td>
						</tr>
						<tr>
								<td valign="top" align="right" colspan="2" height="10">
								</td>
						</tr>
						<tr>
								<td valign="top" align="right" width="2%" height="10">
										<div align="left">
										</div>
								</td>
								<td valign="top" align="right" width="98%" bgcolor="#ffffff">
										<div class="daxiao14" align="left">
												<p class="main">
														<strong>   </strong>
														<strong>摘 </strong>
														<strong>
														</strong>
														<strong>要 </strong>本文介绍了一个基于嵌入式WEB技术的网络视频监控系统的设计与实现，重点阐述其嵌入式服务器软硬件部分的设计思想和体系架构，并对其中涉及的若干关键技术进行了较为详细的介绍。</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>关键词 </strong>嵌入式系统 网络视频监控 LINUX WEB MPEG-4</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>1 </strong>
														<strong>基于嵌入式WEB技术的网络视频监控系统概述</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>目前，以网络为基础的数字视频监控系统是视频监控系统发展的主流，而随着微处理器技术、计算机网络技术的进步，基于嵌入式WEB的网络视频监控系统逐渐得到了人们的广泛关注，其主要原理是：嵌入式视频服务器采用嵌入式实时操作系统，内置嵌入式WEB服务器，摄像机传送过来的视频信号经高效压缩芯片压缩后，通过内部总线传送到内置的WEB服务器。用户在监控端可以直接通过浏览器观看WEB服务器上的摄像机视频图像，授权用户还可以控制摄像机云台镜头的动作。本文所述的监控系统的原理图如图1所示。</p>
												<p align="center">
														<img height="331" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211450.gif" width="430" />
												</p>
												<p align="center">图 1 嵌入式视频监控系统示意图</p>
												<p class="main">本系统由摄像机、嵌入式WEB服务器、传输网络和监控端组成。摄像机用来采集监控现场的视频。嵌入式WEB服务器是整个监控系统的核心，有硬件和软件两个部分，详细结构将在下面分别介绍。其主要功能包括：为监控端提供WEB访问页面；对监控端的访问进行有效性、安全性检查；响应监控端的请求，为监控端提供所需要的视频图像；接收监控端的控制信息，经过软硬件转换后对摄像机进行控制。每个服务器有自己的IP地址，在监控端可以通过浏览器界面访问服务器。监控端的功能则是显示现场视频，并根据需要向服务器发送视频请求以及对摄像机的控制信号。</p>
												<p class="main">
														<strong>
														</strong>
														<strong>
																<strong>   </strong>
																<strong>
																</strong>2 </strong>
														<strong>嵌入式 </strong>
														<strong>WEB </strong>
														<strong>服务器的硬件结构 </strong>
												</p>
												<p class="main">嵌入式WEB服务器的硬件结构如图2所示。其主要由CPU芯片、MPEG-4音视频编码芯片、Flash芯片、SDRAM内存、以太网络接口、大容量硬盘组成。其中CPU采用MOTOROLA公司的PowerPC系列嵌入式通信处理器MPC8250。MPEG-4音视频编码芯片完成对从摄像头传送过来的视频数据的压缩和编码。根据网络带宽、拓扑结构以及对图像质量的要求，本系统选用基于MPEG-4标准的分层可扩展性编码方案。压缩后的视频数据根据需要，可以存储在大容量硬盘中，或者通过以太网进行网络传输。为了实现视频存储功能，需要采用大容量的硬盘。</p>
												<p align="center">
														<img height="357" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211451.gif" width="558" />
												</p>
												<p align="center">图 2 嵌入式 WEB 服务器的硬件结构 </p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>3 </strong>
														<strong>嵌入式 </strong>
														<strong>WEB </strong>
														<strong>服务器的软件系统</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>嵌入式WEB服务器的软件设计与实现是本系统实现的关键之一，包括嵌入式操作系统与应用软件两大部分。 <strong></strong></p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<span class="style17">
																		<font color="#0000ff">3.1 </font>
																</span>
														</strong>
														<span class="style17">
																<strong>
																		<font color="#0000ff">嵌入式操作系统</font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>嵌入式操作系统是支持嵌入式系统应用的操作系统软件，是在系统实时性、硬件相关性、软件固态化等方面有着突出特点的专用操作系统。本系统采用嵌入式LINUX操作系统，它是在根据系统需要对LINUX操作系统进行小型化裁剪与实时化的基础上实现的。使用LINUX的优势在于：其操作系统的源代码是开放的，可根据需要进行定制；系统内核小，因而对硬件的要求相对要低；支持多任务多进程，能提供较好的实时性。</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<span class="style17">
																		<font color="#0000ff">3.2 </font>
																</span>
														</strong>
														<span class="style17">
																<strong>
																		<font color="#0000ff">应用软件 </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>服务器的应用软件结构如图3所示。其主要由WEB服务器、CGI程序、嵌入式数据库mSQL、视频调度与传输模块、存储管理与调度模块、摄像机控制模块等几个重要部分组成。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.1 WEB服务器与CGI程序</font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>WEB服务器通过HTTP协议与监控端浏览器软件进行信息交互，提供其他应用程序模块的接口以及视频数据浏览界面和摄像机控制界面。此外，它还要对监控端的访问权限进行控制，过滤监控端的请求和控制信息，处理多个监控端的请求和控制的同步和优先级问题。 本系统选择适合于嵌入式系统的Boa WEB服务器。Boa是一个单任务的HTTP服务器，支持能够实现动态WEB技术的CGI技术，源代码开放、性能高。同时服务器程序本身所占空间很小，因而十分适用于嵌入式系统。 同时，本系统采用了CGI(公用网关接口) 来实现动态WEB技术，CGI规定了WEB服务器调用其他可执行程序(CGI程序)的接口协议标准。WEB服务器通过调用CGI程序实现和浏览器的交互，也就是CGI程序接受浏览器发送给WEB服务器的信息，进行处理，将响应结果再回送给WEB服务器及浏览器。原则CGI程序可以用任何程序设计语言编写，但是用C语言编写的CGI程序具有执行速度快、安全性高等特点。</p>
												<p align="center">
														<img height="373" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211452.gif" width="414" />
												</p>
												<p align="center">图3 嵌入式 WEB 服务器的应用软件结构</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.2嵌入式数据库mSQL </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>在本系统中，用户信息的存储，用户的登录登出，视频设备参数的存储与查询，视频文件的存储与查询等，都需要一个嵌入式数据库。综合考虑，本系统使用mSQL(MiniSQL)作为本系统的后台数据库。mSQL是一款优秀的嵌入式数据库，体系结构小巧，占用系统资源少，特别适合在嵌入式Linux系统中使用。同时，mSQL提供专门的API函数，使得用C语言编写的CGI程序可以与mSQL的数据库引擎进行通信。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.3视频调度与传输模块</font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>视频调度与传输模块为监控端提供所需的实时视频信息，是服务器应用软件中最重要的模块。该模块根据所采取的网络传输与控制协议与监控端建立连接，监听监控端的请求；同时又根据不同的服务类型采取相应的调度策略创建视频流，然后将视频数据分组、打包，发送到监控端，并根据路由器和监控端反馈的网络状态信息进行差错处理和拥塞控制。</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>视频数据的传输一般采UDP网络通讯协议，而采用UDP的IP传送方式有点播、广播和组播三种，其中组播是服务器只向特定的用户组发送一个数据包，组中的各用户可以共享这一数据包，而组外的用户却无法接收到。本系统采用IP组播方式，采用组播技术的优点有以下几点:可以让服务器承担大量客户端的视频数据播送要求;由于数据包拷贝数量和发送目的地址少，大大减少了网络中传输的数据总量，从而保证较高的服务质量；减小了视频数据流传输的带宽占用，减轻了服务器的负担。</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>本系统采用的网络传输协议使用RTP/UDP/IP模型。RTP协议是一种提供端对端的实时媒体传输服务的协议，由实时传输协议RTP和实时传输控制协议RTCP两个部分组成。RTP用于实时视频数据的传输，而RTCP则用来监控实时视频数据的传输。RTP/UDP/IP的方式兼顾了视频传输的实时性与QoS保证。同时针对传输网络状况的不确定性，还可以采取一定的拥塞控制和差错控制策略。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.4存储管理与调度模块 </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>存储管理模块的主要功能是将压缩和编码后的视频信息根据一定的策略存储至磁盘中特定的区域，并将视频文件信息存储到嵌入式数据库中，以供检索与回放，同时响应视频调度与传输模块的请求，按照一定的磁盘调度策略和优先级顺序从磁盘中读取视频数据至内存缓冲区。对于存储管理，本系统采用等长分组存储策略，即将视频信息按照时序关系分割成若干数据单元，这些数据单元称为分组，将每个分组存储于一个大小固定的存储单元内。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.5摄像机控制模块 </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>摄像机控制模块主要实现对摄像机的控制。在监控端，用户通过浏览器向WEB服务器发送摄像机控制命令，该控制命令经WEB服务器接受和处理后，再通过CGI程序发送给摄像机控制模块，然后被转换成相应的对摄像机控制的硬件操作指令，从而实现对摄像机云台镜头的远程控制。</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>4 </strong>
														<strong>监控端浏览</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>本系统在监控端使用浏览器对监控现场进行监控，浏览器所运行的平台与嵌入式WEB服务器所运行的平台独立，浏览远程视频时不需要任何第三方软件，从而实现了跨平台。使用本系统在监控端浏览视频的界面如图4所示。</p>
												<p align="center">
														<img height="348" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211453.gif" width="462" />
												</p>
												<p align="center">图 4 监控端浏览视频界面</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>5 </strong>
														<strong>结束语 </strong>
														<strong>
														</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>本文介绍了一个基于嵌入式WEB技术的网络视频监控系统的设计与实现，与传统的网络视频监控系统相比，本系统的主要特点在于：服务器的设计基于嵌入式WEB技术；支持动态IP，可以直接连入以太网，能够即插即看；用户无需使用专用软件，仅用浏览器即可观看；同时系统采用先进了的MPEG-4编码标准，在提高了视频质量的同时大大减少了数据量。相信随着网络视频监控的流行，基于嵌入式WEB的网络视频监控系统必将有良好的发展前景。</p>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-19 10:29 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>端口大全</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 19 Dec 2006 02:25:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20760.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20760.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20760.html</trackback:ping><description><![CDATA[
		<div class="style7" align="center">
				<span style="FONT-SIZE: 12pt">
						<b>
								<table cellspacing="0" cellpadding="0" width="558" border="0">
										<tbody>
												<tr>
														<td valign="center" align="right" colspan="2" height="32">
																<div class="style7" align="center">
																		<span style="FONT-SIZE: 12pt">
																				<b>端口大全</b>
																		</span>
																</div>
														</td>
												</tr>
												<tr>
														<td valign="center" align="right" bgcolor="#000000" colspan="2" height="1">
														</td>
												</tr>
												<tr>
														<td valign="center" align="right" colspan="2" height="20">
																<div align="center">文章出处：http://www.programfan.com/ 作者：不详 发布时间：2005-11-23</div>
														</td>
												</tr>
												<tr>
														<td valign="top" align="right" colspan="2" height="10">
														</td>
												</tr>
												<tr>
														<td valign="top" align="right" width="2%" height="10">
																<div align="left">
																</div>
														</td>
														<td valign="top" align="right" width="98%" bgcolor="#ffffff">
																<div class="daxiao14" align="left">1　tcpmux　TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器 <br />2　compressnet　Management Utility　　　　 compressnet 管理实用程序 <br />3　compressnet　Compression Process　　　　压缩进程 <br />5　rje　Remote Job Entry　　　　　　　　　 远程作业登录 <br />7　echo　Echo　　　　　　　　　　　　　　　回显 <br />9　discard　Discard　　　　　　　　　　　　丢弃 <br />11　systat　Active Users　　　　　　　　　 在线用户 <br />13　daytime　Daytime　　　　　　　　　　　 时间 <br />17　qotd　Quote of the Day　　　　　　　　 每日引用 <br />18　msp　Message Send Protocol　　　　　　 消息发送协议 <br />19　chargen　Character Generator　　　　　 字符发生器 <br />20　ftp-data　File Transfer [Default Data]　文件传输协议(默认数据口)　 <br />21　ftp　File Transfer [Control]　　　　　　文件传输协议(控制) <br />22　ssh　SSH Remote Login Protocol　　　　 SSH远程登录协议 <br />23　telnet　Telnet　　　　　　　　　　　　 终端仿真协议 <br />24　?　any private mail system　　　　　　 预留给个人用邮件系统 <br />25　smtp　Simple Mail Transfer　　　　　　 简单邮件发送协议 <br />27　nsw-fe　NSW User System FE　　　　　　 NSW 用户系统现场工程师 <br />29　msg-icp　MSG ICP　　　　　　　　　　　 MSG　ICP <br />31　msg-auth　MSG Authentication　　　　　 MSG验证 <br />33　dsp　Display Support Protocol　　　　　显示支持协议 <br />35　?　any private printer server　　　　　预留给个人打印机服务 <br />37　time　Time　　　　　　　　　　　　　　 时间 <br />38　rap　Route Access Protocol　　　　　　 路由访问协议 <br />39　rlp　Resource Location Protocol　　　　资源定位协议 <br />41　graphics　Graphics　　　　　　　　　　 图形 <br />42　nameserver　WINS Host Name Server　　　WINS 主机名服务 <br />43　nicname　Who Is　　　　　　　　　　　　"绰号" who is服务 <br />44　mpm-flags　MPM FLAGS Protocol　　　　　MPM(消息处理模块)标志协议 <br />45　mpm　Message Processing Module [recv]　消息处理模块　 <br />46　mpm-snd　MPM [default send]　　　　　　消息处理模块(默认发送口) <br />47　ni-ftp　NI FTP　　　　　　　　　　　　 NI FTP <br />48　auditd　Digital Audit Daemon　　　　　 数码音频后台服务　 <br />49　tacacs　Login Host Protocol (TACACS)　 TACACS登录主机协议 <br />50　re-mail-ck　Remote Mail Checking Protocol　远程邮件检查协议 <br />51　la-maint　IMP Logical Address Maintenance　IMP(接口信息处理机)逻辑地址维护 <br />52　xns-time　XNS Time Protocol　　　　　　施乐网络服务系统时间协议　　 <br />53　domain　Domain Name Server　　　　　　 域名服务器 <br />54　xns-ch　XNS Clearinghouse　　　　　　　施乐网络服务系统票据交换 <br />55　isi-gl　ISI Graphics Language　　　　　ISI图形语言 <br />56　xns-auth　XNS Authentication　　　　　 施乐网络服务系统验证 <br />57　?　any private terminal access　　　　 预留个人用终端访问 <br />58　xns-mail　XNS Mail　　　　　　　　　　 施乐网络服务系统邮件 <br />59　?　any private file service　　　　　　预留个人文件服务 <br />60　?　Unassigned　　　　　　　　　　　　　未定义 <br />61　ni-mail　NI MAIL　　　　　　　　　　　 NI邮件? <br />62　acas　ACA Services　　　　　　　　　　 异步通　 <br />63　whois+ whois+　　　　　　　　　　　　　 WHOIS+ <br />64　covia　Communications Integrator (CI)　通讯接口　 <br />65　tacacs-ds　TACACS-Database Service　　 TACACS数据库服务 <br />66　sql*net　Oracle SQL*NET　　　　　　　　Oracle SQL*NET <br />67　bootps　Bootstrap Protocol Server　　　引导程序协议服务端 <br />68　bootpc　Bootstrap Protocol Client　　　引导程序协议客户端 <br />69　tftp　Trivial File Transfer　　　　　　小型文件传输协议 <br />70　gopher　Gopher　　　　　　　　　　　　 信息检索协议 <br />71　netrjs-1　Remote Job Service　　　　　 远程作业服务 <br />72　netrjs-2　Remote Job Service　　　　　 远程作业服务 <br />73　netrjs-3　Remote Job Service　　　　　 远程作业服务 <br />74　netrjs-4　Remote Job Service　　　　　 远程作业服务 <br />75　?　any private dial out service　　　　预留给个人拨出服务 <br />76　deos　Distributed External Object Store 分布式外部对象存储　 <br />77　?　any private RJE service　　　　　　预留给个人远程作业输入服务 <br />78　vettcp　vettcp　　　　　　　　　　　　 修正TCP? <br />79　finger　Finger　　　　　　　　　　　　 FINGER(查询远程主机在线用户等信息) <br />80　http　World Wide Web HTTP　　　　　　　全球信息网超文本传输协议 <br />81　hosts2-ns　HOSTS2 Name Server　　　　　HOST2名称服务 <br />82　xfer　XFER Utility　　　　　　　　　　 传输实用程序 <br />83　mit-ml-dev　MIT ML Device　　　　　　　模块化智能终端ML设备 <br />84　ctf　Common Trace Facility　　　　　　 公用追踪设备 <br />85　mit-ml-dev　MIT ML Device　　　　　　　模块化智能终端ML设备 <br />86　mfcobol　Micro Focus Cobol　　　　　　 Micro Focus Cobol编程语言 <br />87　?　any private terminal link　　　　　 预留给个人终端连接 <br />88　kerberos　Kerberos　　　　　　　　　　 Kerberros安全认证系统 <br />89　su-mit-tg　SU/MIT Telnet Gateway　　　 SU/MIT终端仿真网关 <br />90　dnsix　DNSIX Securit Attribute Token Map　DNSIX 安全属性标记图　 <br />91　mit-dov　MIT Dover Spooler　　　　　　 MIT Dover假脱机 <br />92　npp　Network Printing Protocol　　　　 网络打印协议 <br />93　dcp　Device Control Protocol　　　　　 设备控制协议 <br />94　objcall　Tivoli Object Dispatcher　　　Tivoli对象调度 <br />95　supdup　SUPDUP　　　　　　　　　　　　 <br />96　dixie　DIXIE Protocol Specification　　DIXIE协议规范 <br />97ft-rvfft Remote Virtural File Protocol　快速远程虚拟文件协议　 <br />98　tacnews　TAC News　　　　　　　　　　　TAC(东京大学自动计算机?)新闻协议 <br />99　metagram　Metagram Relay　　　　　　　 <br />101/tcp hostname NIC Host Name Server <br />102/tcp iso-tsap ISO-TSAP Class 0 <br />103/tcp gppitnp Genesis Point-to-Point Trans Net <br />104/tcp acr-nema ACR-NEMA Digital Imag. &amp; Comm. 300 <br />105/tcp cso CCSO name server protocol <br />105/tcp csnet-ns Mailbox Name Nameserver <br />106/tcp 3com-tsmux 3COM-TSMUX <br />107/tcp rtelnet Remote Telnet Service <br />108/tcp snagas SNA Gateway Access Server <br />109/tcp pop2 Post Office Protocol - Version 2 <br />110/tcp pop3 Post Office Protocol - Version 3 <br />111/tcp sunrpc SUN Remote Procedure Call <br />112/tcp mcidas McIDAS Data Transmission Protocol <br />113/tcp ident <br />114/tcp audionews Audio News Multicast <br />115/tcp sftp Simple File Transfer Protocol <br />116/tcp ansanotify ANSA REX Notify <br />117/tcp uucp-path UUCP Path Service <br />118/tcp sqlserv SQL Services <br />119/tcp nntp Network News Transfer Protocol <br />120/tcp cfdptkt CFDPTKT <br />121/tcp erpc Encore Expedited Remote Pro.Call <br />122/tcp smakynet SMAKYNET <br />123/tcp ntp Network Time Protocol <br />124/tcp ansatrader ANSA REX Trader <br />125/tcp locus-map Locus PC-Interface Net Map Ser <br />126/tcp unitary Unisys Unitary Login <br />127/tcp locus-con Locus PC-Interface Conn Server <br />128/tcp gss-xlicen GSS X License Verification <br />129/tcp pwdgen Password Generator Protocol <br />130/tcp cisco-fna cisco FNATIVE <br />131/tcp cisco-tna cisco TNATIVE <br />132/tcp cisco-sys cisco SYSMAINT <br />133/tcp statsrv Statistics Service <br />134/tcp ingres-net INGRES-NET Service <br />135/tcp epmap DCE endpoint resolution <br />136/tcp profile PROFILE Naming System <br />137/tcp netbios-ns NETBIOS Name Service <br />138/tcp netbios-dgm NETBIOS Datagram Service<br />139/tcp netbios-ssn NETBIOS Session Service <br />140/tcp emfis-data EMFIS Data Service <br />141/tcp emfis-cntl EMFIS Control Service <br />142/tcp bl-idm Britton-Lee IDM <br />143/tcp imap Internet Message Access Protocol <br />144/tcp uma Universal Management Architecture <br />145/tcp uaac UAAC Protocol <br />146/tcp iso-tp0 ISO-IP0 <br />147/tcp iso-ip ISO-IP <br />148/tcp jargon Jargon <br />149/tcp aed-512 AED 512 Emulation Service <br />150/tcp sql-net SQL-NET <br />151/tcp hems HEMS <br />152/tcp bftp Background File Transfer Program <br />153/tcp sgmp SGMP <br />154/tcp netsc-prod NETSC <br />155/tcp netsc-dev NETSC <br />156/tcp sqlsrv SQL Service <br />157/tcp knet-cmp KNET/VM Command/Message Protocol <br />158/tcp pcmail-srv PCMail Server <br />159/tcp nss-routing NSS-Routing <br />160/tcp sgmp-traps SGMP-TRAPS <br />161/tcp snmp SNMP <br />162/tcp snmptrap SNMPTRAP <br />163/tcp cmip-man CMIP/TCP Manager <br />164/tcp cmip-agent CMIP/TCP Agent <br />165/tcp xns-courier Xerox <br />166/tcp s-net Sirius Systems <br />167/tcp namp NAMP <br />168/tcp rsvd RSVD <br />169/tcp send SEND <br />170/tcp print-srv Network PostScript <br />171/tcp multiplex Network Innovations Multiplex <br />172/tcp cl/1 Network Innovations CL/1 <br />173/tcp xyplex-mux Xyplex <br />174/tcp mailq MAILQ <br />175/tcp vmnet VMNET <br />176/tcp genrad-mux GENRAD-MUX <br />177/tcp xdmcp X Display Manager Control Protocol <br />178/tcp nextstep NextStep Window Server <br />179/tcp bgp Border Gateway Protocol <br />180/tcp ris Intergraph <br />181/tcp unify Unify <br />182/tcp audit Unisys Audit SITP <br />183/tcp ocbinder OCBinder <br />184/tcp ocserver OCServer <br />185/tcp remote-kis Remote-KIS <br />186/tcp kis KIS Protocol <br />187/tcp aci Application Communication Interface <br />188/tcp mumps Plus Five磗 MUMPS <br />189/tcp qft Queued File Transport <br />190/tcp gacp Gateway Access Control Protocol <br />191/tcp prospero Prospero Directory Service <br />192/tcp osu-nms OSU Network Monitoring System <br />193/tcp srmp Spider Remote Monitoring Protocol <br />194/tcp irc Internet Relay Chat Protocol <br />195/tcp dn6-nlm-aud DNSIX Network Level Module Audit <br />196/tcp dn6-smm-red DNSIX Session Mgt Module Audit Redir <br />197/tcp dls Directory Location Service <br />198/tcp dls-mon Directory Location Service Monitor <br />199/tcp smux SMUX <br />200/tcp src IBM System Resource Controller <br />201/tcp at-rtmp AppleTalk Routing Maintenance <br />202/tcp at-nbp AppleTalk Name Binding <br />203/tcp at-3 AppleTalk Unused <br />204/tcp at-echo AppleTalk Echo <br />205/tcp at-5 AppleTalk Unused <br />206/tcp at-zis AppleTalk Zone Information <br />207/tcp at-7 AppleTalk Unused <br />208/tcp at-8 AppleTalk Unused <br />209/tcp qmtp The Quick Mail Transfer Protocol <br />210/tcp z39.50 ANSI Z39.50 <br />211/tcp 914c/g Texas Instruments 914C/G Terminal <br />212/tcp anet ATEXSSTR <br />214/tcp vmpwscs VM PWSCS <br />215/tcp softpc Insignia Solutions <br />216/tcp CAIlic Computer Associates Int磍 License Server <br />217/tcp dbase dBASE Unix <br />218/tcp mpp Netix Message Posting Protocol <br />219/tcp uarps Unisys ARPs <br />220/tcp imap3 Interactive Mail Access Protocol v3 <br />221/tcp fln-spx Berkeley rlogind with SPX auth <br />222/tcp rsh-spx Berkeley rshd with SPX auth <br />223/tcp cdc Certificate Distribution Center <br />242/tcp direct Direct <br />243/tcp sur-meas Survey Measurement <br />244/tcp dayna Dayna <br />245/tcp link LINK <br />246/tcp dsp3270 Display Systems Protocol <br />247/tcp subntbcst_tftp SUBNTBCST_TFTP <br />248/tcp bhfhs bhfhs <br />256/tcp rap RAP <br />257/tcp set Secure Electronic Transaction <br />258/tcp yak-chat Yak Winsock Personal Chat <br />259/tcp esro-gen Efficient Short Remote Operations <br />260/tcp openport Openport <br />263/tcp hdap HDAP <br />264/tcp bgmp BGMP <br />280/tcp http-mgmt http-mgmt <br />309/tcp entrusttime EntrustTime <br />310/tcp bhmds bhmds <br />312/tcp vslmp VSLMP <br />315/tcp dpsi DPSI <br />316/tcp decauth decAuth <br />317/tcp zannet Zannet <br />321/tcp pip PIP <br />344/tcp pdap Prospero Data Access Protocol <br />345/tcp pawserv Perf Analysis Workbench <br />346/tcp zserv Zebra server <br />347/tcp fatserv Fatmen Server <br />348/tcp csi-sgwp Cabletron Management Protocol <br />349/tcp mftp mftp <br />351/tcp matip-type-b MATIP Type B <br />351/tcp bhoetty bhoetty (added 5/21/97) <br />353/tcp ndsauth NDSAUTH <br />354/tcp bh611 bh611 <br />357/tcp bhevent bhevent <br />362/tcp srssend SRS Send <br />365/tcp dtk DTK <br />366/tcp odmr ODMR <br />368/tcp qbikgdp QbikGDP <br />371/tcp clearcase Clearcase <br />372/tcp ulistproc ListProcessor <br />373/tcp legent-1 Legent Corporation <br />374/tcp legent-2<br />0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口，当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描：使用IP地址为0.0.0.0，设置ACK位并在以太网层广播。<br /><br />1 tcpmux 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者，缺省情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个缺省的无密码的帐户，如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux并利用这些帐户。 <br /><br />7 Echo 你能看到许多人们搜索Fraggle放大器时，发送到x.x.x.0和x.x.x.255的信息。常见的一种DoS攻击是echo循环（echo-loop），攻击者伪造从一个机器发送到另一个机器的UDP数据包，而两个机器分别以它们最快的方式回应这些数据包。另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做“Resonate Global Dispatch”，它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDP echo：“如果将cache的source_ping on选项打开，它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。<br /><br />11 sysstat 这是一种UNIX服务，它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全，如暴露已知某些弱点或帐户的程序。这与UNIX系统中“ps”命令的结果相似。再说一遍：ICMP没有端口，ICMP port 11通常是ICMP type=11。<br /><br />19 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时，会发送含有垃圾字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。由于服务器企图回应两个服务器之间的无限的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包，受害者为了回应这些数据而过载。<br /><br />21 ftp 最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或Crack