﻿<?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博客-Neil's Blog-文章分类-IBM DB2</title><link>http://www.cnitblog.com/neil110000/category/5552.html</link><description>Never say die</description><language>zh-cn</language><lastBuildDate>Sat, 08 Oct 2011 04:49:23 GMT</lastBuildDate><pubDate>Sat, 08 Oct 2011 04:49:23 GMT</pubDate><ttl>60</ttl><item><title>DB2数据库的备份   </title><link>http://www.cnitblog.com/neil110000/articles/28232.html</link><dc:creator>Neil</dc:creator><author>Neil</author><pubDate>Fri, 08 Jun 2007 07:40:00 GMT</pubDate><guid>http://www.cnitblog.com/neil110000/articles/28232.html</guid><wfw:comment>http://www.cnitblog.com/neil110000/comments/28232.html</wfw:comment><comments>http://www.cnitblog.com/neil110000/articles/28232.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/neil110000/comments/commentRss/28232.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/neil110000/services/trackbacks/28232.html</trackback:ping><description><![CDATA[<p><span>备份数据库有脱机和联机两种方式能够进行数据库的备份操作：</span>&nbsp;</p>
<p><strong><span>一：脱机备份：</span></strong><strong></strong></p>
<p><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>脱机备份需要对数据库的独占存取权。在可进行备份操作之前，所有用户必须与数据库或</span> <span>数据库分区断开，在分区数据库环境中，若正在执行编目节点的脱机备份，则整个数据库上不能有任何活动。</span></p>
<p><span>在数据库初始建立的时候，由于数据库没有备份印象文件（此时对于数据库的日志中没有关于数据库备份的日志纪录），因此此时只能进行数据库的脱机备份方式，同时如果要进行数据库的联机备份，这个工作也是必须的，因为系统要求只有在数据库中存在有数据库的完全备份的时候，才能进行数据库的联机备份。</span>&nbsp;</p>
<p><strong><span>二：联机备份：</span></strong><strong></strong></p>
<p><span>&nbsp;</span><span>注意</span><span>:</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>仅当已配置数据库或数据库分区作前滚恢复</span> <span>（即将</span><span> userexit </span><span>和／或</span><span> logretain </span><span>数据库配置参数设置为</span><span> ON</span><span>），并且数据库或数据库分区的脱机备份已存在时，才能执行联机备份</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>联机进行备份操作（即，当进行备份时所有其他应用程序和用户都可以连接至该数据库或数据库分区）。</span><span> </span></p>
<p><span>注意</span><span>:</span></p>
<p><span>若启用数据库或数据库分区进行前滚恢复；即，</span><span>logretain</span><span>或</span><span>userexit </span><span>数据库配置参数（或二者）设置为打开，且已进行了数据库或数据库分区的全脱机备份，则只能进行联机备份。</span></p>
<p>&nbsp;</p>
<p><strong><span>&nbsp;1</span></strong><strong><span>、启用用户出口</span><span> (userexit)</span></strong></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>配置类型：数据库</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>参数类型：可配置的</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>缺省值</span><span>[</span><span>范围</span><span>]</span><span>：否（是；否）</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>相关参数：</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>启用日志保留</span><span> (logretain)&nbsp;</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>用户出口状态指示符</span><span> (user_exit_status) </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>备份暂挂指示器</span><span> (backup_pending) </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若启用此参数，则无论是如何设置</span><span> logretain </span><span>参数的，都执行日志保留值记录。此参数也指示应使用用户出口程序以归档和检索日志文件。</span> <span>当数据库管理程序</span> <span>关闭日志文件时，将日志文件归档。</span> <span>当</span><span> ROLLFORWARD </span><span>实用程序需要使用这些日志文件复原数据库时，将检索这些日志文件。</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>在启用</span><span> logretain</span><span>、</span><span>userexit </span><span>或同时启用这两个参数之后，必须制作数据库的完全备份。此状态由</span><span> backup_pending </span><span>标志参数指示。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>若取消对这两个参数的选择，则前卷恢复对该数据库不可用，因为将不再保留日志。在此情况下，数据库管理程序</span> <span>删除</span><span> logpath </span><span>目录中的所有日志文件（包括联机归档日志文件），分配新的活动日志文件，并还原为循环日志，当数据库的两个参数打开之后</span><span>,</span><span>数据库处于备份暂挂状态</span><span>,</span><span>须对数据库进行一次完全的脱机备份之后才能使数据库重新恢复活动状态</span><span>,</span><span>之后就可以进行联机备份了</span></p>
<p>&nbsp;</p>
<p><strong><span>&nbsp;2</span></strong><strong><span>、前滚恢复</span></strong></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>前滚恢复使用</span><span> BACKUP </span><span>命令连同</span><span> RESTORE </span><span>命令和</span><span> ROLLFORWARD </span><span>命令一起，</span> <span>可将数据库或表空间恢复到一个特定时间点的状态。</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>当第一次创建一个数据库时，只对它启用循环记录。这意味着（以循环方式）重新使用日志，而不保存或归档这些日志。使用循环记录时，不可能进行前滚恢复：</span> <span>只允许应急恢复或版本恢复。但是，当执行日志归档时，则可进行前滚恢复，因为这些日志会记录在建立该备份之后对数据库所做的更改。可通过以下方法执行日志归档：将</span><span> logretain </span><span>数据库配置参数设置为</span><span> "RECOVERY"</span><span>；</span> <span>或启用</span><span> userexit </span><span>数据库配置参数；或两种方法同时使用。当按上一句中所述配置其中一个参数时，就允许数据库进行前滚恢复。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若数据库是可恢复的，可在数据库和表空间级执行备份、</span> <span>复原和前滚恢复。数据库和表空间的备份可以联机完成。在表空间级也可进行联机复原和前滚。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>前滚恢复将记录在日志中已完成的工作单元重新应用于复原的数据库、</span> <span>一个或多个表空间。可以指定前滚恢复至日志末尾或特定的时间点。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>logretain </span><span>和</span><span> userexit </span><span>配置参数的缺省设置</span><span> ("No") </span><span>不允许前滚恢复。这两个参数的缺省值被设置为</span><span> "No"</span><span>，</span> <span>因为最初没有可以用来恢复数据库的备份；最初不能恢复数据库，所以不能对它执行正向恢复。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>要允许新数据库进行前滚恢复，必须在建立该数据库的第一个备份之前，启用这两个配置参数中的至少一个。当更改这两个参数的其中一个或两个的值时，该数据库将会被置于备份暂挂状态，</span> <span>这要求您对该数据库执行脱机备份。在备份操作成功完成之后，就可以使用该数据库了。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>不能备份处于不可使用状态的数据库，但是处于备份暂挂状态的数据库除外。</span><span><span>&nbsp;&nbsp; </span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若一个数据库或表空间由于在复原数据库的任何阶段期间发生系统崩溃而处于部分复原的状态，必须成功复原该数据库或表空间后，才能备份它。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若一个数据库中的任何表空间处于&#8220;异常&#8221;状态，</span> <span>则除非它处于备份暂挂状态，否则不能备份该数据库或表空间。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; </span>&nbsp;</span><span>可以将数据库或表空间备份至</span><span> TSM </span><span>或另一个供应商的存储管理产品管理的</span> <span>一个硬盘、磁带或位置中。</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>可以将一个完整的数据库备份或一个表空间备份的副本复原至现存的数据库。</span> <span>要复原至现存的数据库，必须具有</span><span> SYSADM</span><span>、</span><span>SYSCTRL </span><span>或</span><span> SYSMAINT </span><span>权限。备份映象可能在别名、数据库名或数据库起始值等方面与现存的数据库有所不同。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>当复原到一个现存的数据库且该数据库的起始值相同时，保留日志。</span><span>&nbsp;</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>仅当该数据库或表空间先前是使用</span><span> BACKUP </span><span>命令备份时，</span> <span>才可使用</span><span> RESTORE </span><span>命令。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>在复原一个允许前滚恢复的数据库之后，它处于前滚暂挂状态。此数据库在前滚之前不能使用。当指定</span><span> WITHOUT ROLLING FORWARD </span><span>的复原时，会出现异常情况。若复原联机数据库备份或仅复原选定的表空间备份，则不能关闭前滚。</span></p>
<p><span>当复原和前滚是不相关的操作时，</span> <span>恢复策略可将复原作为一个完整的数据库前滚恢复的第一阶段。在成功的复原之后，在建立该备份时配置了前滚恢复的数据库就会进入前滚暂挂状态，且直到成功运行</span><span> ROLLFORWARD </span><span>命令之后才可用。</span><span> </span></p>
<p><strong><span>当发出</span><span> ROLLFORWARD </span></strong><strong><span>命令时：</span><span><span>&nbsp;&nbsp;&nbsp; </span></span></strong></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若数据库处于前滚暂挂状态，则会前滚该数据库。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若数据库未处于前滚暂挂状态，但是该数据库中的表空间处于此状态，</span> <span>则当发出</span><span> ROLLFORWARD </span><span>命令并指定表空间的列表时，只会前滚这些表空间。若未指定列表，则会前滚所有处于前滚暂挂状态的表空间。</span> <span>注意</span><span>: </span><span>若在最近的备份之后重命名了表空间，</span> <span>则前滚表空间时，务必使用新名称。先前表空间名将不被识别。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若在一个分区数据库环境中某些数据库分区处于前滚暂挂状态，</span> <span>而在其他数据库分区上某些表空间处于前滚暂挂状态（但是数据库分区未处于该状态），则必须先前滚该数据库分区，然后前滚这些表空间。当前滚进程正在运行时，不允许对另一个数据库进行</span><span> RESTORE</span><span>记录</span><span>: </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若要从使用</span><span> BACKUP </span><span>命令的脱机选项创建的完整数据库备份复原，</span> <span>可以在复原过程期间绕过此前滚暂挂状态。使用</span><span> WITHOUT ROLLING FORWARD </span><span>选项，允许立即使用复原的数据库，</span> <span>而不用将该数据库前滚。</span> <span>若要从使用</span><span> BACKUP </span><span>命令的联机选项创建的备份复原，</span> <span>则不能绕过此前滚暂挂状态。</span><span> </span></p>
<p><span>复原表空间的考虑事项如下所示：</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>仅当一个表空间当前存在时，才能复原该表空间，且复原的应是相同的表空间。（&#8220;相同的表空间&#8221;意味着在建立备份映象之后到试图复原表空间之前这段时间，表空间未被卸下和重新创建过。）若在最近的备份之后重命名了表空间，</span> <span>则前滚表空间时，务必使用新名称。先前表空间名将不被识别。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>不能将表空间备份复原至新的数据库。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>若备份的表跨越多个表空间，应一起复原这组表空间。</span><span> </span></p>
<p><span>一旦对一个表空间备份启动</span><span> RESTORE </span><span>命令，则直到</span><span> RESTORE </span><span>命令及随后的前滚恢复成功完成之后，该表空间才是可使用的。</span> <span>表空间复原可以是联机的（共享方式）或脱机的（独占方式）。</span> <span>若在复原一个表空间备份期间发生系统故障，只有正在复原的表空间不可用。</span> <span>数据库中的其他表空间仍可以使用。</span><span> </span></p>
<p><span>不能对系统目录表执行联机表空间复原。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>当执行部分或子集</span><span> RESTORE </span><span>时，可以使用表空间备份，</span> <span>也可以使用完整的数据库备份并从该映象中选择一个或多个表空间。所有与表空间相关的日志文件从创建该备份时起就必须存在。若在最近的备份之后重命名了表空间，则在复原或前滚表空间时，务必使用新名称。先前表空间名将不被识别。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>在一个分区数据库系统中，若打算将表空间前滚至日志末尾，</span> <span>则不必在每个数据库分区（节点）中都复原它。只须在需要恢复的数据库分区处复原它。若打算将一个表空间前滚至一个时间点，必须在前滚之前，</span> <span>在每个数据库分区中都复原该表空间。</span><span> </span></p>
<p>&nbsp;</p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>重定向复原的考虑事项如下所示：</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>在备份一个数据库或一个或多个表空间期间，会对备份的表空间使用的所有表空间容器进行记录。</span><span> RESTORE </span><span>期间，会检查在备份中列出的所有容器，</span> <span>以查看它们当前是否存在且是否是可存取的。若一个或多个容器由于媒体故障（或由于任何其他原因）而不可存取，</span><span>RESTORE </span><span>将失败。为了使得在这种情况下可以复原，</span> <span>则在</span><span> RESTORE </span><span>期间支持表空间容器的重定向。此支持包括添加、更改或除去表空间容器。</span><span> </span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>RESTORE </span><span>之后常常要执行</span><span> ROLLFORWARD</span><span>，</span> <span>以重新应用在建立备份以后记录在数据库日志中的更改。前滚操作期间，可能要重新执行或重新运行一个事务，</span> <span>该事务使用</span><span> ADD </span><span>选项来执行</span><span> ALTER TABLESPACE</span><span>（以添加容器）。为了使</span><span> ROLLFORWARD </span><span>成功，添加的容器必须是可存取的。若该容器不是可存取的，对表空间的前滚就会暂停，且表空间被置于前滚暂挂状态。</span><span> </span></p>
<p><span>可能希望在数据库日志中重新执行添加容器的操作，也可能不希望这样做。</span> <span>事实上，您可能不知道自建立该备份以来已添加了哪些容器。因此，就不能预测需要哪些容器。或者，根据执行重定向复原的原因，可能只需要在复原时指定的容器的列表，而不需要添加的任何其他容器。</span> <span>要控制此行为，可以在复原时指示在前滚恢复期间是否要</span><span> ROLLFORWARD </span><span>重新创建容器。</span></p>
<p><span></span>&nbsp;</p>
<p><strong><span>打开</span><span>logretain</span></strong><strong><span>、</span><span>userexit</span></strong><strong><span>参数：</span></strong></p>
<p><span>&nbsp;DB2 CONNECT TO database_name USER user_name USING user_password</span></p>
<p><span>DB2 UPDATE DATABASE CONFIGURATION FOR <var><span>TIMMS</span></var><em> </em>USING LOGRETAIN ON</span></p>
<pre><span>&nbsp;DB2 UPDATE DATABASE CONFIGURATION FOR <var><span>TIMMS</span></var><em> </em>USING USEREXIT ON</span></pre>
<p><span>&nbsp;DB2 BACKUP DATABASE <var>database_alias</var></span></p>
<p><var>&nbsp;</var></p>
<p><var>&nbsp;</var></p>
<p><span>DB2 UPDATE DATABASE CONFIGURATION FOR <var><span>TIMMS</span></var><em> </em>USING LOGRETAIN NO</span></p>
<pre><span>&nbsp;DB2 UPDATE DATABASE CONFIGURATION FOR <var><span>TIMMS</span></var><em> </em>USING USEREXIT NO</span></pre>
<pre><span>DB2 UPDATE DATABASE CONFIGURATION FOR <var><span>TIMMS</span></var><em> </em>USING ROLL-FORWARD PENDING NO</span></pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span>三、备份数据库</span></strong><strong></strong></p>
<p><span><span>&nbsp;&nbsp; </span></span><span>上面的内容着重说明了一下关于备份的一些基础知识，下面就是数据库的备份操作。</span></p>
<p><span><span>1、</span></span><span>脱机备份</span></p>
<p><span>对于脱机备份只要给出备份映像的存放路径即可实现备份：</span></p>
<p><span>BACKUP DATABASE TIMMS TO backup_FilePath WITH vaule BUFFERS BUFFER size</span></p>
<p><span>其中：</span></p>
<p><span>&nbsp;backup_FilePath</span><span>：存放备份映像的路径</span></p>
<p><span>&nbsp;vaule</span><span>：使用备份的缓冲池的个数</span></p>
<p><span>&nbsp;size</span><span>：备份数据库使用的缓冲池的大小</span></p>
<p>&nbsp;</p>
<p><span>例如：</span></p>
<p><span>BACKUP DATABASE TIMMS TO D:\\TIMMS.NET.DB\\BACKUP WITH 2 BUFFERS BUFFER 1024</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span><span>2、</span></span><span>联机备份：</span></p>
<p><span>在上面的讨论中我们知道要进行数据库的联机备份必须将数据库的配置用户出口参数打开，当参数打开以后，数据库处于备份暂挂状态，此时需对数据库进行一次脱机备份以后数据库才能恢复到活动状态，此后就可对数据库进行联机备份了。</span></p>
<p><span>连接备份的命令格式如下：</span></p>
<p><span>BACKUP DATABASE TIMMS ONLINE TO backup_FilePath WITH vaule BUFFERS BUFFER size</span></p>
<p>&nbsp;</p>
<p><span>例如：</span></p>
<p><span>BACKUP DATABASE TIMMS ONLINE TO D:\\TIMMS.NET.DB\\BACKUP WITH 2 BUFFERS BUFFER 1024</span></p>
<p><span>完成数据库的备份操作。</span></p>
<p><span>&nbsp;&nbsp;</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span>DB2</span><span>离线和在线全备、增量备份及恢复的操作步骤</span><span> <br><br></span><span>1</span><span>、离线全备份</span><span> <br><br>1</span><span>）、首先确保没有用户使用</span><span>DB2: <br>db2&nbsp;list&nbsp;applications&nbsp;for&nbsp;db&nbsp;sample <br>2</span><span>）、停掉数据库并重新启动，以便断掉所有连接：</span><span> <br>db2stop&nbsp;force&nbsp;&nbsp; <br>db2start <br>3</span><span>）、执行备份命令：（使用</span><span>TSM</span><span>作为备份的介质）</span><span> <br>db2&nbsp;backup&nbsp;db&nbsp;sample&nbsp;use&nbsp;tsm <br></span><span>备份成功，将会返回一个时间戳。</span><span> <br>4</span><span>）、检查备份成功：</span><span> <br>Db2&nbsp;list&nbsp;history&nbsp;backup&nbsp;all&nbsp;for&nbsp;sample&nbsp;</span><span>，可以看到多了这个备份的纪录。</span><span> <br>Db2adutl&nbsp;query</span><span>命令也可以看到返回值。</span><span> <br>5</span><span>）、备注：</span><span> <br></span><span>首先对主节点（</span><span>catalog</span><span>表空间在的节点）执行备份命令，再对另外的节点也做这个操作。</span><span> <br><br>2</span><span>、</span><span> </span><span>在线备份：</span><span> <br><br>1</span><span>）、首先打开一下支持在线备份的数据库配置参数：</span><span> <br>db2&nbsp;update&nbsp;db&nbsp;cfg&nbsp;for&nbsp;sample&nbsp;using&nbsp;userexit&nbsp;on&nbsp;&nbsp;&nbsp;&nbsp;</span><span>启用用户出口</span><span> <br>db2&nbsp;update&nbsp;db&nbsp;cfg&nbsp;for&nbsp;sample&nbsp;using&nbsp;logretain&nbsp;on&nbsp;&nbsp;&nbsp;&nbsp;</span><span>启用归档日志</span><span> <br>db2&nbsp;update&nbsp;db&nbsp;cfg&nbsp;for&nbsp;sample&nbsp;using&nbsp;trackmod&nbsp;on&nbsp;&nbsp;&nbsp;</span><span>启用增量备份功能</span><span> <br>(</span><span>需要各个</span><span>Node</span><span>都分别做设置</span><span>) <br></span><span>开启这些参数后，数据库处于</span><span>backup&nbsp;pending</span><span>状态，要求做数据库的离线全备份。做一下离线全备份，参考上面的命令。</span><span> <br>2</span><span>）、在线备份命令如下：</span><span> <br>db2&nbsp;backup&nbsp;db&nbsp;sample&nbsp;online&nbsp;use&nbsp;tsm <br></span><span>备份成功，返回一个时间戳。</span><span> <br>3</span><span>）、同样可以用</span><span>db2adutl&nbsp;</span><span>和</span><span>db2&nbsp;list&nbsp;history</span><span>察看备份纪录。</span><span> <br>4</span><span>）、备注：</span><span> <br></span><span>同样，对每个节点都做这个操作。</span><span> <br><br>3</span><span>、</span><span> </span><span>在线增量备份</span><span> <br><br>1</span><span>）、在开启了必须的三个参数的情况下，做增量备份：</span><span> <br>db2&nbsp;backup&nbsp;db&nbsp;sample&nbsp;online&nbsp;incremental&nbsp;use&nbsp;tsm <br></span><span>备份成功，返回一个时间戳。</span><span> <br>2</span><span>）、同样可以用</span><span>db2adutl&nbsp;</span><span>和</span><span>db2&nbsp;list&nbsp;history</span><span>察看备份纪录。</span><span> <br>3</span><span>）、还有一种</span><span>delta</span><span>的备份：</span><span> <br>db2&nbsp;backup&nbsp;db&nbsp;sample&nbsp;online&nbsp;incremental&nbsp;delta&nbsp;use&nbsp;tsm <br></span><span>这两种备份的区别，类似</span><span>Oracle&nbsp;Exports</span><span>的</span><span>Incremental</span><span>和</span><span>Cumulative</span><span>方式，</span><span>db2</span><span>的</span><span>incremental</span><span>对应</span><span>oracle</span><span>的</span><span>cumulative</span><span>方式，而</span><span>db2</span><span>的</span><span>delta</span><span>方式则对应</span><span>oracle</span><span>的</span><span>incremental</span><span>方式。</span><span> <br>4</span><span>）、备注：</span><span> <br></span><span>同样，对每个节点都做这个操作。</span><span> <br><br><br>4</span><span>、</span><span> </span><span>恢复数据库</span><span> <br><br>1</span><span>）、手工</span><span>drop</span><span>数据库，模拟灾难恢复的情况，执行如下操作：</span><span> <br>db2&nbsp;drop&nbsp;db&nbsp;sample <br>2</span><span>）、恢复备份历史纪录（每次</span><span>backup</span><span>，不论类型，都会备份历史纪录文件）。这里的时间戳应该是最新的：</span><span> <br>db2&nbsp;restore&nbsp;db&nbsp;sample&nbsp;history&nbsp;file&nbsp;use&nbsp;tsm&nbsp;taken&nbsp;at&nbsp;20030102223107&nbsp;buffer&nbsp;100 <br>3</span><span>）、使用</span><span>db2</span><span>的恢复帮助工具：</span><span> <br>db2ckrst&nbsp;-d&nbsp;sample&nbsp;-t&nbsp;20030101224424&nbsp;-r&nbsp;database <br></span><span>命令返回建议的必需的恢复操作命令。</span><span> <br>4</span><span>）、按照帮助工具的提示，先做版本恢复，恢复命令如下：</span><span> <br>db2&nbsp;restore&nbsp;db&nbsp;sample&nbsp;incremental&nbsp;use&nbsp;tsm&nbsp;taken&nbsp;at&nbsp;20030101224424&nbsp;buffer&nbsp;100 <br></span><span>同样先做主节点的恢复，再做其他节点的恢复操作。</span><span> <br>5</span><span>）、这时数据库处于</span><span>rollforward-pending&nbsp;state</span><span>的状态，需要做</span><span>roll&nbsp;forward&nbsp;</span><span>操作：</span><span> <br>db2&nbsp;rollforward&nbsp;db&nbsp;sample&nbsp;to&nbsp;2003-01-12-13.27.25.000000&nbsp;on&nbsp;all&nbsp;nodes&nbsp;and&nbsp;stop <br></span><span>前滚到同一个时间点。这个操作要在主节点来做。</span><span> <br><br><br>5</span><span>、有关说明：</span><span> <br><br>1</span><span>）、恢复操作也有</span><span>online</span><span>和</span><span>offline</span><span>的</span><span>,</span><span>区别如同</span><span>backup</span><span>的操作。</span><span> <br>2</span><span>）、按照表空间的备份和恢复类似，加子句</span><span>TABLESPACE&nbsp;(&nbsp;tablespace-name&nbsp;</span><span>即可。表空间级别的备份</span><span>/</span><span>恢复操作要求数据库处于归档日志和启用增量备份模式下。</span><span> <br>3</span><span>）、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的</span><span>image</span><span>，可以依次做恢复（注意使用</span><span>db2ckrst</span><span>的建议恢复次序和次数）后，再做</span><span>roll&nbsp;forward.</span></p>
<img src ="http://www.cnitblog.com/neil110000/aggbug/28232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/neil110000/" target="_blank">Neil</a> 2007-06-08 15:40 <a href="http://www.cnitblog.com/neil110000/articles/28232.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2 开发系列 第二部分 数据库的创建 </title><link>http://www.cnitblog.com/neil110000/articles/28231.html</link><dc:creator>Neil</dc:creator><author>Neil</author><pubDate>Fri, 08 Jun 2007 07:39:00 GMT</pubDate><guid>http://www.cnitblog.com/neil110000/articles/28231.html</guid><wfw:comment>http://www.cnitblog.com/neil110000/comments/28231.html</wfw:comment><comments>http://www.cnitblog.com/neil110000/articles/28231.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/neil110000/comments/commentRss/28231.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/neil110000/services/trackbacks/28231.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 12pt"> </span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概述</span></strong><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="FONT-SIZE: 12pt"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>DB2</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库的表空间也成为表空间容器</span><span lang=EN-US style="FONT-SIZE: 12pt">,</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于表空间的容器分：</span><span lang=EN-US style="FONT-SIZE: 12pt">SMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang=EN-US style="FONT-SIZE: 12pt">DMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两种。</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 36.75pt; TEXT-INDENT: -26.25pt; tab-stops: list 36.75pt; mso-list: l0 level1 lfo1"><span lang=EN-US style="FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang=EN-US style="FONT-SIZE: 12pt">SMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是由操作系统自动分配存储空间，这种方式的特点是表空间以文件夹的系统是存在，其优点是：无需过多的管理表空间，表空间以文件的形式存放，操作系统随数据中数据的增长，自动分配新的文件来存放数据等，缺点：性能不如</span><span lang=EN-US style="FONT-SIZE: 12pt">DMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好，不可以将数据表空间和索引表空间分离等；</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 36.75pt; TEXT-INDENT: -26.25pt; tab-stops: list 36.75pt; mso-list: l0 level1 lfo1"><span lang=EN-US style="FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang=EN-US style="FONT-SIZE: 12pt">DMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是由人工分配存储空间，这种存储方式的特点是表空间以文件或是裸设备的形式存在，其优点是：能启用数据库的分区并行性，提高数据库的访问性能，减少数据的数据碎片，可以将数据表空间和索引表空间分离等，其缺点相对于</span><span lang=EN-US style="FONT-SIZE: 12pt">SMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来讲，需要更多的人工干预管理。</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 10.5pt"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在创建数据库之前首先须确定将使用什么样的表空间存储形式来存放。</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 10.5pt"><span lang=EN-US style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 10.5pt"><span lang=EN-US style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">二</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 12pt"> </span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">创建数据库</span></strong><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><strong style="mso-bidi-font-weight: normal"><span lang=EN-US><o:p>&nbsp;</o:p></span></strong></p>
<pre><font face=宋体>先决条件：</font></pre>
<pre style="TEXT-INDENT: 36pt; mso-char-indent-count: 3.0"><font face=宋体>创建数据库时必须知道准备引用的容器的设备和文件名，必须知道与要分配给表空间的每个设备或文件名相关联的空间。</font></pre>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><strong style="mso-bidi-font-weight: normal"><span lang=EN-US><o:p>&nbsp;</o:p></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;</span></span><span lang=EN-US style="FONT-SIZE: 12pt"><span style="mso-spacerun: yes">&nbsp;</span>1</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang=EN-US style="FONT-SIZE: 12pt">SMS</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储形式下的数据库创建方式：</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>CREATE DATABASE &lt;database_name&gt; </font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>CATALOG TABLESPACE</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY SYSTEM USING ('&lt;path&gt;')</font></span></pre>
<pre style="tab-stops: 45.8pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>USER TABLESPACE</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY SYSTEM USING (FILE'&lt;path&gt;')</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>TEMPORARY TABLESPACE</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY SYSTEM USING ('&lt;path&gt;')</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>WITH "&lt;comment&gt;"</font></span></pre>
<pre><font face=宋体>其中：</font></pre>
<pre><font face=宋体><span lang=EN-US>database_name</span>：数据库名称</font></pre>
<pre><font face=宋体><span lang=EN-US>alias_name</span>：数据库别名</font></pre>
<pre style="MARGIN-LEFT: 24pt; TEXT-INDENT: -24pt; mso-char-indent-count: -2.0"><font face=宋体><span lang=EN-US>('&lt;path&gt;')</span>：数据库文件存放路径</font></pre>
<pre style="MARGIN-LEFT: 24pt; TEXT-INDENT: -24pt; mso-char-indent-count: -2.0"><font face=宋体><span lang=EN-US>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</span>：分别为数据表空间的页大小和预大小</font></pre>
<pre style="MARGIN-LEFT: 24pt; TEXT-INDENT: -24pt; mso-char-indent-count: -2.0"><font face=宋体><span lang=EN-US>&lt;size&gt;</span>：容器的页大小，每一个页的大小是<span lang=EN-US>4k</span>；</font></pre>
<pre><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre><font face=宋体><span lang=EN-US> </span>例如下面的例子<span lang=EN-US>:</span></font></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp; </span>CREATE DATABASE TEST ON D: ALIAS TEST</font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体>CATALOG TABLESPACE</font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>MANAGED BY SYSTEM USING ('D:\TEST.DB\SYS&#8217;) </font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE 8 PREFETCHSIZE 8</font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体>USER TABLESPACE</font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY SYSTEM USING ('D:\TEST.DB\DATA&#8217;)<span style="mso-spacerun: yes">&nbsp; </span></font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE 16 PREFETCHSIZE 16<span style="mso-spacerun: yes">&nbsp; </span></font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体>TEMPORARY TABLESPACE </font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span>MANAGED BY SYSTEM USING ('D:\TEST.DB\TEMP')</font></span></pre>
<pre style="MARGIN-LEFT: 21pt; tab-stops: 45.8pt 55.5pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE 32 PREFETCHSIZE 32</font></span></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><font face=宋体><span lang=EN-US>TEMPORARY TABLESPACE<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>WITH "</span>测试用数据库<span lang=EN-US>"</span></font></pre>
<pre style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US>2</span>、<span lang=EN-US>DMS</span>存储形式下的数据库创建方式：</font></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>CREATE DATABASE &lt;database_name&gt; </font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>CATALOG TABLESPACE</font></span></pre>
<pre><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY DATABASE USING (FILE '&lt;path&gt;'</span>，<span lang=EN-US>&lt;size&gt;)</span></font></pre>
<pre style="tab-stops: 45.8pt 55.5pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>USER TABLESPACE</font></span></pre>
<pre><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY DATABASE USING (FILE '&lt;path&gt;'</span>，<span lang=EN-US>&lt;size&gt;)</span></font></pre>
<pre style="tab-stops: 45.8pt 55.5pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>TEMPORARY TABLESPACE</font></span></pre>
<pre><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY DATABASE USING (FILE '&lt;path&gt;&#8217;</span>， <span lang=EN-US>&lt;size&gt;)</span></font></pre>
<pre style="tab-stops: 45.8pt 55.5pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE &lt;value&gt; PREFETCHSIZE &lt;value&gt;</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>WITH "&lt;comment&gt;"</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体>其中：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span>&lt;size&gt;</span>：容器的页大小，每一个页的大小是<span lang=EN-US>4k</span>；</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体>例如：</font></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp; </span>CREATE DATABASE &lt;database_name&gt; </font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>CATALOG TABLESPACE</font></span></pre>
<pre><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY DATABASE USING (FILE ' D:\TEST.DB\SYS '</span>，<span lang=EN-US>5000)</span></font></pre>
<pre style="tab-stops: 51.75pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE 32 PREFETCHSIZE 64</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>USER TABLESPACE</font></span></pre>
<pre><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY DATABASE USING (FILE ' D:\TEST.DB\DATA'</span>，<span lang=EN-US>5000)</span></font></pre>
<pre style="tab-stops: 57.75pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE 32 PREFETCHSIZE 64</font></span></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>TEMPORARY TABLESPACE</font></span></pre>
<pre><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MANAGED BY DATABASE USING (FILE ' D:\TEST.DB\TEMP&#8217;</span>，<span lang=EN-US>2000)</span></font></pre>
<pre style="tab-stops: 57.75pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXTENTSIZE 32 PREFETCHSIZE 64</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>WITH "</span>测试用数据库<span lang=EN-US>"</span></font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><strong style="mso-bidi-font-weight: normal"><font face=宋体>三、创建、更改缓冲池<span lang=EN-US><o:p></o:p></span></font></strong></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span>1</span>、创建缓冲池：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><font face=宋体> CREATE Bufferpool Bufferpool_name SIZE &lt;value&gt; PAGESIZE &lt;page_size&gt; K</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体>其中：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Bufferpool_name</span>：缓冲池名称</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Value</span>：缓冲池分配的页数</font></pre>
<pre style="MARGIN-LEFT: 10.5pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0; mso-para-margin-left: 1.0gd"><font face=宋体><span lang=EN-US>page_size</span>：页大小</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体>例如：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt; tab-stops: 45.8pt 55.5pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>CREATE Bufferpool BUFF_DATA SIZE 250 PAGESIZE 4 K</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt; tab-stops: 45.8pt 55.5pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 36.75pt; TEXT-INDENT: -26.25pt; tab-stops: list 36.75pt left 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-list: l0 level1 lfo1"><span lang=EN-US><span style="mso-list: Ignore"><font face=宋体>3、</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font face=宋体>更改缓冲池大小：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><font face=宋体><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ALTER BUFFERPOOL Bufferpool_name <span style="mso-spacerun: yes">&nbsp;</span>SIZE value</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span></span>其中：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>Bufferpool_name</span>：缓冲池名称</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>Value</span>：缓冲池分配的页数</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span></span>例如：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>ALTER BUFFERPOOL BUFF_DATA SIZE 25000</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 36.75pt; TEXT-INDENT: -26.25pt; tab-stops: list 36.75pt left 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-list: l0 level1 lfo1"><span lang=EN-US><span style="mso-list: Ignore"><font face=宋体>4、</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font face=宋体>将缓冲池与表空间关联</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>ALTER TABLESPACE tablespace_name BUFFERPOOL Bufferpool_name</font></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span></span>其中：</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>tablespace_name</span>：表空间名称</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>Bufferpool_name</span>：缓冲池名称</font></pre>
<pre style="MARGIN-LEFT: 10.5pt"><span lang=EN-US><o:p><font face=宋体>&nbsp;</font></o:p></span></pre>
<pre style="MARGIN-LEFT: 10.5pt"><font face=宋体><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span></span>例如：</font></pre>
<pre><span lang=EN-US><font face=宋体><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ALTER TABLESPACE TIMMS_DATA BUFFERPOOL BUFFER_DATA</font></span></pre>
<img src ="http://www.cnitblog.com/neil110000/aggbug/28231.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/neil110000/" target="_blank">Neil</a> 2007-06-08 15:39 <a href="http://www.cnitblog.com/neil110000/articles/28231.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2一般操作指南</title><link>http://www.cnitblog.com/neil110000/articles/28228.html</link><dc:creator>Neil</dc:creator><author>Neil</author><pubDate>Fri, 08 Jun 2007 07:23:00 GMT</pubDate><guid>http://www.cnitblog.com/neil110000/articles/28228.html</guid><wfw:comment>http://www.cnitblog.com/neil110000/comments/28228.html</wfw:comment><comments>http://www.cnitblog.com/neil110000/articles/28228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/neil110000/comments/commentRss/28228.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/neil110000/services/trackbacks/28228.html</trackback:ping><description><![CDATA[<p align=center><strong><span>DB2</span></strong><strong><span>一般</span></strong><strong><span>操作指南</span></strong><strong></strong></p>
<p align=left><em><span>本文适用于<span> IBM&#174; DB2&#174; Universal Database&#8482; for Linux</span>、<span>UNIX&#174; </span>和<span> Windows&#174;</span>。</span></em></p>
<p align=left><span>1</span><span>．</span>&nbsp;<span>启动实例</span><span>(db2inst1)</span><span>：</span></p>
<p align=left><span>db2start</span></p>
<p align=left><span>2</span><span>．</span>&nbsp;<span>停止实例</span><span>(db2inst1)</span><span>：</span></p>
<p align=left><span>db2stop</span></p>
<p align=left><span>3</span><span>．</span>&nbsp;<span>列出所有实例</span><span>(db2inst1)</span></p>
<p align=left><span>db2ilist</span></p>
<p align=left><span>4</span><span>．列出当前实例：</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>db2 get instance</span></p>
<p align=left><span>&nbsp;5. </span><span>设置当前实例</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>set db2instance=db2</span></p>
<p align=left><span>6</span><span>．</span>&nbsp;<span>察看示例配置文件：</span></p>
<p align=left><span>db2 get dbm cfg|more</span></p>
<p align=left><span>7</span><span>．</span>&nbsp;<span>更新数据库管理器参数信息：</span></p>
<p align=left><span>db2 update dbm cfg using para_name para_value</span></p>
<p align=left><span>8</span><span>．</span>&nbsp;<span>创建数据库：</span></p>
<p align=left><span>db2 create db test</span></p>
<p align=left><span>9</span><span>．</span>&nbsp;<span>察看数据库配置参数信息</span></p>
<p align=left><span>db2 get db cfg for test|more</span></p>
<p align=left><span>10</span><span>．</span>&nbsp;<span>更新数据库参数配置信息</span></p>
<p align=left><span>db2 update db cfg for test using para_name para_value</span></p>
<p align=left><span>11</span><span>．删除数据库：</span></p>
<p align=left><span>db2 drop db test</span></p>
<p align=left><span>12</span><span>．连接数据库</span></p>
<p align=left><span><span>&nbsp;&nbsp; </span>db2 connect to test</span></p>
<p align=left><span>13</span><span>．列出所有表空间的详细信息。</span></p>
<p align=left><span>db2 list tablespaces show detail</span></p>
<p align=left><span>14</span><span>．列出容器的信息</span></p>
<p align=left><span>db2 list tablespace containers for tbs_id show detail</span></p>
<p align=left><span>15</span><span>．创建表：</span></p>
<p align=left><span>db2 ceate table tb1(id integer not null,name char(10))</span></p>
<p align=left><span>16</span><span>．列出所有表</span></p>
<p align=left><span>db2 list tables</span></p>
<p align=left><span>17</span><span>．</span><span>插入数据：</span></p>
<p align=left><span>db2 insert into tb1 values(1,&#8217;sam&#8217;);</span></p>
<p align=left><span>db2 insert into tb2 values(2,&#8217;smitty&#8217;);</span></p>
<p align=left><span>18</span><span>．查询数据：</span></p>
<p align=left><span>db2 select * from tb1</span></p>
<p align=left><span>19</span><span>．</span><span>数据：</span></p>
<p align=left><span>db2 delete from tb1 where id=1</span></p>
<p align=left><span>20</span><span>．</span><span>创建索引：</span></p>
<p align=left><span>db2 create index idx1 on tb1(id);</span></p>
<p align=left><span>21</span><span>．</span><span>创建视图：</span></p>
<p align=left><span>db2 create view view1 as select id from tb1</span></p>
<p align=left><span>22</span><span>．</span><span>查询视图：</span></p>
<p align=left><span>db2 select * from view1</span></p>
<p align=left><span>23</span><span>．</span><span>节点编目</span></p>
<p align=left><span>db2 catalog tcp node node_name remote server_ip server server_port</span></p>
<p align=left><span>24</span><span>．</span><span>察看端口号</span></p>
<p align=left><span>db2 get dbm cfg|grep SVCENAME</span></p>
<p align=left><span>25</span><span>．</span><span>测试节点的附接</span></p>
<p align=left><span>db2 attach to node_name</span></p>
<p align=left><span>26</span><span>．</span><span>察看本地节点</span></p>
<p align=left><span>db2 list node direcotry</span></p>
<p align=left><span>27</span><span>．</span><span>节点反编目</span></p>
<p align=left><span>db2 uncatalog node node_name</span></p>
<p align=left><span>28</span><span>．</span><span>数据库编目</span></p>
<p align=left><span>db2 catalog db db_name as db_alias at node node_name</span></p>
<p align=left><span>29</span><span>．</span><span>察看数据库的编目</span></p>
<p align=left><span>db2 list db directory</span></p>
<p align=left><span>30</span><span>．</span><span>连接数据库</span></p>
<p align=left><span>db2 connect to db_alias user user_name using user_password</span></p>
<p align=left><span>31</span><span>．</span><span>数据库反编目</span></p>
<p align=left><span>db2 uncatalog db db_alias</span></p>
<p align=left><span>32</span><span>．</span><span>导出数据</span></p>
<p align=left><span>db2 export to myfile of ixf messages msg select * from tb1</span></p>
<p align=left><span>33</span><span>．</span><span>导入数据</span></p>
<p align=left><span>db2 import from myfile of ixf messages msg replace into tb1</span></p>
<p align=left><span>34</span><span>．</span><span>导出数据库的所有表数据</span></p>
<p align=left><span>db2move test export </span></p>
<p align=left><span>35</span><span>．</span><span>生成数据库的定义</span></p>
<p align=left><span>db2look -d db_alias -a -e -m -l -x -f -o db2look.sql</span></p>
<p align=left><span>36</span><span>．</span><span>创建数据库</span></p>
<p align=left><span>db2 create db test1</span></p>
<p align=left><span>37</span><span>．</span><span>生成定义</span></p>
<p align=left><span>db2 -tvf db2look.sql</span></p>
<p align=left><span>38</span><span>．</span><span>导入数据库所有的数据</span></p>
<p align=left><span>db2move db_alias import</span></p>
<p align=left><span>39</span><span>．</span><span>重组检查</span></p>
<p align=left><span>db2 reorgchk</span></p>
<p align=left><span>40</span><span>．</span><span>重组表</span><span>tb1</span></p>
<p align=left><span>db2 reorg table tb1</span></p>
<p align=left><span>41</span><span>．</span><span>更新统计信息</span></p>
<p align=left><span>db2 runstats on table tb1</span></p>
<p align=left><span>42</span><span>．</span><span>备份数据库</span><span>test</span></p>
<p align=left><span>db2 backup db test</span></p>
<p align=left><span>43</span><span>．</span><span>恢复数据库</span><span>test</span></p>
<p align=left><span>db2 restore db test</span></p>
<p align=left><span>&nbsp;44. </span><span>命令处理器参数</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>列举可用命令格式：</span><span>db2&nbsp;list&nbsp;command&nbsp;options</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>更改命令格式：</span><span>update command&nbsp;options&nbsp;using&nbsp;<em>option</em> <span>value(on/off)</span></span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&nbsp;</span><span>实例：比如更改命令行自动提交的参数</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>db2=&gt;update&nbsp;command&nbsp;options&nbsp;using&nbsp;C&nbsp;off--</span><span>或</span><span>on</span><span>，只是临时改变</span><span>&nbsp; <br></span><span>命令行下</span><span>&nbsp;db2set&nbsp;db2options=+c&nbsp;--</span><span>或</span><span>-c</span><span>，永久改变</span></p>
<p align=left>&nbsp;</p>
<p align=left><span>&nbsp;45. </span><span>获取当前机器</span><span>db2</span><span>所有配置信息：</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>db2support . -d &nbsp;<em>dbname </em>&nbsp;-c</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>此时数据库管理程序将生成一个</span><span>db2support </span><span>压缩文件包。</span></p>
<p align=left>&nbsp;</p>
<p align=left><span>&nbsp;46. </span><span>更新数据库版本级别</span><span>(</span><span>适用于使用不通版本备份恢复时使用</span><span>)</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v7: db2updv7</span></p>
<p align=left><span><span>&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>db2updv7 &#8211;d <em>dbname</em> &#8211;u <em>username</em> &#8211;p <em>password</em> </span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v8: db2updv8</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>db2updv7 &#8211;d <em>dbname</em> &#8211;u <em>username</em> &#8211;p <em>password</em></span></p>
<p align=left><span>&nbsp;47. </span><span>获取当前机器的管理级配置</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>db2set &#8211;all</span></p>
<p align=left><span>&nbsp;48. </span><span>强制终止指定连接</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>db2 force application <em>appname</em></span></p>
<p align=left><span>&nbsp;49</span><span>．强制终止所用连接</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>db2 force application all</span></p>
<p align=left><span>&nbsp;</span></p>
<p align=left>&nbsp;</p>
<p align=left>&nbsp;</p>
<span><br clear=all></span>
<p align=left>&nbsp;</p>
<p align=left><span>附：一些具体使用实例</span></p>
<p align=left><span>//</span><span>建立数据库<span>DB2_GCB <br>CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB&nbsp;&nbsp;<br>USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 <br><br>//</span>连接数据库<span> <br>connect to sample1 user db2admin using 8301206 <br><br>//</span>建立别名<span> <br>create alias db2admin.tables for sysstat.tables; <br>CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS <br>create alias db2admin.columns for syscat.columns; <br>create alias guest.columns for syscat.columns; <br><br>//</span>建立表<span> <br>create table zjt_tables as <br>(select * from tables) definition only; <br>create table zjt_views as <br>(select * from views) definition only; <br><br>//</span>插入记录<span> <br>insert into zjt_tables select * from tables; <br>insert into zjt_views select * from views; <br><br>//</span>建立视图<span> <br>create view V_zjt_tables as select tabschema,tabname from zjt_tables; <br><br>//</span>建立触发器<span> <br>CREATE TRIGGER zjt_tables_del <br>AFTER DELETE ON zjt_tables&nbsp;&nbsp;<br>REFERENCING OLD AS O <br>FOR EACH ROW MODE DB2SQL <br>Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) <br><br>//</span>建立唯一性索引<span> <br>CREATE UNIQUE INDEX I_ztables_tabname <br>ON zjt_tables(tabname); <br><br>//</span>查看表<span> <br>select tabname from tables <br>where tabname='ZJT_TABLES'; <br><br>//</span>查看列<span> <br>select SUBSTR(COLNAME,1,20) as </span>列名<span>,TYPENAME as </span>类型<span>,LENGTH as </span>长度<span> <br>from columns <br>where tabname='ZJT_TABLES'; <br><br>//</span>查看表结构<span> <br>db2 describe table user1.department <br>db2 describe select * from user.tables <br><br>//</span>查看表的索引<span> <br>db2 describe indexes for table user1.department <br><br><br>//</span>查看视图<span> <br>select viewname from views <br>where viewname='V_ZJT_TABLES'; <br><br>//</span>查看索引<span> <br>select indname from indexes <br>where indname='I_ZTABLES_TABNAME'; <br><br>//</span>查看存贮过程<span>&nbsp;&nbsp;<br>SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) <br>FROM SYSCAT.PROCEDURES; <br>//</span>类型转换<span>(cast) <br>ip datatype:varchar <br>select cast(ip as integer)+50 from log_comm_failed <br>//</span>重新连接<span> <br>connect reset <br>//</span>中断数据库连接<span> <br>disconnect db2_gcb <br><br>//view application <br>LIST APPLICATION; <br><br>//kill application <br>FORCE APPLICATION(0); <br>db2 force applications all (</span>强迫所有应用程序从数据库断开<span>) <br><br>//lock table <br>//</span>独占<span> <br>lock table test in exclusive mode <br>//</span>共享<span> <br>lock table test in share mode <br><br>//</span>显示当前用户所有表<span> <br>list tables <br><br>//</span>列出所有的系统表<span>&nbsp;&nbsp;<br>list tables for system <br><br>//</span>显示当前活动数据库<span> <br>list active databases <br><br>//</span>查看命令选项<span> <br>list command options <br><br>//</span>系统数据库目录<span> <br>LIST DATABASE DIRECTORY <br><br>//</span>表空间<span> <br>list tablespaces <br><br>//</span>表空间容器<span> <br>LIST TABLESPACE CONTAINERS FOR&nbsp;&nbsp;<br>Example: LIST TABLESPACE CONTAINERS FOR 1 <br><br>//</span>显示用户数据库的存取权限<span> <br>GET AUTHORIZATIONS <br><br>//</span>启动实例<span> <br>DB2START <br><br>//</span>停止实例<span> <br>db2stop <br><br>//</span>表或视图特权<span> <br>grant select,delete,insert,update on tables to user <br>grant all on tables to user WITH GRANT OPTION&nbsp;&nbsp;<br><br>//</span>程序包特权<span> <br>GRANT EXECUTE <br>ON PACKAGE PACKAGE-name <br>TO PUBLIC <br><br>//</span>模式特权<span> <br>GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER <br><br>//</span>数据库特权<span> <br>grant connect,createtab,dbadm on database to user <br><br>//</span>索引特权<span> <br>grant control on index index-name to user <br><br>//</span>信息帮助<span> (? XXXnnnnn ) <br></span>例<span>:? SQL30081&nbsp;&nbsp;<br><br>//SQL </span>帮助<span>(</span>说明<span> SQL </span>语句的语法<span>) <br>help statement&nbsp;&nbsp;<br></span>例如，<span>help SELECT&nbsp;&nbsp;<br><br>SQLSTATE </span>帮助<span>(</span>说明<span> SQL </span>的状态和类别代码<span>) <br>? sqlstate </span>或<span> ? class-code&nbsp;&nbsp;<br><br>//</span>更改与&#8220;管理服务器&#8221;相关的口令<span> <br>db2admin setid username password <br><br>//</span>创建<span> SAMPLE </span>数据库<span> <br>db2sampl&nbsp;&nbsp;<br>db2sampl F:(</span>指定安装盘<span>) <br><br>//</span>使用操作系统命令<span>&nbsp;&nbsp;<br>! dir <br>//</span>转换数据类型<span> (cast) <br>SELECT EMPNO, CAST(RESUME AS VARCHAR(370)) <br>FROM EMP_RESUME <br>WHERE RESUME_FORMAT = 'ascii' <br><br>//</span>要运行<span> DB2 Java </span>存储过程或<span> UDF</span>，还需要更新服务器上的<span> DB2 </span>数据库管理程序配置，以包括在该机器上安<span> <br></span>装<span> JDK </span>的路径<span> <br>db2 update dbm cfg using JDK11_PATH d:\sqllib\java\jdk <br>TERMINATE <br>update dbm cfg using SPM_NAME sample <br>//</span>检查<span> DB2 </span>数据库管理程序配置<span> <br>db2 get dbm cfg <br><br><br>//</span>检索具有特权的所有授权名<span> <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH <br>UNION <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH <br>UNION <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH <br>UNION <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH <br>UNION <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH <br>UNION <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH <br>UNION <br>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH <br>ORDER BY GRANTEE, GRANTEETYPE, 3 <br><br><br><br>create table yhdab&nbsp;&nbsp;<br>(id varchar(10), <br>password varchar(10), <br>ywlx varchar(10), <br>kh varchar(10)); <br>create table ywlbb <br>(ywlbbh varchar(8), <br>ywmc varchar(60)) <br><br>//</span>修改表结构<span> <br>alter table yhdab ALTER kh SET DATA TYPE varchar(13); <br>alter table yhdab ALTER ID SET DATA TYPE varchar(13); <br>alter table lst_bsi alter bsi_money set data type int; <br>insert into yhdab values&nbsp;&nbsp;<br>('20000300001','123456','user01','20000300001'), <br>('20000300002','123456','user02','20000300002'); <br><br>//</span>业务类型说明<span> <br>insert into ywlbb values <br>('user01','</span>业务申请<span>'), <br>('user02','</span>业务撤消<span>'), <br>('user03','</span>费用查询<span>'), <br>('user04','</span>费用自缴<span>'), <br>('user05','</span>费用预存<span>'), <br>('user06','</span>密码修改<span>'), <br>('user07','</span>发票打印<span>'), <br>('gl01','</span>改用户基本信息<span>'), <br>('gl02','</span>更改支付信息<span>'), <br>('gl03','</span>日统计功能<span>'), <br>('gl04','</span>冲帐功能<span>'), <br>('gl05','</span>对帐功能<span>'), <br>('gl06','</span>计费功能<span>'), <br>('gl07','</span>综合统计<span>') <br><br><br></span>说明 目录视图<span>&nbsp;&nbsp;<br></span>检查约束<span> SYSCAT.CHECKS&nbsp;&nbsp;<br></span>列<span> SYSCAT.COLUMNS&nbsp;&nbsp;<br></span>检查约束引用的列<span> SYSCAT.COLCHECKS&nbsp;&nbsp;<br></span>关键字中使用的列<span> SYSCAT.KEYCOLUSE&nbsp;&nbsp;<br></span>数据类型<span> SYSCAT.DATATYPES&nbsp;&nbsp;<br></span>函数参数或函数结果<span> SYSCAT.FUNCPARMS&nbsp;&nbsp;<br></span>参考约束<span> SYSCAT.REFERENCES&nbsp;&nbsp;<br></span>模式<span> SYSCAT.SCHEMATA&nbsp;&nbsp;<br></span>表约束<span> SYSCAT.TABCONST&nbsp;&nbsp;<br></span>表<span> SYSCAT.TABLES&nbsp;&nbsp;<br></span>触发器<span> SYSCAT.TRIGGERS&nbsp;&nbsp;<br></span>用户定义函数<span> SYSCAT.FUNCTIONS&nbsp;&nbsp;<br></span>视图<span> SYSCAT.VIEWS&nbsp;&nbsp;<br><br><br></span>二进制大对象<span> (BLOB) </span>字符串。<span> <br><br></span>字符大对象<span> (CLOB) </span>字符串，它的字符序列可以是单字节字符或多字节字符，或这两者的组合。<span> <br><br></span>双字节字符大对象<span> (DBCLOB) </span>字符串，它的字符序列是双字节字符。<span> <br><br></span>第一种规范形式<span> <br></span>表中的每一行和每一列均有一个值，永远不会是一组值。<span> <br><br></span>第二种规范形式<span> <br></span>不在关键字中的每一列提供取决于整个关键字的事实。<span> <br><br></span>第三种规范形式<span> <br></span>每个非关键字列提供与其他非关键字列无关并只取决于该关键字的事实。<span> <br><br></span>第四种规范形式<span> <br></span>没有行包含有关一个实体的两个或更多个独立的多值事实。<span> <br><br></span>数据类型 类型 特性 示例或范围<span>&nbsp;&nbsp;<br><br>CHAR(15) </span>定长字符串 最大长度为<span> 254 'Sunny day ' <br>VARCHAR(15) </span>变长字符 最大长度为<span> 4000 'Sunny day' <br>SMALLINT </span>数字 长度为<span> 2 </span>字节精度为<span> 5 </span>位范围为<span>-32768 </span>至<span> 32767 <br>INTEGER </span>数字 长度为<span> 4 </span>字节精度为<span> 10 </span>位范围为<span>-2147483648 </span>至<span> 2147483647 <br>REAL </span>数字 单精度浮点<span>32 </span>位近似值 范围为<span> -3.402E+38 </span>至<span>-1.175E-37</span>或<span> 1.175E-37 </span>至<span>-3.402E+38</span>或零<span> <br>DOUBLE </span>数字 双精度浮点<span>64 </span>位近似值 范围为<span>-1.79769E+308 </span>至<span>-2.225E-307</span>或<span> 2.225E-307 </span>至<span> 1.79769E+308 <br></span>或零<span> <br>DECIMAL(5,2) </span>数字 精度为<span> 5</span>小数位为<span> 2 </span>范围为<span> -10**31+1 </span>至<span> 10**31-1 <br>DATE </span>日期时间 三部分值<span> 1991-10-27 <br>TIME </span>日期时间 三部分值<span> 13.30.05 <br>TIMESTAMP </span>日期时间 七部分值<span> 1991-10-27-13.30.05.000000 <br><br><br></span>列函数<span> <br></span>列函数对列中的一组值进行运算以得到单个结果值。下列就是一些列函数的示例。<span> <br><br>AVG&nbsp;&nbsp;<br></span>返回某一组中的值除以该组中值的个数的和<span>&nbsp;&nbsp;<br><br>COUNT&nbsp;&nbsp;<br></span>返回一组行或值中行或值的个数<span>&nbsp;&nbsp;<br><br>MAX&nbsp;&nbsp;<br></span>返回一组值中的最大值<span>&nbsp;&nbsp;<br><br>MIN&nbsp;&nbsp;<br></span>返回一组值中的最小值<span>&nbsp;&nbsp;<br><br></span>标量函数<span> <br></span>标量函数对值进行某个运算以返回另一个值。下列就是一些由<span>DB2 </span>通用数据库提供的标量函数的示例。<span>&nbsp;&nbsp;<br><br>ABS&nbsp;&nbsp;<br></span>返回数的绝对值<span>&nbsp;&nbsp;<br><br>HEX&nbsp;&nbsp;<br></span>返回值的十六进制表示<span>&nbsp;&nbsp;<br><br>LENGTH&nbsp;&nbsp;<br></span>返回自变量中的字节数（对于图形字符串则返回双字节字符数。）<span>&nbsp;&nbsp;<br><br>YEAR&nbsp;&nbsp;<br></span>抽取日期时间值的年份部分&nbsp;</span></p>
<img src ="http://www.cnitblog.com/neil110000/aggbug/28228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/neil110000/" target="_blank">Neil</a> 2007-06-08 15:23 <a href="http://www.cnitblog.com/neil110000/articles/28228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>