DB2数据库的学习及总结 - DB2 -- 电脑知识与技术互动沟通平台.docx

上传人:安*** 文档编号:19273011 上传时间:2022-06-05 格式:DOCX 页数:28 大小:23.85KB
返回 下载 相关 举报
DB2数据库的学习及总结 - DB2 -- 电脑知识与技术互动沟通平台.docx_第1页
第1页 / 共28页
DB2数据库的学习及总结 - DB2 -- 电脑知识与技术互动沟通平台.docx_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《DB2数据库的学习及总结 - DB2 -- 电脑知识与技术互动沟通平台.docx》由会员分享,可在线阅读,更多相关《DB2数据库的学习及总结 - DB2 -- 电脑知识与技术互动沟通平台.docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、DB2数据库的学习及总结-DB2-次元立方网-电脑知识与技术互动沟通平台db2grantdbadmondatabasetouserdsp#导出数据库构造会生成一个faldb20160224.sql文件db2look-dudep-e-a-x-idsp-wdsp-odsp20160504.sql导出所属scheme:dsp的所有表构造的命令如下db2look-dtyfx-e-zdsp-oudep.ddl语法:db2look-dDBname-uCreator-s-g-a-tTname1Tname2.TnameN -p-oFname-iuserID-wpassworddb2look-dDBname-u

2、Creator-a-e-tTname1Tname2.TnameN -m-c-r-x-l-f-oFname-iuserID-wpassworddb2look-h-d:数据库名:这必须指定-a:为所有创立者生成统计信息-c:不要生成模拟的COMMIT语句-e:抽取复制数据库所需要的DDL文件-g:使用图形来显示索引的页取装对-h:更具体的帮助信息-m:在模拟方式下运行db2look实用程序-o:将输出重定向到给定的文件名-p:使用简单文本格式-r:不要生成模拟的RUNSTATS语句-s:生成postscript文件-t:生成指定表的统计信息-x:生成权限语句DDL-l:生成数据库布局:节点组、缓冲

3、池和表空间-f:抽取配置参数和环境变量-u:创立者ID:若-u和-a都未指定,则将使用$USER-i:注册到数据库驻留的服务器时所使用的用户ID-w:注册到数据库驻留的服务器时所使用的口令#生成faldb20160224.sql文件之后要执行这个文件db2-tvffaldb20160224.sqldb2option.db2-command|sql-statement| ?phrase|message|sqlstate|class-code选项:-a,-c,-ec|s,-finfile,-lhistfile,-n,-o,-p,-rreport,-s,-t,-td;,-v,-w,-x,-zoutp

4、utfile。选项讲明缺省设置-a显示SQLCAOFF-c自动落实ON-e显示SQLCODE/SQLSTATEOFF-f读取输入文件OFF-l将命令记录到历史文件中OFF-n除去换行字符OFF-o显示输出ON-p显示db2交互式提示ON-r将输出报告保存到文件OFF-s在命令出错时停止执行OFF-t设置语句终止字符OFF-v回送当前命令OFF-w显示FETCH/SELECT警告信息ON-x不打印列标题OFF-z将所有输出保存到输出文件OFF注意:使用DB2OPTIONS环境变量定制选项缺省值。紧跟选项字母后的减号(-)使该选项关闭。在交互方式或文件输入方式下使用UPDATECOMMANDOPT

5、IONS更改选项设置。selectdb2exportto|table_name|.ixfofixfselect*fromCUSTRISK.|table_name|fromsysibm.TABLESwhereTABLE_SCHEMA=CUSTRISKselectdb2importfrom|table_name|.ixfofixfcommitcount500messagesmsg.outinsertintoCUSTRISK.|table_name|fromsysibm.TABLESwhereTABLE_SCHEMA=CUSTRISK从数据库里在一张表中随机的抽取10条记录的db2SQL语句是:se

6、lect*frommoiamds.p_mon_dsm_cdtorderbyrand()FETCHFIRST10ROWSONLY启动db2数据库的命令是:db2start关闭db2数据库的命令是:db2stop命令提示符里连接db2数据库的命令是:db2connecttomoiausermoiamdsusingmoiamds导出一张表里的数据的命令是:db2exporttoF:IMPp_mon_dsm_cdt.txtofdelselect*fromMOIAMDS.P_MON_DSM_CDTIMPORTFROMemployee.ixfOFIXFREPLACE_CREATEINTOemployee_

