您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > db2命令记录(一)
第一.请问高手,如何查看tablespace里包含哪些表?selecttabschema,tabnamefromsyscat.tableswheretbspace='TABLESPACEA'andtype='T'这里的TABLESPACEA具体情况定,如用USERSPACE1(158.222.2.110)第二.DB2CLP从DOS进入db2cmddb2cmd在本地DB2数据库添加一个远程结点db2catalogtcpipnodexdzx1remote155.222.2.110server60064db2catalogdatabasexdzx1atnodexdzx1查看版本信息db2licm-l启动,停止db2数据库db2adminstartdb2adminstopdb2startdb2stop执行存储过程db2callp01_acct_depacct_y('2007-4-15',?,?)创建t01_acct_depacct_y表,indms_data代表数据存在dms_data命名空间indexindms_idx代表索引创建在dms_idx里面createtablet01_acct_depacct_y(record_dateDATEnotnull,etl_dateDATE,dep_acct_noCHAR(15)notnull,curr_cdCHAR(3)notnull,curr_idenCHAR(1)notnull,bank_noCHAR(6)notnull,summary_bank_noCHAR(6),xyz_noCHAR(2),dep_categCHAR(1),acct_nameVARCHAR(160),acct_short_nameVARCHAR(60),busi_typCHAR(3),assu_busi_typCHAR(2),dep_termINT,open_dateDATE,close_dateDATE,cust_open_dateDATE,dep_bal_tsumDEC(24,2),dep_bal_msumDEC(24,2),dep_bal_qsumDEC(24,2),dep_bal_qend_ysumDEC(24,2),year_dep_amtDEC(17,2),year_dep_cntINT,year_oth_amtDEC(17,2),year_oth_cntINT,year_d_sumDEC(17,2),year_c_sumDEC(17,2),year_d_cntINT,year_c_cntINT,constraintP_pk01_acct_saacctprimarykey(record_date,dep_acct_no,curr_cd,curr_iden))indms_dataindexindms_idx获取数据库中现有存储过程selectsubstr(procschema,1,15),substr(procname,1,15)fromsyscat.procedures;select*fromsyscat.procedureswhereprocschema='XXGL'获取当前时间selectcurrenttimefrom(values1)astest;selectcurrentdatefrom(values2)astest;select(current_date)-2year,(current_date)+1day,current_timestamp+1hourfrom(values1)test在列中查询以删除重复的记录我们有一个表,字段A有重复的记录,我们想要编写一个SQL查询来让字段A作为主键。在这样的情况下,我们需要一个删除查询来删除重复的记录,这样字段A才能具有惟一的数值。要删除重复的数据行,可以使用如下的语句:DELETEFROMmy_tableWHERErowidNOTIN(SELECTMAX(ROWID)FROMmy_tableGROUPBYcolA,colB,colC);在GROUPBY子句中,列出你的表中所有的字段,或者你认为应该成为主键字段的字段。子查询可以得到这些分组的最大行id。DELETE可以删除所有这些行id的数值。将表中数据导出到文件(.del,.xls,.txt)方法一:exporttofilenameofdelselect*fromtablename方法二:shell里面操作select*fromtablenamefilename将文件中数据导入到表中:db2importfrom*.txtofdelinsertinto表建表的时候可以设置列为自动增长的CREATETABLET1(IDINTEGERNOTNULLGENERATEDALWAYSASIDENTITY(STARTWITH0,INCREMENTBY1,NOCACHE),PRIMARYKEY(ID));在DB2/400中如何检索一个表名中含有'.'号的表例如:如果直接strsql-SELECT*FROMABIS/ABC.ABC系统将会报错:“Token.wasnotvalid.“解决的方法是用双引号将'.'括起来SELECT*FROMABIS/ABC.ABC即可。如果库名也是这种情况,一样处理即可SELECT*FROMABIS/ABC.ABC在AS400中不应该这样写的。如果ABC是一个数据库那么你应该这样写SELECT*FROMABIS/ABC如何提高IMPORT命令的性能1如果是在分区数据库的环境下,可以利用BufferedInsert来提高IMPORT的性能:在执行IMPORT命令前,要先用INSERTBUF参数重新绑定IMPORT命令对应的绑定文件db2uimpm.bnd。例如:db2connectto数据库名db2binddb2uimpm.bndblockingallinsertbufdb2uimpm.bnd在..sqllib\bnd目录下。2执行IMPORT命令时使用COMPOUND参数:例如:db2connectto数据库名db2importfrom数据文件名ofixfmodifiedbycompound=100insertinto表名上面的命令中IMPORT会在每100条记录而不是每条记录插入后等待返回的SQL执行结果。3如果表中已有数据,将表的属性修改为APPENDMODE也可以加快IMPORT的性能。添加实例instaince创建实例时的UNIX详细信息当使用UNIX操作系统时,db2icrt命令具有下列可选的参数:-h或-?此参数用于显示此命令的帮助菜单。-d此参数设置在确定问题期间要使用的调试方式。-aAuthType7此参数指定该实例的认证类型。有效的认证类型是SERVER、SERVER_ENCRYPT或CLIENT。如果未指定此参数,且如果安装了DB2UniversalDatabase(TM)(DB2UDB)(DB2通用数据库)服务器,则缺省值为SERVER。否则,将它设置为CLIENT。注:该实例的认证类型适用于实例拥有的所有数据库。7在UNIX操作系统上,认证类型DCE不是有效的选项。7-uFencedID此参数是受防护的用户定义的函数(UDF)和存储过程执行期间所归属的用户。如果安装了DB2UDB客户机或“DB2UDB应用程序开发客户机”,则不需要此参数。对于其它DB2UDB产品,这是必需参数。注:FencedID不能是“root”或“bin”。-pPortName此参数指定要使用的TCP/IP服务名称或端口号码。对于实例中的每个数据库,将在实例的数据库配置文件中设置此值。-sInstType允许创建不同类型的实例。有效的的实例类型是:ese、wse、client和standalone。示例:要为DB2UDB服务器添加实例,您可以使用下列命令:db2icrt-udb2fenc1db2inst1若只安装了DB2Connect企业版,也可将该实例名用作FencedID:db2icrt-udb2inst1db2inst1要为DB2UDB客户机添加实例,您可以使用下列命令:db2icrtdb2inst1-sclient-ufencedID当要让一个工作站与其它数据库服务器连接,且该工作站上不需要本地数据库时,创建DB2UDB客户机实例。列出实例信息db2ilist获取当前会话所在的实例db2getinstance除去实例db2idropinstance_name更新实例配置db2iupdtInstName在UNIX上更新实例配置运行db2iupdt命令,并执行以下操作来更新指定的实例:替换实例所有者主目录下sqllib子目录中的文件。若更改了节点类型,则会创建一个新的数据库管理器配置文件。为此,可将现有的数据库管理器配置文件的相关值与新节点类型的缺省数据库管理器配置文件合并。若创建了一个新的数据库管理器配置文件,则将旧文件备份到实例所有者主目录下的sqllib子目录的backup子目录中。过程2db2iupdt命令可在2AIX上的/usr/opt/db2_08_01/instance/2目录中找到。db2iupdt命令可在HP-UX、SolarisOperatingEnvironment或Linux上的/opt/IBM/db2/V8.1/instance/目录中找到。按如下所示使用该命令:db2iupdtInstNameInstName是实例所有者的登录名。此命令还有其它可选的参数:-h或-?显示此命令的帮助菜单。-d设置在问题确定期间要使用的调试方式。-aAuthType指定实例的认证类型。有效的认证类型是SERVER、SERVER_ENCRYPT或CLIENT。若未指定此参数,且若已安装了DB2服务器,则缺省值为SERVER。否则,将它设置为CLIENT。该实例的认证类型适用于实例拥有的所有数据库。-e允许更新存在的每个实例。可以使用db2ilist来显示存在的实例。-uFencedID命名受防护的用户定义的函数(UDF)和存储过程执行期间所归属的用户。若安装了DB2客户机或“DB2软件开发者工具箱”,则不需要这样做。对于其它DB2产品,它是必需参数。注:受防护标识不能是“root”或“bin”。-k此参数保留当前实例类型。若不指定此参数,当前实例将按以下顺序升级到可用的最高实例类型:具有本地和远程客户机的分区数据库服务器(DB2扩充企业版缺省实例类型)具有本地和远程客户机的数据库服务器(DB2通用数据库企业服务器版缺省实例类型)客户机(DB2客户机缺省实例类型)示例:如果在创建实例后安装了DB2通用数据库工作组服务器版或DB2通用数据库企业服务器版,可输入以下命令来更新该实例:db2iupdt-udb2fenc1db2inst1若在创建实例后安装了DB2Connect企业版,也可将该实例用作FencedID:db2iupdt-udb2inst1db2inst1要更新客户机实例,可使用以下命令:db2iupdtdb2inst1连接至数据库管理器的另一个实例连接至数据库管理器的另一实例要与另一个可能是远程的实例连接,使用ATTACH命令。先决条件必须存在多个实例。过程要使用“控制中心”连接至数据库管理器的另一实例:展开对象树,直到您看到实例文件夹为止。单击您想要连接的实例。右键单击选择的实例名。在“连接DB2”窗口中,输入用户标识和密码,并单击确定。要使用命令行来与实例连接,输入:db2attachtoinstancename例如,要连接至节点目录中先前编目的称为testdb2的实例:db2attachtotestdb2在对testdb2实例执行维护活动之后,可通过运行以下命令从该实例拆离(DETACH):db2detach配置DAS过程要查看与DAS相关的DB2管理服务器配置参数的当前值,输入:db2getadmincfg它显示在安装该产品期间指定为缺省值的当前值,或在先前更新配置参数期间指定的那些值。1为了使用“命令行处理器”(CLP)和U
本文标题:db2命令记录(一)
链接地址:https://www.777doc.com/doc-3126479 .html