DB2简要介绍目录制作者:Paolo.Wang(一)DB2实例1.创建和删除实例DB2实例是一个逻辑的数据库服务器环境.每个实例可以单独作为一个DB2服务器对外提供服务.可以把实例看作管理对数据库文件的访问权的服务或守护进程。一台服务器机器上可定义多个实例。每个实例相互独立,即所有实例都可单独管理、操作和调优。换句话说,实例可以理解为数据库的容器,同时它管理着属于它的数据库.我们通过实例对数据库进行操作和管理.创建实例的命令:以fedoracore系统为例:以root用户执行删除实例命令:以fedoracore系统为例:以root用户执行$cd/opt/IBM/db2/V8.1/instance$./db2icrt–u用户名instance_name$cd/opt/IBM/db2/V8.1/instance$./db2idropinstance_name-f断开所有连接,然后删除实例2.实例的启动和停止3.其它实例级命令1)列出服务器上存在的DB2实例2)列出当时使用的实例$db2ilistdb2inst1paolo$db2getinstanceThecurrentdatabasemanagerinstanceis:db2inst1$db2start2005-11-0822:06:2100SQL1063NDB2STARTprocessingwassuccessful.SQL1063NDB2STARTprocessingwassuccessful.[db2inst1@bytest~]$psuxUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDdb2inst1278780.710.512231220044pts/1S22:060:00db2sysc$db2stop2005-11-0822:05:4900SQL1064NDB2STOPprocessingwassuccessful.SQL1064NDB2STOPprocessingwassuccessful.$db2stopforce断开所有连接和进程.强行停止当前实例4.DAS实例DAS是数据库管理服务器(DatabaseAdministratorServer)的缩写.DB2(R)管理服务器(DAS)是一种控制点,可以为远程客户端提供建立通信以便存取DB2服务器实例所需要的信息。如果要使用提供的工具(如“配置助手”、控制中心或开发中心),则必须有一个正在运行的DAS.它是一个驻留在数据库服务器上的特殊实例.DAS允许使用DB2工具对服务器上的数据库进行本地和远程管理,事实上,为了利用这些工具,DAS实例必须存在并被启动.创建DAS实例删除DAS实例启动DAS在管理服务器用户下,本例为db2usr1.停止DAS在管理服务器用户下,本例为db2usr1.$cd/opt/IBM/db2/V8.1/instance$./dascrt-uusername$cd/opt/IBM/db2/V8.1/instance$./dasdrop$db2adminstart$db2adminstop5.身份验证三种类型的客户端●不受信任的客户端●受信任的客户端●主机客户端DB2服务器端验证类型●SERVER●SERVER_ENCRYPT●CLIENT●KERBEROS●KRB_SERVER_ENCRYPT在服务器上:每个实例只允许有一种认证类型。这意味着设置对在该实例下定义的所有数据库起作用。在数据库管理器配置文件中用名为AUTHENTICATION的参数指定认证类型。db2updatedatabasemanagerconfigurationauthenticationauth_type在客户机上:在客户机上编目的每个数据库都有用catalogdatabase命令指定的自己的认证类型。db2catalogdatabasedb_nameatnodenode_nameauthenticationauth_typeCLIENT选项该选项允许认证在客户机上进行。当用户成功登录到客户机时,无须询问密码就可以与数据库建立连接。有些客户机系统没有可靠的安全性工具(如Windows9x和传统的MacOS),理解这一点很重要。这些客户机系统被称为不可信的客户机。任何对这些系统有访问权的人无需任何认证也可以与DB2服务器连接。谁知道他们会执行什么样的破坏性操作(例如,删除数据库)呢?为了提供允许可信的客户机自行执行认证同时强制不可信的客户机在服务器上接受认证的灵活性,所以引入了另外两个数据库管理器配置参数:●TRUST_ALLCLNTS●TRUST_CLNTAUTH请注意,仅当认证被设置为CLIENT时,才会对这两个参数求值。TRUST_ALLCLNTS决定哪些类型的客户机是可信的。该参数有以下三个可能值:●YES—信任所有客户机。●NO—只信任有可靠安全性工具的客户机(也就是可信的客户机)。不可信的客户机,必须提供用户名和密码在服务器上进行验证.●DRDAONLY—只信任在iSeries或zSeries平台上运行的客户机(也就是DRDA客户机)。TRUST_CLNTAUTH来指定当在connect语句或attach命令中提供了用户标识和密码时,应该在哪里进行认证。权限权限级别控制执行数据库管理器维护操作和管理数据库对象的能力。在DB2中有五种权限:编目数据库无论是存取本地还是远程的数据库,都要用到DB2目录中记录的信息.有了DB2目录,用户在存取数据库时并不需要知道数据库驻留的位置,只知道名字就可以.编目节点:编目数据库:$db2catalogtcpipnodefxnoderemote10.4.5.28server50000$db2catalogdbdb2fxasdb2aaatnodefxnode(二)设置DB2环境正确设置DB2环境非常重要,因为它控制着DB2的运行与功能。DB2环境由以下部分组成:DB2概要文件注册表操作系统环境变量DB2数据库管理器配置参数DB2数据库配置参数1.设置概要文件注册表DB2配置文件注册表的作用在于统一DB2环境的设置方法,使得很多关键性的控制因素可以集中管理.DB2概要文件注册表是特定于DB2的变量,它影响DB2系统的管理、配置和性能。为使对DB2概要文件注册表所做的更改生效,通常要先停止实例,然后重新启动它。这里简要介绍几个注册项:1)DB2CODEPAGE设置代码页.该注册项适用于所有平台,如果不设定,将根据操作系统的代码页来设定该注册项的值.2)DB2COMM指定了DB2服务器可以使用什么网络协议与客户端交流.●要设置DB2概要文件注册表,使用以下命令:●要列出所有受支持的DB2概要文件注册表,使用以下命令:●要列出在服务器上已经设置的所有DB2概要文件注册表,使用以下命令:$db2setregistry_variable=value$db2set-lr[db2inst1@bytest~]$db2set-all[i]DB2COMM=tcpip[g]DB2SYSTEM=backyard[g]DB2ADMINSERVER=dasusr1列出某一个注册项:$db2setregistry_variable2.设置配置参数●查看数据库管理器配置参数●查看数据库配置参数●设置数据库管理器配置参数●设置数据库配置参数●查看DB2管理器配置参数$db2updatedatabasemanagerconfigurationusingparameternew_value($db2updatedbmcfgusingparameternew_value)$db2updatedatabaseconfigurationfordatabase_nameusingparameternew_value($db2updatedbcfgusingparameternew_value)$db2getdatabasemanagerconfiguration($db2getdbmcfg)$db2getdatabaseconfiguration($db2getdbcfg)$db2getadminconfiguration如果参数不能立即生效,则出现一条警告消息:SQL1362WOneormoreoftheparameterssubmittedforimmediatemodificationwerenotchangeddynamically.ClientchangeswillnotbeeffectiveuntilthenexttimetheapplicationisstartedortheTERMINATEcommandhasbeenissued.ServerchangeswillnotbeeffectiveuntilthenextDB2STARTcommand.3.DB2连接简要的讲,为了连接我们的数据库,需要以下设置:●查看/etc/services文件.找出该文件中”db2c_db2inst150000/tcp”以确定服务名和端口号.●修改相关参数,具体如下:●在命令行连接到实例和数据库1)连接到实例2)连接到数据库●断开数据库的连接$db2setDB2COMM=tcpip$db2updatedbmcfgusingSVCENAMEdb2c_db2inst1(或50000)修改后需要重新启动实例才能生效:$db2stop$db2start$db2attachtoinstance_nameuserusernameusingpassword$db2connecttodb_nameuserusernameusingpasswordnewddfdfdcomfirmdfdfdfdf$db2disconnectdb_name4.其它相关命令介绍●显示当前实例下的所有数据库●显示所有当前连接的应用程序●断开连接数据库的应用程序$db2listdbdirectory$db2listapplications$db2forceapplicationall(三)数据库维护-数据移动DB2中有三种数据移动实用程序可用:●EXPORT●IMPORT●LOAD要确保想要传送的数据与源平台和目标平台都兼容,这一点十分重要。这些实用程序支持的文件格式有:●ASC\●IXF\●DEL\●WSF1.EXPORT实用程序概述EXPORT实用程序使用SQLSELECT语句将数据从数据库表抽取到某个文件中。对于导出的数据而言,其文件格式可以是DEL、IXF或WSF。示例命令:EXPORTTOmyfile.delOFDELMESSAGESmsg.outSELECT*FROMorg.staffWHEREorg.deptnum=staff.dept;2.IMPORT实用程序概述IMPORT实用程序使用文件类型为ASC、DEL、IXF或WSF的输入文件向表中填充数据。示例命令:3.LOAD实用程序概述LOAD实用程序是另一种用数据来填充表的方法,LOAD的源输入的格式可以是DEL、ASC、PC/IXF示例命令:IMPORTFROMfile_nameOFfile_typeMESSAGESmessage_file[INSERT|INSERT_UPDATE|REPLACE|REPLACE_CREATE|CREATE]INTOtarget_table_nameLOADFROMinput_sourceOFinput_typeMESSAGESmessage_file[INSERT|REPLACE|TERMINATE|RESTART]INTOtarget_tablename(四)备份与恢复事务工作单元(unitofwork,UOW),也称作事务,由一个或多个以COMMIT或ROLLBACK语句结尾的SQL语句组成。该UOW中的所有语句都被作为一个单元处理,这确保了数据一致性。用于说明这个概念的典型示例是:客户尝试将100美元从储蓄存款帐户转移到活期存款帐户。这种情况的UOW类似于:DELETE100dollarsfromSAVINGSa