7、copy;REPLACE_CREATE这个参数表示假如employee_copy数据表已经存在,则先清空数据表中的数据然后将ixf中的数据导入,假如employee_copy数据表不存在,则会先建立该表,然后将数据导入。导入数据到一张表中的命令式:db2importfromtg.txtofdelinsertintoMOIAMDS.P_MON_TAB_ONE假如对一张表进行操作的时候报由于表不活动,所以不能对表操作,解决方法:reorgtable-表名;假如报事务日志已满的解决办法DB2COPY2-命令行处理工具-命令行处理器db2getdbcfgformdsdb2updatedbcfgform

8、dsusinglogfilsiz6000db2显示表空间的语句:db2listtablespacesshowdetail去基线导出数据的方法:197.3.6.1上去导出数据的方法:moiase/home/mds/file/tmpdb2connecttomoiausermoiamdsusingmoiamdsmoiase/home/mds/file/tmpdb2exporttoP_DQM_SERVICE_CASE_TAB.ixfofixfselect*frommoiamds.P_DQM_SERVICE_CASE_TAB导出成功!把它用在本地用E:JDKAPIftp197.3.6.1输入user:m

9、oiasepwd:moiase连接成功;ftpgetP_DQM_SERVICE_CASE_TAB.ixf回车如今本人的计算机e:盘JDKAPI下就存在了P_DQM_SERVICE_CASE_TAB.ixf文件查看db2的所有的连接:db2listapplications断开所有的连接:db2forceapplicationsalldb2去执行配置文件的方法:如:在D:盘建一个myscript.txt文件输入:!db2start;connecttomoiausermoiamdsusingmoiamds;select*fromemp;terminate;就能够在命令提示符里输入db2cmd然后输入

10、:db2-tfD:myscript.txt查看db2的数据库分区方法:db2listnodedirectory/查询编目录节点db2listdbdirectory/查询编目录下边详细有哪些库db2connnecttomdsusermdsuserusingmdsuser/连接数据库创立备份表的sql语句:createtablenew_tableas(select*fromold_table)definitiononly;备份数据:insertintonew_tableselect*fromold_table;excel数据导入到DB2数据库的方法1先把excel文件另存为.csv文件,放到d盘,

11、然后执行下面的sqlimportfromd:/test.csvofdelmessagesd:/msg.outinsertintoM_CM_PROD_PRODUCT_ATTRIBUTE;-查看db2数据库最大连接数的命令:查看当前活动的实例的命令:db2ilist查看当前活动的实例下的数据库的命令:db2listdbdirectory创立一个新的实例下创立数据库的命令:db2icrtnewinstance(实例);删除实例的命令:db2idropinstancename;setdb2instance=实例;db2start;db2createdatabase数据库名连接到数据库后,用db2get

12、dbcfgfordatabase查看一下maxappls和avg_appls的数值。用db2updatedbcfgfordatabaseusingmaxapplsnumber试试把maxappls设置得更大些。-db2给数据库更改表名的命令:renametablerep_data_04torep_data_04_20210528-linux系统下重启db2数据库的命令db2forceapplicationsalldb2stopdb2startdb2backupdbsampleonalldbpartitionnums重启成功-db2只能增加字段的长度varchar和另外两个不能dorp掉字段,只

13、能drop掉表,新建表导入数据修改字段的命令:altertablelog_data_11ALTERnm_repSETDATATYPEvarchar(200);-统计字段的出现一样值的行数的sql-selectcount(formula)assum,formulafromcode_formulagroupbyformula1.从命令窗口创立一个名为newinst新实例db2icrtnewinst2.在这个新实例newinst中,使用默认值创立一个名为newdb的数据库setdb2instance=newinstdb2startdb2createdatabasenewdb3.列出服务器上所有的实例

14、db2ilist4.转换到DB2实例,并确认转换成功setdb2instance=db2db2getinstance5.把dbmcfg的FEDERATED参数值由NO改为YES并验证修改的结果。db2updatedbmcfgusingFEDERATEDYESdb2forceapplicationsalldb2terminatedb2stopdb2startdb2getdbmcfg6.使用登录操作系统的用户名和密码连接SAMPLE数据库db2connecttosampleuseruserIDusingpsw7.查看当前实例上有多少应用程序在运行db2listapplicationsshowdet

