db2_db2 linux - CSDN
db2 订阅
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。DB2除了可以提供主流的OS/390和VM操作系统,以及中等规模的AS/400系统之外,IBM还提供了跨平台(包括基于UNIX的LINUX,HP-UX,SunSolaris,以及SCOUnixWare;还有用于个人电脑的OS/2操作系统,以及微软的Windows 2000和其早期的系统)的DB2产品。DB2数据库可以通过使用微软的开放数据库连接(ODBC)接口,Java数据库连接(JDBC)接口,或者CORBA接口代理被任何的应用程序访问。 展开全文
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。DB2除了可以提供主流的OS/390和VM操作系统,以及中等规模的AS/400系统之外,IBM还提供了跨平台(包括基于UNIX的LINUX,HP-UX,SunSolaris,以及SCOUnixWare;还有用于个人电脑的OS/2操作系统,以及微软的Windows 2000和其早期的系统)的DB2产品。DB2数据库可以通过使用微软的开放数据库连接(ODBC)接口,Java数据库连接(JDBC)接口,或者CORBA接口代理被任何的应用程序访问。
信息
开发商
IBM
软件授权
专业版 免费版
软件名称
DB2
更新时间
2013年6月
软件版本
V10.5
软件平台
Unix,Windows,Linux
软件语言
sql
DB2版本
DB2有众多的版本,或者是许可证。为了弱化“版本”的概念增强可选择性,IBM允许客户不购买他们不需要的特性。示例版本包括Express、Workgroup和Enterprise版本。基于Linux/UNIX/Windows的最复杂的版本是DB2 Data Warehouse Enterprise Edition,缩写为DB2 DWE。这个版本的偏重于混合工作负荷(线上交易处理和数据仓库)和商业智能的实现。DB2 DWE包括一些商务智能的特性例如ETL、数据发掘、OLAP加速以及in-line analytics。DB2 Everyplace主要用于移动计算。 DB2(3张) 移动计算的真正力量并不在于移动设备本身,而是在于能够利用来自其他来源的数据。DB2 Everyplace 不仅仅是一种移动计算基础设施。它是一个完整的环境,包含了构建、部署和支持强大的电子商务应用程序所需的工具。DB2 Everyplace 提供一个“指纹” 引擎(大约200 KB),其中包含所有的安全特性,比如表加密和提供高性能的高级索引技术。它可以在当今最常见的各种手持设备上顺利地运行(提供多线程支持),比如:Palm OS、Microsoft Windows Mobile Edition、任何基于Windows 的32 位操作系统、Symbian、QNX Neutrino、Java 2 Platform. Micro Edition(J2ME)设备(比如RIM 的Blackberry pager)、嵌入式Linux 发布版(比如BlueCat Linux)等等。DB2 Personal EditionDB2 Personal Edition(DB2 Personal)是单用户RDBMS,运行于低价的商用硬件桌面计算机上。DB2 Personal 包含DB2 Express 的所有特性,但是有一个例外:远程客户机无法连接运行这个DB2 版本的数据库。DB2 Express - CDB2 Express - C 其实 不算是DB2 系列的一个版本,但是它提供了DB2 Express 的大多数功能。2006 年1 月,IBM 发布了这个特殊的DB2 免费版本,可以用于基于Linux 和Windows 的操作系统。DB2 Express EditionDB2 Express Edition(DB2 Express)是一种功能全面的支持Web 的客户机/服务器RDBMS。DB2 Express 可以用于基于Windows 和Linux 的工作站。DB2 Express 提供一个低价的入门级服务器,主要用于小型企业和部门的计算任务。DB2 Workgroup EditionDB2 Workgroup Edition(DB2 Workgroup)和DB2 Express Edition 功能相同,只是在服务器上可以安装的内存和价值单元(等于一个服务器处理器核心的能力)数量方面有区别。DB2 Enterprise EditionDB2 Enterprise Edition(DB2 Enterprise)是一种功能全面的支持Web 的客户机/服务器RDBMS。它可以用于所有支持的UNIX 版本、Linux 和Windows。DB2 Enterprise 适合作为大型和中型的部门服务器。DB2 Enterprise 包含DB2 Express 和DB2 Workgroup 的所有功能,还添加了其他功能。Data Enterprise Developer EditionData Enterprise Developer Edition(DEDE)是为应用程序开发人员提供的特殊版本。这个版本提供了几个信息管理产品,使应用程序开发人员可以对应用程序进行设计、构建和建立原型,产生的应用程序可以部署在任何IBM 信息管理软件客户机或服务器平台上。在DB2 9 中,这个软件包已经取消了,由DB2 Express - C 取代。
收起全文
精华内容
参与话题
  • DB2的数据库、实例的概念一个DB2实例可以同时管理多个数据库(DataBase)。 MySQL数据库:物理操作系统文件或其他形式文件类型的集合。在 MySQL 数据库中,数据文件就是我们才学习的frm,MYD,MYI,ibd 结尾的文件。 ...

    DB2的数据库、实例的概念

    一个DB2实例可以同时管理多个数据库(DataBase)。

    • MySQL数据库:物理操作系统文件或其他形式文件类型的集合。在 MySQL 数据库中,数据文件就是我们才学习的frm,MYD,MYI,ibd 结尾的文件。
    • MySQL实例:MySQL 实例则是由后台线程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享,需要注意的是,数据库实例才是真正用于操作数据库文件的,数据库文件不是用编辑器,vim 这些来玩的,而是靠登录实例来操作的。MySQL 比较简单,实例与数据库的关系通常是一一对应的。
    • DB2数据库:数据库包含许多逻辑对象和物理对象。表、索引等数据库对象;缓冲池、日志文件、表空间;物理存储、表空间容器、目录、文件系统或裸设备

    • DB2实例:从DB2的体系结构方面来看,实例实际上就是DB2的执行代码和数据库对象的中间逻辑层。实例可以看成是关于所有的数据库及其对象的逻辑集合,实例为数据库运行提供一个环境。

    • DB2数据库和实例之间的区别:数据库是物理的,我们的表、索引存放在数据库中要占物理存储的;而实例是逻辑的,是共享内存、进程和一些配置文件(实例目录)的集合。

    DB2存储模型

    DB2利用一个逻辑存储模型和一个物理存储模型来处理数据。

    这里写图片描述

    DB2的逻辑存储模型

    图的上半部分主要展示了逻辑存储模型:
    1. 实例中管理着数据库;
    2. 一个数据库中有很多表空间,可以把数据库看成是很多个表空间的集合;
    3. 表空间中存放多个表(或索引)

    DB2的物理存储模型

    图的下半部分:
    表空间物理上对应着若干个表空间容器,表空间可以跨许多个容器。表通过 表空间实实在在地将数据存放到容器(文件或者目录)中。

    数据库的物理存储

    • 操作系统的最小存储单位是块(block),Linux/Unix 上最小的块是512字节;
    • 数据库中的最小存储单位是数据页(datapage),DB2数据库有4KB,8KB,16KB和32KB几种数据页;
    • 操作系统的页是4KB;
    • extent是整数倍的datapage的大小,这个整数倍数在创建表空间时使用extentsize来指定;
    • 表空间容器由多个extent(区)组成;
    • 表空间又由很多容器组成;
      表空间、容器、extent和数据页之间的关系
      表空间>表空间容器>extent区>数据页datapage
      这里对比一下MySQL的存储:
      表空间>段segment >extent区>数据页page
      MySQL innoDB的存储

    DB2写容器的过程

    我们创建的表最终是存储在底层表空间容器上的,那么DB2是如何写容器的呢?
    这里写图片描述
    表空间是由很多容器组成的,我们每次写容器的时候,写的单位为一个扩展数据块extent。extent由32个数据页组成(默认的extentsize为32),而数据页是I/O的最小单位

    看下面的图,这幅图显示了具有两个4KB页扩展数据块(extent)大小的HUMANFRES表空间,它有四个容器,每个容器有少量已分配的扩展数据块(extent)。
    department和employee表各有7页,且跨所有4个容器。一个extent同时只能被一个表写,也就是说,不可能两张表同时共用一个extent,因为写容器的最小单位是extent,当我们往表中插入数据发现没有空间时,DB2就会为该表分配一个extent。

    表空间中的容器、扩展数据块(extent)、数据页(datapage)和表空间之间的关系

    DB2的表空间

    通过上面的描述,我们发现在数据库的物理存储和逻辑存储模型中,表空间链接了物理存储模型和逻辑存储模型,其扮演了一个承上启下的角色。
    - 在逻辑上,它向上面对的是数据库,向下它是存放表的容器,面向的是表;
    - 同时表空间又在物理上映射底层的表空间容器——物理存储。

    表空间是数据库调优的重点,数据库创建的绝大部分都是围绕着表空间进行的。

    展开全文
  • DB2简介

    千次阅读 2018-11-09 18:24:06
    DB2是IBM的数据库产品,现在较常用的版本是DB2 UDB (DB2 Universal Database). DB2的客户端也有图形界面的管理工具.哎这年头啥软件都想着使用户用着方便点,人天生的视觉动物啊,记那么多的命令行命令可没可视化界面来...

    Intro

    DB2是IBM的数据库产品,现在较常用的版本是DB2 UDB (DB2 Universal Database). DB2的客户端也有图形界面的管理工具.哎这年头啥软件都想着使用户用着方便点,人天生的视觉动物啊,记那么多的命令行命令可没可视化界面来的爽啊.

    DB2客户端最主要的界面工具叫Control Center,打开之后公看到左边有啥All Systems,All Databases,右击那个All Databases,点击Add Databases.输入Hostname,也就是Server所在机器的IP或机器名,点击Search,会自动查询到数据库名并在下面的列表中显示,选中一个点击OK,会提示输入用户名与密码.输入后连接成功就会在左边看到Database的相关信息,下面有啥Tables,Views,Triggers.

    如果要输入SQL的话,点击工具栏上的Command Editor.在Target那个地方点击Add,添加一个Database,选中某个Database再输入用户名密码.

     

    话说现在虽然也有很多非关系型数据库,熟称NoSQL数据库,比如MongoDB,Redis之类的.不过占主流的地位的还是关系型数据库.关系型数据库说的通俗点嘛就是数据在逻辑上用表(table)表示.所有数据都是存储在表中.所有关系型数据库都基本上支持那些标准的,常用的SQL语句.当然每种数据库还会有自己扩充的一些SQL.

    常见的关系数据库有:Oracle ,SQL Server , DB2, Sybase, MySQL,PostgreSQL.

    这些数据库里肯定都有Table,View这两个东东的.这也是数据库中最简单但也是最核心的内容.其他啥存储过程,触发器,备份,权限控制啥的都是围绕着表和视图打转转.

    除SQL Server只能安装在windows上外,上面其他提到的数据库都能装在windows上和linux,Unix上.

    展开全文
  • DB2、Oracle、mysql和sql server区别

    万次阅读 多人点赞 2017-05-12 08:31:30
    DB2、Oracle、mysql和sql server区别
    首先这句话有点道理:教学用sqlserver,自己玩用mysql,想玩高端大气就db2,想花钱买放心家省心就用oracle!
    在学校里学习的是sqlserver,然后自己学习开发的时候,用的是mysql,操作简单,安装简单,部署一个简单项目很适用,然后工作的时候用的都是DB2和Oracle了,当然我的项目设计到的都是银行金融行业的。
     性能对比

          平台:
          Mysql、oracle、DB2都是可以在当下几乎所有主流平台上使用的;
          而sql server只能在windows平台,没有丝毫的开放性;

          安全性:
          sql server没有获得任何的安全认证;
          oracle、DB2都获得了最高级别的ISO标准认证;

          性能:
          sql server在多用户时性能不佳
          DB2适用于数据仓库和在线事物处理性能较高
          oracle性能最高

          可操作性:
         sql server操作简便,但只有GUI;
         oracle操作比较复杂,同时有GUI与命令行操作,windows.NT及unix下一样;
         DB2及mysql操作比较简单,同时有GUI与命令行,windows.NT及unix下一样;


    table操作
    1,增加列:相同
      alter table test add mail varchar(128);
    2,删除列:
      oracle 与mysql相同:alter table test drop column mail;
      db2 :alter table test drop column mail 删除列后需要reorg table(重组表)
    3,更改列名
      oracle : alter table test rename column mail to mail2;
      mysql : alter talbe test change mail mail2 varchar(128);
      db2 : 不提供更改列名功能(解决办法同删除,或者通过建立一个新视图解决)
    4,更改列类型
      oracle :alter table test modify column (mail2 integer);
      mysql :alter table test modify column mail2 integer;
      db2 :alter table test alter mail varchar(256) 只可以加宽,不能更改类型
    5,更改列的限制(主键、非空)
      db2 :alter table test alter mail null/not null;
      mysql :alter table test modify mail2 varchar(29) not null;
      oracle:alter table test modify mail2 null/not null;
    展开全文
  • DB2 常用执行语句及命令

    千次阅读 2018-07-16 16:03:56
    【运行】中输入 db2cw 或 db2cmd 进入 DB2 CLP,db2ce 进入命令编辑器,db2cc进入控制中心---------------------------------------------------------------------------------------------...
    
    --Title:DB2 常用命令
    --Date:2008-6-26
    --注:在【开始】->【运行】中输入 db2cw 或 db2cmd 进入 DB2 CLP,db2ce 进入命令编辑器,db2cc进入控制中心
    ---------------------------------------------------------------------------------------------------------------------------------------------
    1.数据库的启动、停止
        db2start --启动
       db2stop [force] --停止

    2.与数据库的连接、断开
       db2 CONNECT TO DBName [user UserID using PWD] --建立连接
        db2 CONNECT reset /db2 disconnect CURRENT --断开连接

    3.实例的创建、删除
    db2icrt < 实例名称 > --创建 db2 实例
    db2idrop < 实例名称 > --删除 db2 实例
    SET db2intance=db2 --设置当前 db2 实例
    db2ilist --显示 db2 拥有的实例

    4.节点、数据库的编目
    db2 list node directory --查看本地节点目录
    db2 catalog tcpip node <node_name> remote <hostname|ip_address> server <svcname|port_number> ostype <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX> --编目一个TCP/IP节点
    db2 uncatalog node <node_name> --取消节点编目
    db2 catalog DATABASE <db_name> AS <db_alias> AT node <node_name> --编目数据库
    db2 uncatalog DATABASE <db_name> --取消数据库编目

    5.表空间的创建、删除
    db2 CREATE BUFFERPOOL STMABMP IMMEDIATE SIZE 25000 PAGESIZE 8K --创建缓冲池STMABMP
    db2 DROP tablespace STMABMP --删除表空间
    db2 CREATE REGULAR TABLESPACE STMA PAGESIZE 8 K MANAGED BY SYSTEM | DATABASE
          USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8 OVERHEAD 10.5
          PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL STMABMP DROPPED TABLE RECOVERY OFF
          --在D:\DB2Container\Stma下创建系统/数据库管理表空间STMA
    db2 BACKUP DATABASE 数据库别名 TABLESPACE 表空间名 [ONLINE} TO 介质名 --表空间的备份
    db2 list tablespaces show detail --列出所以表空间信息
    db2 list tablespace containers for SpaceID --列出对应表空间的容器详情

    --修改表空间

    ALTER TABLESPACE 表空间名 RESIZE(FILE '已满的容器名' 更改后容器的大小)

    ALTER TABLESPACE 表空间名 EXTEND(FILE '已满的容器名' 准备增加的大小) --可以是实际大小或者页数

    eg:db2 "alter tablespace HTDC_INDEX EXTEND(file '/home/db2admin/dbback/db2containner/htdc/index/htdc_index' 1024M)" --(unix系统)将DMS HTDC_INDEX 在扩大1G

    6.数据库的创建、删除
    db2 CREATE db DBName [using codeset GBK territory CN] --创建数据库
    db2 DROP db DBName --删除数据库
    db2 list db directory --列出所有数据库目录(包括远程编目的数据库)

    db2 list db directory ON location --如Windows下的C: ,Unix下的/home/db2inst1(本地数据库)

    db2 list active databases --列出活动的数据库和连接数

    7.表的创建、删除
    DROP TABLE TableName ; --删除表
    CREATE TABLE TableName
    ( 字段名 数据类型 ,
    PRIMARY KEY (字段名)
    )IN Space1 INDEX IN Space2 ; --创建表(表空间Space1存放数据,Space2存放索引)

    ALTER TABLE TableName VOLATILE CARDINALITY; --将表TableName设置为易失表

    db2 list tables ;
    db2 list tables FOR USER /ALL /system / SCHEMA SchemaName [show detail] ;
    --列出数据库中的表如果没有指定任何参数,则缺省情况是列出当前用户的表

    db2 describe TABLE TableName ;

    db2 describe SELECT * FROM tables ; --查看表结构


    8.索引的创建、删除
    DROP INDEX Index_Name ; --删除索引
    CREATE INDEX Index_Name ON TableName(F1) ; --对表TableName的F1字段创建索引Index_Name
    db2 describe indexes FOR TABLE TableName ; --查看表TableName的索引

    db2 describe indexes FOR TABLE TableName show detail;
    db2 SELECT INDNAME,COLNAMES FROM syscat.indexes WHERE tabname = 'TableName';

    9.视图的创建、删除
    DROP VIEW ViewName ; --删除视图
    CREATE VIEW ViewName(×,××) AS SELECT ×,×× FROM TableName WHERE ×××; --创建视图

    10.数据库的备份、恢复(详见浅谈IBM DB2的数据库备份与恢复一文)

    --离线备份
    db2 force applications all --断开所有连接

    db2 force application(h1,h2……) --杀死与欲备份数据库相连接的进程
    db2 backup db DBName [to d:\db2_backup] [use TSM] --离线备份
       --在线、增量备份
    --前提:更改数据库参数 logretain, userexit, trackmod 为 on,之后数据库处于backup pending状态,要完全离线备份数据库一次,之后就可以进行在线、在线增量备份了。
    db2 update db cfg using logretain on userexit on trackmod on --启用相关参数

    --归档路径
       DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 DISK:D:\DB2\ IMMEDIATE

    --LOGARCHMETH1参数改成TSM
        DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 TSM IMMEDIATE

    db2 backup db DBName [to d:\db2_backup] [use TSM] --离线备份
    db2 backup db DBName online [to d:\db2_backup] [use TSM] --在线线备份
    db2 backup db DBName online incremental [to d:\db2_backup] [use TSM] --在线增量备份

    --数据库恢复

    db2 restore db DBname [incremental] [FROM d:\db2_backup][use TSM] taken AT YYYYMMDDHHMMSS

      --恢复 (时间戳记:YYYYMMDDHHMMSS)
    db2 list history backup [since YYYYMMDDHHMMSS] ALL FOR DBName

       --查看 [从YYYYMMDDHHMMSS] 对DBName的备份情况
        db2 ROLLFORWARD DATABASE DBName TO END OF LOGS AND COMPLETE NORETRIEVE--将暂挂的数据恢复到前滚状态
    db2 ROLLFORWARD DATABASE DBName TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH ("C:\DBName.0\SQLOGDIR")

    db2 CONNECT TO DBName
    db2 prune history YYYYMMDDHHMMSS --删除DBName YYYYMMDDHHMMSS之前的备份记录

    11.数据的导出、导入
    --导出
    db2 EXPORT TO D:\TableName.txt OF del SELECT * FROM SCHEMA.TableName --文本格式

    db2 EXPORT TO D:\TableName.csv OF del SELECT * FROM SCHEMA.TableName --csv可转为excel
    db2 EXPORT TO D:\TableName.ixf OF ixf SELECT * FROM SCHEMA.TableName

    --导出数据(IXF 集成通用交换格式)
    db2 EXPORT TO "D:\TableName.data" OF IXF MESSAGES "D:\TableName.msg" SELECT * FROM SCHEMA.TableName;
    --导入
    db2 IMPORT FROM D:\TableName.txt OF del INSERT INTO SCHEMA.TableName
    db2 IMPORT FROM "D:\TableName.data" OF IXF [MESSAGES "D:\TableName.msg"] [COMMITCOUNT 1000] INSERT/CREATE INTO SCHEMA.TableName;
    db2 IMPORT FROM "D:\TableName.ixf" OF IXF [COMMITCOUNT 1000] INSERT/INSERT_UPDATE/CREATE/REPLACE/REPLACE_CREATE INTO SCHEMA.TableName;

    IMPORT FROM file_name OF file_type MESSAGES message_file
    [ INSERT | INSERT_UPDATE | REPLACE | REPLACE_CREATE | CREATE ]
    INTO target_table_name

    *INSERT 选项将导入的数据插入表中。目标表必须已经存在。
    *INSERT_UPDATE 将数据插入表中,或者更新表中具有匹配主键的行。目标表必须已经存在,并且定义了一个主键。
    *REPLACE 选项删除所有已有的数据,并将导入的数据插入到一个已有的目标表中。
    *使用 REPLACE_CREATE 选项时,如果目标表已经存在,则导入实用程序删除已有的数据,并插入新的数据,就像 REPLACE 选项那样。如果目标表还没有定义,那么首先创建这个表以及它的相关索引,然后再导入数据。正如您可能想像的那样,输入文件必须是 PC/IXF 格式的文件,因为那种格式包含对导出表的结构化描述。如果目标表是被一个外键引用的一个父表,那么就不能使用 REPLACE_CREATE。
    *CREATE 选项首先创建目标表和它的索引,然后将数据导入到新表中。该选项惟一支持的文件格式是 PC/IXF。还可以指定新表所在表空间的名称(IN datatbsp INDEX IN indtbsp)。

    12.存储过程的编译与运行
    db2 -td@ -vf ProcedureName.sql/.db2 --编译
    db2 call ProcedureName --运行

    13.批处理文件
    db2 -tvf FileName.sql

    14.快速清除、装入大表数据
    ALTER TABLE TableName activate NOT logged initially WITH empty TABLE ; --不记日志

    DECLARE C1 CURSOR FOR SELECT × × × × FROM TableName1;
    LOAD FROM C1 OF CURSOR INSERT INTO TableName2(××××) nonrecoverable; --不记日志

    DB2 LOAD QUERY TABLE SCHEMA.TableName; --查看目标表load状态(正在装入/正常)

    15.优化表
    select 'runstats on table DB2ADMIN.'||rtrim(name)||' and indexes all;'
    from sysibm.systables
    where creator = 'DB2ADMIN' and Type = 'T'; --获取优化语句

    db2 runstats on table DB2ADMIN.TableName and indexes all; --优化语句

    16.应用连接
    db2 list application(s)[ FOR db DBName ] [show detail] --返回关于当前连接的应用程序的信息
    db2 force application (h1 [,h2,..,hn]) --根据句柄号与特定应用程序断开连接
    db2 force application all --断开所有应用程序与数据库的连接
    db2 terminate --结束命令行对话

    17. 设置联合数据库为可用(默认联合数据库不可用)
    db2 update dbm cfg using federated yes

    18.创建临时表空间
    db2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000) EXTENTSIZE 256

    19.创建临时表
    DECLARE GLOBAL TEMPORARY TABLE 语句来定义临时表。DB2的临时表是基于会话的,且在会话之间是隔离的。当会话结束时,临时表的数据被删除,临时表被隐式卸下。对临时表的定义不会在SYSCAT.TABLES中出现.
    eg: DECLARE GLOBAL TEMPORARY TABLE SESSION.Temp_K_Cig (Cig varchar(20)) WITH REPLACE NOT LOGGED on commit preserve rows;

    20.修改日志文件大小、数目
    db2 UPDATE DB CFG FOR DBName USING LOGFILSIZ 6000 ; --日志文件大小
    db2 UPDATE DB CFG FOR DBName USING LOGPRIMARY 5 ; --日志文件数目
    db2 UPDATE DB CFG FOR DBName USING LOGSECOND 25 ; --辅助日志文件数目

    21.如何重新启动数据库?
     db2 RESTART DB DBName ; --重新启动数据库
     db2 ACTIVATE DB DBName ; --激活数据库
     db2 DEACTIVATE DB DBName ; --停止数据库

    22.查看错误代码
     db2 ? SQL *** eg:DB2 ? SQL803
     db2 ? db2-command -- 关于指定命令的帮助
     db2 ? help --有关阅读帮助屏幕的指示信息
     db2 ? OPTIONS -- 关于所有命令选项的帮助

    23.如何关闭表的日志
    ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INIALLY

    24.测试SQL的执行性能
    db2batch -d DB_NAME -f select.sql -r benchmark.txt -o p3 --select.sql是select语句写在文件中

    25.查看当前应用号的执行状态
    db2 get snapshot for application agentid 299 |grep Row

    26.如何修改缓冲池
    db2 alter bufferpool ibmdefaultbp size 10240

    27.如何知道DB2的数据类型
    select * from sysibm.sysdatatypes

    28.如何知道BUFFERPOOLS状况
    select * from sysibm.sysbufferpools

    29.查询出用户表
    SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'

    30.如何知道当前DB2的版本
    select * from sysibm.sysversions

    31.如何知道TABLESPACE的状况
    select * from sysibm.SYSTABLESPACES

    32."SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019"的解决办法
    (1).License到期,在命令行下用 db2licm -l 查看是否到期;
    (2).用来启动服务的用户名或密码错误,(如我们更改了登录系统的密码),解决办法(Windows系统):在控制面板->管理工具->服务中对相关DB2服务选项【属性】中修改【登录】的用户名或密码。

    33.表空间、表大小计算

    表空间:页大小(字节)*总页数
    :(1):runstats 之后,用select npages from syscat.tables where TABNAME='TableName'得到npages,再用npages×表空间页大小
           (2):在控制中心中,选择要查看的表,选择“估计大小”查看,索引大小同.

    34。查看某模式下的表

    db2 list tables for schema <schema name>

    or

    all table information is stored in syscat.tables view
    db2 select * from syscat.tables where tabschema=<schema name>
    or simply
    db2 select * from syscat.tables order by tabschema, tabname

    similarly, all column information is stored in syscat.columns
    db2 select * from syscat.columns where tabname=<table name>

    35.查看存储过程信息

    SELECT * FROM SYSCAT.PROCEDURES;
    --如查看DB2ADMIN模式下的存过名称、编号、建立时间等
    SELECT PROCNAME,PROCEDURE_ID,CREATE_TIME,TEXT
    FROM SYSCAT.PROCEDURES
    where procschema='DB2ADMIN'

    36.系统表中查看表、索引、表空间信息

    --索引的名称、所属表、表空间
    SELECT name,creator,tbname,tbcreator,colnames,colcount,tbspaceid,
           uniquerule,iid,create_time
    FROM sysibm.sysindexes [WHERE NAME LIKE 'IDX_%'];
    --索引信息
    select * from sysibm.sysindexcoluse [where indname like 'IDX_%']

    --表信息
    SELECT name,creator,colcount,tbspace,index_tbspace,ctime
    FROM sysibm.systables [WHERE NAME LIKE '%2007%'];

    SELECT * FROM syscat.tables;
    SELECT * FROM sysibm.systables ;

    --表空间信息
    SELECT * FROM sysibm.systablespaces;
    SELECT * FROM syscat.tablespaces;

    --查找数据库管理表空间(DMS)
    SELECT TBSpace FROM syscat.tablespaces WHERE TBSpaceType = 'D' ;

    --视图信息
    SELECT * FROM sysibm.sysviews;
    --查看表的数据表空间、索引、索引表空间
    SELECT c.TbName,c.tbspace,c.IndName,d.tbspace
    FROM
         (SELECT a.NAME TbName,a.tbspace tbspace,b.NAME IndName,b.tbspaceid tbspaceid
          FROM sysibm.systables a,
              sysibm.sysindexes b
          WHERE a.name=b.tbname [AND   a.NAME LIKE 'K_%']
          ) AS c LEFT JOIN sysibm.systablespaces d
    on c.tbspaceid = d.tbspaceid ;


    SELECT c.TbName 表名,c.tbspace 数据表空间,c.IndName 索引,d.tbspace 索引表空间
    FROM
         (SELECT a.NAME TbName,a.tbspace tbspace,b.NAME IndName,b.tbspaceid tbspaceid
          FROM sysibm.systables a JOIN
              sysibm.sysindexes b
          on a.name=b.tbname [ AND a.NAME LIKE 'K_%' ]) AS c LEFT JOIN sysibm.systablespaces d
    on c.tbspaceid = d.tbspaceid ;

    37.db2look 导出脚本信息

    可用于导出表、索引、试图、存过、触发器等脚本,可在命令行下用db2look ?查看相应参数信息。
    如:
    db2look -d DBTEST -z DB2ADMIN -e -c >db2look_db2admin.sql
    db2look -d DBTEST -z DB2ADMIN -e -c -o db2look_db2admin.sql
    db2look -d DBTEST -z DB2ADMIN -i db2admin -w db2icss -e -c - o db2look_db2admin.sql

     

     

    ALTER TABLE 表名  ALTER COLUMN "字段名"
        SET DATA TYPE VARCHAR (200);

    展开全文
  • DB2重要概念(一)

    万次阅读 2018-08-21 10:27:52
    DB2是IBM推出的第二个关系型数据库,所以称为db2。 实例和数据库的关系 实例也叫DatabaseManager。 数据库是指数据的物理存储。 实例和数据库的关系:实例开启才能访问数据库。 实例是一组进程和一组共享内存。 ...
  • 下列都是DB2完全版包含补丁的地址 ,包含必备和并存补丁(稍后可取消选择不需要的补丁) DB2 8.2
  • DB2最全命令大全(转)

    千次阅读 2018-09-20 22:03:45
    db2 list tablespaces show detail 1.2查看数据库的表死锁 方法一: 打开监控 db2 update monitor switches using lock on 查看锁表 db2 get snapshot for locks on 数据库名称 db2 "force application ...
  • DB2的下载、安装

    千次阅读 2018-07-03 18:45:51
    test1
  • db2从建库到使用

    千次阅读 2018-11-13 15:38:20
    使用docker启动db2 使用root用户添加用户: $ useradd -g users -d /home/audit -s /bin/bash -m budget $ passwd budget 输入密码 切换用户: $ su db2inst1 创建数据库: $ db2 "create db netwisd...
  • DB2(关系型数据库)

    千次阅读 2018-09-16 15:58:44
    1、 打开命令行窗口   #db2cmd  2、 打开控制中心   # db2cmd db2cc  3、 打开命令编辑器  ... 如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop...
  • DB2数据库下载(v9.7/v10.5/v11.1)

    万次阅读 2020-09-10 14:21:59
    DB2是IBM一种分布式数据库解决方案。说简单点:DB2就是IBM开发的一...目前,DB2数据库有如下一些版本:(比如DB2 for Unix,DB2 for Windows,DB2 for AS/400,DB2 for OS/390等)。 以下链接为DB2 数据库的各个版本下...
  • linux 查看线程信息

    万次阅读 2011-01-05 09:24:00
    在linux操作系统中可以使用ps -eLf命令来查看线程信息: 下面的数据为db2数据库的db2sysc进程中所包括的线程: 192.168.100.228 [sde ~]$ ps -eLf |grep db2sysc|grep -v grep .csharpcode, .csharpcode pre {...
  • Linux系统DB2数据库安装手册

    万次阅读 2018-11-22 15:52:04
    1. 下载网址 ... 2. 安装DB2 2.1 下载解压安装包 wget ftp://public.dhe.ibm.com/software/hk/cobra/db2exc_970_LNX_x86_64.tar.gz mkdir -p /home/db2 tar -zxvf db2exc_970_LNX_x86_...
  • 如何查看DB2监听的是哪个端口

    万次阅读 2010-12-29 08:21:00
    使用DB2的客户端连接DB2的服务器端的时候,必须要知道DB2的服务器端在监听者哪个端口,但是很多情况下客户是并不知道这个端口,因为DB2是IBM或者代理商安装的。 DB2的监听端口跟Oracle是一样的,也是实例级别的端口...
  • DB2版本查看

    万次阅读 2017-05-18 09:15:59
    DB2版本查看
  • db2查询前10条记录

    万次阅读 2015-11-03 15:43:39
    select * from table fetch first 10 rows only;
  • Linux下 DB2 创建用户和设置权限

    万次阅读 2013-04-23 21:24:38
    DB2没有数据库级别的用户,只能使用操作系统级别的用户。 # useradd db2inst2 使用root添加用户db2inst2 # passwd db2inst2 修改db2inst2的密码 # su - db2inst1 切换db2inst1(实例创建者或者使用可以设置...
  • db2look 用法

    万次阅读 2013-07-17 22:41:04
    一、db2look 语法如下: 二、例子  其中 数据库名:sample 用户:db2admin 模式名:db2admin 1.db2look -d sample -u db2admin -e -o db2look.sql  -- 这将生成由用户db2admin 创建的所有表和联合对象的...
  • db2修改用户密码

    万次阅读 2012-05-13 15:39:55
    语法:   connect to user using new confirm   ... connect to neu user db2admin using db2admin    数据库连接信息    数据库服务器 = DB2/NT 9.5.0  SQL 授权标识
  • DB2 修改表字段长度

    万次阅读 2016-09-23 15:36:26
    ALTER table 【table】alter column 【column】 set data type VARCHAR(50);   reorg table 【table】;
1 2 3 4 5 ... 20
收藏数 145,842
精华内容 58,336
关键字:

db2