2023年12月6日发(作者:)
IBM DB2学习笔记
DB2数据库的体系结构
在DB2数据库中,最大的概念是系统(节点)也就是主机,系统下面是实例,实例下面是数据库,然后是表空间,然后是数据库对象。
系统:整个DB2环境。
实例:一个逻辑数据库管理器环境,可在其中编目数据库并设置配置参数。根据需要,可创建多个实例。每一个实例都是一个完整的环境,它有独立的安全性,不受同一机器(系统)上其他实例的影响。每一个实例都对应一个实例目录,实例目录存储着与一个实例相关的所有信息。该目录包含:数据库管理器配置文件、系统数据库目录、节点目录、节点配置文件()、包含调试信息的任何其它文件。在Windows操作系统上,该实例目录位于/sqllib子目录,即安装DB2的目录。在安装期间,要创建一个DB2的初始实例,称为“DB2”。
数据库:关系数据库将数据表示成表的集合。表由数目已定的列和任意数目的行组成。
数据库分区组:数据库分区组是一个或多个数据库分区的集合。
(我们一般使用的是单分区数据库,数据库分区组涉及到并行数据库系统,此处我们不详细讨论)
表空间:数据库由称为表空间的部件组成。表空间是用来存储表的位置。当创建表时,您可以决定将特定对象(如索引和大对象 (LOB))数据与其余表数据分开存放。表空间也可以分布在一个或多个物理存储设备上。
启动DB2 db2start
停止DB2 db2stop
有时还存在一些活动,需要强制停止,用db2stop force
信息帮助(db2 ? XXXnnnnn) db2 ? create db2 ? sql1005 查询错误提示 创建数据库
db2 create db mydb2
db2 create db mydb on E: alias(别名) mydb2
连接数据库
db2 connect to ncgl user gever(用户) using gevermis(密码)
只有连接数据库后,才能进行相应的查询、插入等操作
删除某张表
db2 drop table mytable
删除某张表里面的数据
db2 delete from mytable
查询
db2 select * from table_name(sys_parm)
显示当前用户所有表(进行显示之前,先进行数据库的连接)
db2 list tables
显示所有的系统表
db2 list tables for system
查看表结构
db2 describe table mytable(table_name)
查看表空间
db2 list tablespaces
备份数据库
db2 backup db mydb2 to D:
恢复数据库流程
1、恢复数据:
db2 restore db ncgl user gever using gevermis from D:
db2 restore db ncgl user gever using gevermis from D: into myncgl(恢复数据库并重命名为myncgl)
2、回滚log日志:
db2 rollforward db ncgl to end of logs and complete
3、连接查看:
db2 connect to ncgl user gever using gevermis
中断连接
db2 connect reset
db2 disconnect ncgl
db2 force application all(中断所有连接)
列出在活动的数据库和连接数 db2 list active databases
返回当前连接的应用程序的信息 db2 list application 列出数据库系统目录
db2 list db directory
db2 list db directory on D
在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中<数据库>右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。
删除数据库
1、断开连接
db2 disconnect mydb2
2、执行删除
db2 drop db mydb2
清除密码
连接到数据库ncgl:db2 connect to ncgl user gever using gevermis
执行清除密码命令:
db2 update sys_systemuser set password=''where emp_id='0000'
db2 update security_operators set password='' where operator_id='sup'
导出创建表的语句(结果是创建表时的create语句)
db2look –d ncgl –a –e –c –o D: (导出全部表)
db2look –d ncgl -t sys_parm –a –e –c –o D: (只导出sys_parm表)
-d: 数据库名:这必须指定 -t: 表名
导入创建表的语句 db2 –td@ -f D:
(在导入之前首先要删除该表,以免生成重复行。)
导出表数据(结果是表里面的数据)
db2 export to of del select * from sys_parm
导入表数据
1、先删除表里面的数据:db2 delete from sys_parm 2、再把需要的数据导进:db2 import from of del insert into sys_parm
DB2实例操作
1、查看系统实例:db2ilist
2、创建新的实例:db2icrt Myinst(实例名字)
3、连接需要实例:set db2instance=Myinst(实例名字)
4、查看当前实例:db2 get instance
5、删除需要实例:db2idrop Myinst(实例名字)
编目数据库 db2 catalog db ncgl 使用刷新(db2 terminate)后有效
当创建一个新数据库时,会在系统数据库目录文件中自动将它编目。也可以使用catalog db命令在系统数据库目录文件中显式编目数据库。catalog db命令允许用户使用不同的别名来编目数据库。
反编目数据库 db2 uncatalog db ncgl
在重装村管服务器端时,有时会报sql1005错误,说存在重复的数据。
解决方法,进入操作命令常口:db2 list db directory 看是否存在ncgl数据库连接(有本地和远程两种)
如果是远程的直接执行:
db2 uncatalog db ncgl 除去当前连接(实际服务器端还存在ncgl),相当在客户机配置辅助程序中删除ncgl。
db2 terminate 刷新
如果是本地的直接执行:
db2 catalog db ncgl
db2 drop db ncgl
db2 terminate
编目节点
显示节点目录的内容 db2 list node directory
编目远程数据库节点 db2 catalog tcpip node mynode(node_name) remote
192.168.2.38(ip_adds,远程数据库IP) server 50000(server_num)
测试节点 db2 attach to mynode(node_name) user gever(username) using
gevermis(pw)
编目远程数据库到节点上 db2 catalog db ncgl(远程的数据库,不是本地的) at
node mynode(node_name) 数据库管理配置
db2 get dbm cfg(configuration,即配置的意思,得到db2的配置信息)
db2 get db cfg for ncgl (得到数据库ncgl的配置信息)
db2 update dbm cfg using numdb(参数名)18(参数值) (更改db2配置信息)
db2 update db cfg for ncgl using dbheap(参数名)600(参数值)(更改数据库ncgl配置信息)


发布评论