15、ail8.打开另一个DB2命令窗口,不指明用户名和密码连接到SAMPLE数据库。然后查看当前有多少应用连接到该实例上。db2connecttosampledb2listapplications9.强迫关闭一个DB2命令窗口db2forceapplication(application填入程序b2bp.exe的句柄,该值由db2listapplications命令获得)10.删除实例newinsdb2idropnewinst11.删除并重新创立DAS,然后启动DAS。db2adminstopdb2admindropdb2admincreatedb2adminstart12.在您的实例中设置DB2

16、注册变量DB2COMM,使其值为tcpip,npipe。db2setdb2comm=tcpip,npipedb2stopdb2start13.置空DB2COMM注册变量db2setdb2comm=db2stopdb2start14.检查当前dbcfg的LOGSECOND参数,然后将其值设置成5并验证新值db2connecttosampledb2getdbcfgdb2updatedbcfgusingLOGSECOND5db2getdbcf-db2标识列中创立一张表,这张表的一个字段从100开场并且以100增加-CREATETABLEsubscriber(subscriberIDINTEGERGE

17、NERATEDALWAYSASIDENTITY(STARTWITH100INCREMENTBY100),firstnameVARCHAR(50),lastnameVARCHAR(50)在这个例子中,列subscriberID是INTEGER类型,被定义为标识列并且是常规定义。其值将从100开场,按增量100增加-序列对象产生整个数据库的一个唯一值。跟标识列不一样的是,序列独立于数据表。下面提供一个例子:CREATETABLEt1(salaryint)CREATESEQUENCEmyseqSTARTWITH10INCREMENTBY1NOCYCLEINSERTINTOt1VALUES(nextv

18、alformyseq)INSERTINTOt1VALUES(nextvalformyseq)INSERTINTOt1VALUES(nextvalformyseq)SELECT*FROMt1SALARY-1011123record(s)selected.SELECTprevvalformyseqFROMsysibm.sysdummy11-db2move工具Export,Import和Load每次都只对一个表进行操作。但是您若使用它们来写一段脚本,就可对一个数据库中的所有的表进行操作。另一个工具db2move能够更方便地完成同样的工作。db2move工具只兼容IXF格式的文件,而且IXF文件的名字

19、由db2move自动生成。下面的例子展示怎么样使用db2move并结合export和import选项来对SAMPLE数据库进行整体操作。导出db2movefaldbexport-uslsadmin-pslsadmin导入db2movefaldbimport-uslsadmin-pslsadmin导出固定schema的语句如下db2movetyfx(db)export-sndsp(schema)-udsp-pdsp-db2load-下面的例子将IXF格式的employee.ixf文件里面的所有数据导入到表employee_copy。REPLACE是LOAD工具所提供的诸多选项之一。它表示将替换e

20、mployee_copy表中的所有数据。LOADFROMemployee.ixfOFIXFREPLACEINTOemployee_copy执行完上面的命令后,该表进入检查暂挂状态。这时您必须运行SETINTEGRITY命令来检查数据的一致性,下面是执行SETINTEGRITY的例子:SETINTEGRITYFORemployee_copyALLIMMEDIATEUNCHECKE-给用户赋权的命令-DBADMDataBaseADMinistrator是数据库的超级用户。它不是实例层次的权限,所以它没有在前一节中列出,要想授予DBADM权限,使用GRANT语句,如下面的例子所示:connectto

21、samplegrantDBADMondatabasetouseruserid-假如您想要备份udep数据库到途径/home/db2inst1/backup,您能够在DB2Window/Linux命令行解释器中执行这条命令-db2BACKUPDBsampleTOC:BACKUPS;例如:db2backupdbudepto/home/db2inst1/backup/compress备份的文件构造如下备份完成之后,假如要发生重大灾难,如:DB2DROPDATABASEUDEP然后数据库就不存在了,进行数据恢复如下:命令如下:db2restoredbudepincrementalfrom/home/d

22、b2inst1/backuptakenat20160525204710-查询的db2的版本的命令-SELECTservice_level,fixpack_numFROMTABLE(sysproc.env_get_inst_info()asINSTANCEINFO-linux上新安装的DB2-db2查看修改端口号db2安装完成后,tcp/ip连接端口默以为50000,可通过下面的方法确认:1、使用命令db2getdbmcfg找到SVCENAME查找到TCP/IP服务名2cto2、到系统配置文件里找到servicename对应的portnumberwindows:查看c:windowssystem

23、32driversetcservicesaix:查看/etc/services如下:DB2_DB260000/tcpDB2_DB2_160001/tcpDB2_DB2_260002/tcpDB2_DB2_END60003/tcpdb2c_DB250000/tcp-1,先切换到db2inst1用户下,su-db2inst12,查看当前活动的实例db2ilist3,切换到当前实例下,setdb2instance=实例4,在该实例下创立数据库-DB2数据库一旦创立就无法再修改字符集的编码方式了。-能够在创立的时候指定字符集,如下指定为GBK:-createdbSRCDBusingcodesetGBK

24、territoryCNdb2createdatabasecustrisk5,为该数据库创立用户和密码用户名和密码不要超过8个字符,用户名不能大写useraddcustriskpasswdcustrisk输入密码:custrisk创立完成后创立schema,命令如下CONNECTTOUDEPUSERdsp;-DDLStatementsforSchemas-CREATESCHEMADSPAUTHORIZATIONDSP-创立完成之后必须从起server才能够用创立的用户连接该数据库6,创立缓冲池-先连接db2db2connecttocustriskdb2createbufferpooludeptm

25、p32kallnodessize9060pagesize32k/100*1024%327,创立表空间db2createregulartablespaceeastsppagesize32kmanagedbydatabaseusing(file/home/db2inst1/east5g)bufferpooludeptmp32k命令创立临时表空间db2createUSERTEMPORARYTABLESPACETEMPSPACE2pagesize32kmanagedbydatabaseusing(file/home/db2inst2/faldbtemp2g)bufferpoolfaltmp32k命令创

26、立系统表空间db2createsystemTEMPORARYTABLESPACETEMPSPACE3pagesize32kmanagedbydatabaseusing(file/home/db2inst2/faldbtemp32g)bufferpoolfaltmp32k8,把表空间赋给用户db2grantuseoftablespaceTEMPSPACE3touserslsadmin9,没有什么默认的表空间创立表的时候必须指定如:createtabletest(useridvarchar(5),usernamevarchar(20)incustrisk-创立缓冲池:createbufferpoo

27、ldsppoolsize1000pagesize32k;createtablespacenewtbspagesize32kmanagedbysystemusing(file/home/db2300M)bufferpooldsppooldb2listtablespaces;db2listtablespacescontranersfor44为上边查出的id=DB2创立触发器的例子=-建表语句CREATETABLEWANGZSTABLE(IDINTEGERNOTNULL,NAMEVARCHAR(20)NOTNULL,AGEVARCHAR(20)NOTNULL,STATUSVARCHAR(10),CR

28、EATETIMETIMESTAMP,UPDATETIMETIMESTAMP,SENDTIMETIMESTAMP)select*fromwangzsTable;insertintoWANGZSTABLE(id,name,age)values(1,wangzs1,26updateWANGZSTABLEsetstatus=4whereid=1;-update更新特定状态status=4DROPTRIGGERWANGZS_UPDATECREATETRIGGERWANGZS_UPDATEAFTERUPDATEOFSTATUSONWANGZSTABLEREFERENCINGOLDASOLDROWNEWAS

29、NEWROWFOREACHROWMODEDB2SQLBEGINATOMICIF(NEWROW.STATUS=4)THENupdatewangzsTablesetUPDATETIME=CURRENTTIMESTAMPwhereid=NEWROW.id;ENDIF;END;-update更新特定idDROPTRIGGERWANGZS_UPDATECREATETRIGGERWANGZS_UPDATEAFTERUPDATEOFSTATUSONWANGZSTABLEREFERENCINGOLDASOLDROWNEWASNEWROWFOREACHROWMODEDB2SQLBEGINATOMICupdatewangzsTablesetUPDATETIME=CURRENTTIMESTAMPwhereid=NEWROW.id;END;-insertDROPTRIGGERWANGZS_INSERTCREATETRIGGERWANGZS_INSERTAFTERINSERTONWANGZSTABLEREFERENCINGNEWASNEWROWFOREACHROWMODEDB2SQLBEGINATOMICupdatewangzsTablesetCREATETIME=CURRENTTIMESTAMPwhereid=NEWROW.id;END;=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