DB2相关笔记 Ι (常用知识点)

DB2相关笔记 Ι (常用知识点)
DB2相关笔记 Ι (常用知识点)

DB2相关笔记 Ι (常用知识点)

1、--db2里面建索引:

CREATE INDEX ALMUSR.IDX_BILL_NO ON ALMUSR.ACC_LOAN

( BILL_NO ASC )

ALLOW REVERSE SCANS

COMPRESS NO;

COMMIT;

--建立唯一性索引

CREATE UNIQUE INDEX I_ztables_tabname ON zjt_tables(tabname);

2、--指定表空间建表

create table INCT_00 (

ACCT_NO CHARACTER(16) not null

,REC_NO CHARACTER(9) not null

,TRAN_TYPE CHARACTER(2)

)

IN USERSPACE8K; --表空间USERSPACE8K

3、表结构导出

db2look

模板:db2look -d database_name [,],注:选项的顺序可以任意

-e:提取数据库对象的DDL语句。

-a:提取用户创建的所有对象的DDL语句。如果这选项与 -e 选项一起指定,则是对数据库中所有的对象都进行处理。

-z:指定schema 模式名的对象。

-t:指定table 一个或多个表对象,表名用空格字符分开。

-l:为用户定义的表空间、缓冲池生成DDL语句

-o:将输出结果写入到一个文件中。

eg:

db2look -d $DB2NAME -t $SCHNAME.$TABNAME -e -o $TABNAME.sql

db2look -d FYMADB -e -t PA_IMPORT_CONF -o FYMA_PA_IMPORT_CONF_DDL.sql

db2look -d FYMADB -e -t FDM_PA_GL -o DB2_20160302.sql

db2look -d FYMADB -t FYMA.FDM_PA_GL -e -o DB2_20160302.sql

db2look -d ALMDB -e -a -l -o db2look_20120924.sql

db2look -d RDMDB -e -a -o db2look_20120101.sql

3、批量数据导入

注意:导入全量表时使用replace,导入增量表时使用insert

db2 connect to FYMADB user fyma using fyma; --连接数据库

(db2 connect reset --重新连接

db2 disconnect db2_gcb --中断数据库连接 )

db2 load from ADM_FTP_TPCOA_RATE.del of del replace into FYMA.ADM_FTP_TPCOA_RATE;

db2 load from ADM_FUND_PACK_DATA.del of del replace into FYMA.ADM_FUND_PACK_DATA;……

4、导出模板

db2 connect to odsdb user prbk using prbk

--导出

db2 export to F_CD_DBC_ODMSA_20121106.dat of del modified by DATESISO coldel0x03 NOCHARDEL "select * from ALMDB.F_CD_DBC_ODMSA" > F_CD_DBC_ODMSA_20121106.log;

--或者

db2 export to F_CD_DBC_ODMSA_20121106.dat of del MODIFIED BY nochardel coldel0x03 datesiso "select * from ALMDB.F_CD_DBC_ODMSA" > F_CD_DBC_ODMSA_20121106.log;

5、数据库配置方面的命令

(1). 检查 DB2 数据库管理程序配置 db2 get dbm cfg

(2). 察看数据库配置参数信息 db2 get db cfg for CRMSDB|more

(3). 更新数据库参数配置信息 db2 update db cfg for CRMSDB using para_name para_value

(4). 查看实例 db2ilist

(5). 数据库节点目录 db2 list node directory

(6). 系统数据库目录 db2 list db directory

(7). 查看命令选项 db2 list command options

(8). 启动实例 停止实例 DB2START db2stop force

6、查看表空间的命令

查看表空间 db2 list tablesapces show detail

查看表空间容器 LIST TABLESPACE CONTAINERS FOR 2

--查看表sql语句

方法一:查看表空间是否已满

select substr(TABLESPACE_NAME,1,20) as TBSPC_NAME

,bigint(TOTAL_PAGES * PAGE_SIZE)/1024/1024/1024 as "TOTAL(GB)"

,used_pages*PAGE_SIZE/1024/1024/1024 as "USED(GB)"

, free_pages*PAGE_SIZE/1024/1024/1024 as "FREE(GB)"

from table(snapshot_tbs_cfg('CRMSDB', -2)) as snapshot_tbs_cfg

方法二 :通过load的第三方工具查看

/home/db2icrms/sqllib/db2dump/db2diag.log

--显示当前用户所有表 db2 list tables

--列出所有的系统表 db2 list tables for system

--------------------------------------------------------

---进程相关命令---

--------------------------------------------------------

7、删除约束(删除表ALMUSR.PUB_CASH_LOAN的约束)

ALTER TABLE ALMUSR.PUB_CASH_LOAN DROP PRIMARY KEY;

删除表ALMUSR.PUB_CASH_LOAN的主键约束PK_M_LOAN

ALTER TABLE ALMUSR.PUB_CASH_LOAN DROP CONSTRAINT PK_M_LOAN;

COMMIT;

8、快速清空表M_LOAN

alter table M_LOAN activate not logged initially with empty table;

9、列出相关进程号、杀进程

db2 list application

db2 force applications (进程号)--kill单个进程 如:db2 force applications (23459)

db2 force application all 所有进程

10、查询表的状态:

db2 load query table tablename;

11、给表或视图赋特权

grant select,delete,insert,update on tables to user

grant all on tables to user WITH GRANT OPTION

12、服务器后台调用存储过程

db2 connect to DMCRMS user crmsapp using crmsapp

db2 "call CRMSAPP.UP_AMT_ADD_NUM_TEST(?)"

如:db2 "call PROC_FDM_CAPITAL_AC_GATHER_D.db2(20160131,?,?,?,?)" --20160131传入参数,?表示输出参数

db2 connect reset

13、在后台运行SQL脚本命令

db2 connect to FYMADB user fyma using fyma --连接数据库

db2 -tvf LRUSR_B_AD_CURVE_ADD_INFO_DATA.sql | tee -a data.log --建表并输出log

db2 -td@ -f PROC_PARTITION_MGR.sql | tee -a proc.log ----在后台编译存储过程或函数并输出log

14、查询schema下表空间下的表

SELECT TABSCHEMA,TABNAME,TBSPACE,INDEX_TBSPACE

FROM SYSCAT.TABLES

WHERE

(TBSPACE in ('USERSPACE1','ODS_TBS_DATA','ALM_TBS_IDX')

OR INDEX_TBSPACE IN ('ALM_TBS_IDX'))

AND TABSCHEMA = 'FYMA'

ORDER BY TBSPACE,INDEX_TBSPACE;

15、查询表涉及的存储过程

select PROCNAME from SYSCAT.PROCEDURES

where SPECIFICNAME in(select dname from sysibm.sysdependencies

where bname in ( select PKGNAME from syscat.packagedep a where a.BSCHEMA='FYMA' and a.BNAME='PDM_PA_SUBJ')) ;

16、修改字段类型

alter table FYMA.FDM_PA_CHECK_RESULT alter column CHECK_RESULT set data type VARCHAR(100);

删除表中字段

alter table [表名] drop column [字段名];

添加表中字段(可无限添加)

alter table [表名] add column [字段名];

为表添加主键约束(该列必须为not null)

alter table [表名] add primary key [字段名1,字段名2等等];

查看表结构命令(如同oracle中的desc tablename)

describe table [tablename];

建表中字段添加注释

COMMENT ON column almusr.MA_JOB_EVENT_CFG.JOB_ID(schema.table.column) is '作业ID';

commit;

更新字段

UPDATE ALMUSR.ADD_MANAGE_PROPERTY SET GL_ACCOUNT_ID='13210101'

WHERE SEQ_NO>15;COMMIT;

17、后台编译和运行存储过程

编译:CM PROC_FDM_PA_CHECK_RESULT_M.db2

运行:db2 "call PROC_FDM_PA_CHECK_RESULT_M('20151031',?,?,?,?)"

注意:PROC_FDM_PA_CHECK_RESULT_M不带db2

18、exist和in的区别

A表大表,B表是小表

子查询是小表时用in效率高

子查询是大表时用exist效率高

例如:表A(小表),表B(大表)1:select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引; select * from A where exists(select cc from B where cc=https://www.360docs.net/doc/f93505658.html,) 效率高,用到了B表上cc列的索引。

19、建SESSION临时表命令

declare global temporary table FDM_PA_AC_TMP_33 like FDM_PA_AC_TMP

not logged with replace on commit preserve rows;

20、快速建表、试图

方法一:create table tmp_2016 like fyma.fdm_pa_check_result;

方法二:create table tmp_20160302 as (select * from fyma.fdm_pa_check_result) definition only;

create table zjt_views as (select * from views) definition only; --视图

21、查询某个表中的前100记录

SELECT * FROM 【tablename】 FETCH FIRST 100 ROWS ONLY ;

22、测试表sysibm.dual

Select * from sysibm.dual;

23、时间处理

SELECT

timestampdiff (256, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔年",

timestampdiff (128, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔季度",

timestampdiff (64, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔月",

timestampdiff (32, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔周",

timestampdiff (16, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔日",

timestampdiff (8, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔时",

timestampdiff (4, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔分",

timestampdiff (2, char(timestamp('2013-12-30 20:30:30') - timestamp('2001-09-26 15:24:23'))) AS "间隔秒"

FROM SYSIBM.SYSDUMMY1;

24、db2中表挂起后解挂

DB2 REORG TABLE [表名];

25、时间算法

values(LAST_DAY(sysdate - 1 months)); -- 上月最后一天

values(LAST_DAY(sysdate - 2 months) + 1); -- 上月第一天

values(LAST_DAY(sysdate)); -- 当月最后一天

values(LAST_DAY(sysdate - 1 months) + 1); -- 当月第一天

26、查看表中数据条数:

select 'select ''' || t.TABLE_NAME ||''',count(*) from ALMUSR.' || t.TABLE_NAME ||' UNION ALL'

from sysibm.tables t

where t.TABLE_SCHEMA='ALMUSR'

and t.TABLE_NAME NOT LIKE 'M_%'

AND t.TABLE_NAME NOT LIKE 'LIQ_RPT%'

AND t.TABLE_NAME NOT LIKE 'PUB_CASH%'

AND t.TABLE_NAME NOT LIKE 'PDM_%'

AND t.TABLE_NAME NOT LIKE '%TEST%'

AND t.TABLE_NAME NOT LIKE '%_TMP';

27、建自动扩展表空间

db2 CREATE LARGE TABLESPACE TBS_ODS_CUR_32K PAGESIZE 32768 managed by automatic storage

AUTORESIZE YES

INITIALSIZE 5G

EXTENTSIZE 64

PREFETCHSIZE 16

BUFFERPOOL BP_RDM_32K

NO FILE SYSTEM CACHING

28、连接数据库

connect to 【dbname】 user 【username】using 【password】;

29、建立数据库DB2_GCB

CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB

USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32

30、为表和视图建别名

CREATE ALIAS DB2ADMIN.TABLES FOR SYSSTAT.TABLES;

CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS

CREATE ALIAS DB2ADMIN.COLUMNS FOR SYSCAT.COLUMNS;

CREATE ALIAS GUEST.COLUMNS FOR SYSCAT.COLUMNS;

31、向表和视图中快速 插入记录

insert into zjt_tables select * from tables;

insert into zjt_views select * from views;

32、建立触发器

CREATE TRIGGER zjt_tables_del

AFTER DELETE ON zjt_tables

REFERENCING OLD AS O

FOR EACH ROW MODE DB2SQL

Insert into zjt_tables1 s(substr(o.tabschema,1,8),substr(o.tabname,1,10))

33、后台查看列

db2 "select SUBSTR(COLNAME,1,20) as orgname,TYPENAME as char,LENGTH as 20 from columns where tabname='tbl_orgdef'";

--查看表结构

db2 describe table uesr.tables;

--查看表的索引

db2 describe indexes for table user.tables;

34、查看存储过程

SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)

FROM SYSCAT.PROCEDURES;

35、字段类型转换cast

ip datatype:varchar

select cast(ip as integer)+50 from tablename;

36、锁等待问题解决方案

select * from sysibmadm.sanplock;

方法1、select agent_id,tabname,lock_mode from table(snap_get_lock('dbname')) as aa; dbname--数据库名

方法2、37、编目节点

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

db2look命令详解

db2look 今天整理了一下db2look命令参数说明 db2look Command syntax | |>>-db2look-- -d--DBname--+-----+--+--------------+--------------> | '- -e-' '- -u--Creator-' | |>--+-------------+--+-------------------------------------+-----> | '- -z--schema-' '-+----------------+--+-------------+-' | | .-------. | '- -tw--Tname-' | | V | | | '- -t----Tname-+-' | |>--+----------------+--+-----+--+------------+--+-----+---------> | | .-------. | '- -h-' '- -o--Fname-' '- -a-' | | V | | | '- -v----Vname-+-' | |>--+-----------------------+--+-----+--+-----+--+------+--------> | '- -m--+-----+--+-----+-' '- -l-' '- -x-' '- -xd-' | '- -c-' '- -r-' | |>--+-----+--+-----------------+--+-----+--+-----+--+-----+------> | '- -f-' '- -td--delimiter-' '- -p-' '- -s-' '- -g-' | |>--+----------+--+----------------------------+-----------------> | '- -noview-' '- -i--userid-- -w--password-' | |>--+------------------+--+---------+---------------------------><

常用命令

服务器开始加电,等待片刻会自动引导操作系统,操作系统初始化完毕后会出现登录界面,输入正确的用户名:root和密码:zclroot就可以进入X 图形桌面环境了。 1.启动应用,数据库和数据交换 1).在数据库(SDB)机器上启动数据交换,在#号切到db2inst1用户: su –db2inst1 dbstart (启动数据库) 2)启动websphere:点击屏幕左下角的终端程序(贝壳状图标),然后在#后面输入 /opt/IBM/WebSphere/AppServer/bin/startServer.sh server1 提示进程号则表示启动成功,大约需要五分钟,注意:最后面是数字1不是字母l,server1前面有个空格,注意大小写字母 注:相应的停止websphere的命令为: #/opt/IBM/WebSphere/AppServer/bin/stopServer.sh server1 注意:如果在启动websphere的时候提示: ADMUO116I:正在文件 /opt/IBM/WebSphere/AppServer/bin/startServer.log 中记录工具信息 ADMUO128I:正在启动具有default概要文件的工具 ADMU3100I:正在从服务器读取配置:server1 ADMU3028I:在端口8880上检测到冲突。可能的原因:a) 已经有一个服务器server1的实例在运行b) 一些其他程序在使用端口8880 ADMU3027E:可能已经有一个服务器的实例在运行:server1

ADMU0111E:由于错误 Com.ibm.websphere.management.exception.AdminExcetption: ADMU3027E: 可能已经有一个服务器的实例在运行:server1 ,程序推出。 ADMU1211I:要获取故障的全部跟踪,使用–trace选项。 此时表示应用W ebsphere已经启动了,不需要再进行启动。 注意:如果在停止websphere的时候提示: ADMUO116I:正在文件 /opt/IBM/WebSphere/AppServer/bin/startServer.log 中记录工具信息 ADMUO128I:正在启动具有default概要文件的工具 ADMU3100I:正在从服务器读取配置:server1 ADMUO509I:无法到达 server “server1”.服务器看上去已经停止。 ADMUO211I:在文件 /opt/IBM/WebSphere/AppServer/bin/stopServer.log 中可以看到错误的信息 表示此时:应用W ebsphere现在处在停止状态,需要启动。 3)在数据库(SDB)机器上启动数据交换,在#号切到db2inst1用户: su –db2inst1 >cd server >showsjjh (查看数据交换,如果有四行表示数据交换已经启动。) > stopsjjh (停止数据交换) >showsjjh (查看数据交换,到没有命令行显示为止) >loadsjjh (启动数据交换) >showsjjh (查看数据交换信息) 出现如上四条信息为正常启动了数据交换 2.重启及开关机命令 #reboot重新启动计算机 #shutdown -r now 重新启动计算机,停止服务后重新启动计算机 #shutdown -h now 关闭计算机,停止服务后再关闭系统 #halt 关闭计算机,强制关闭 一般用shutdown -r now,在重启系统是关闭相关服务,shutdown -h now也是如此。 3.备份 #su –db2inst1 >db2 force applications all (切断目前所有与数据库的连接,可以多执行几次) >db2 backup db sino to /db2log (备份目录) 若备份成功会返回提示,并生成一个时间戳,所谓时间戳就是一串记录当前“年月日时分秒”的数字,形如20070212152930,也包含在新生成的备份文件的文件名里。 压缩命令 tar -cvfz sino20070317(压缩后的文件名).tar.gz 被压缩的文件名

DB2常用SQL语句集

DB2常用SQL语句集 1、查看表结构: describe table tablename describe select * from tablename 2、列出系统数据库目录的内容: list database directory 3、查看数据库配置文件的内容: get database configuration for DBNAME 4、启动数据库: restart database DBNAME 5、关闭表的日志 alter table TBLNAME active not logged inially 6、重命名表 rename TBLNAME1 to TBLNAME2 7、取当前时间 select current time stamp from sysibm.sysdummy1 8、创建别名 create alias ALIASNAME for PRONAME(table、view、alias、nickname) 9、查询前几条记录 select * from TBLNAME fetch first N rows 10、联接数据库 db2 connect to DB user db2 using PWD 11、绑定存储过程命令 db2 bind BND.bnd 12、整理优化表 db2 reorgchk on table TBLNAME db2 reorg table TBLNAME db2 runstats on table TBNAME with distribution and indexes all 13、导出表 db2 export to TBL.txt of del select * from TBLNAME db2 export to TBL.ixf of ixf select * from TBLNAME 以指定分隔符‘|’下载数据: db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode”14、导入表 db2 import from TBL.txt of del insert into TBLNAME db2 import from TBL.txt of del commitcount 5000 insert into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 insert into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 insert_update into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 replace into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 create into TBLNAME (仅IXF) db2 import from TBL.ixf of ixf commitcount 5000 replace_create into TBLNAME (仅 IXF) 以指定分隔符“|”加载:

Linux使用命令行安装DB2【详解】

DB2 ESE V9.7文本方式安装主要流程: (1)解压安装包,检查安装先决条件 (2)执行安装程序 (3)注册license(Express-C版无需注册) (4)创建3个用户组和3个用户,分别是实例用户、受限用户、管理用户 (5)创建一个管理服务器 (6)创建一个实例 (7)配置DB2访问协议 (8)配置DB2实例默认端口号 一、安装前准备工作 1、将下载的安装文件上传到待安装的LINUX 机器,解压缩v9.7_linuxx64_server.tar.gz 文件到某个目录 [root@redflag11012601 app]# ll v*gz -rw-r--r-- 1 root root 810576392 05-03 19:44 v9.7_linuxx64_server.tar.gz [root@redflag11012601 app]# tar xzf v9.7_linuxx64_server.tar.gz 2、解压产生两个目录server和db2 [root@redflag11012601 app]# cd server [root@redflag11012601 server]# ll

总计 64 drwxr-xr-x 6 bin bin 4096 2009-11-16 db2 -r-xr-xr-x 1 bin bin 5340 2009-11-16 db2ckupgrade -r-xr-xr-x 1 bin bin 5293 2009-11-16 db2_deinstall -r-xr-xr-x 1 bin bin 5163 2009-11-16 db2_install -r-xr-xr-x 1 bin bin 5127 2009-11-16 db2ls -r-xr-xr-x 1 bin bin 5145 2009-11-16 db2prereqcheck -r-xr-xr-x 1 bin bin 5145 2009-11-16 db2setup drwxr-xr-x 15 bin bin 4096 2009-11-16 doc -r-xr-xr-x 1 bin bin 5181 2009-11-16 installFixPack server 的子目录有多个可执行的脚本,其中db2prereqcheck是先决条件检查,db2setup 是图形界面安装程序,db2_install是命令行方式安装。还有一个db2目录,保存了需要安装的二迚制文件。 3、执行db2prereqcheck查看是否缺少先决条件 [root@redflag11012601 server]# ./db2prereqcheck 如果没有返回任何结果,表明系统符合DB2 安装的先决条件,可以进入下一步安装。如果返回信息,请按信息提示修改配置,然后再次运行,直到没有错误提示。 二、安装DB2数据库软件

在db2上建立数据库分区的步骤和命令

本文简单介绍了在DB2上建立数据库分区的步骤和涉及到的命令等,供大家参考! AD:创建database partition 1、创建需要建立数据库分区的db instance 可使用命令建立db instance: db2icrt -s ESE -u db2admin,aaa123456 -h ANWENHAO DBINSTANCENAME 创建完成对应的instance 后需要重启DB2。 2、将新建的db instance加入到DB2中: CATALOG LOCAL NODE DB2INST1 INSTANCE DB2INST1 SYSTEM ANWENHAO OSTYPE NT; 3、在命令行中设置当前需要操作的dbInstance。 set db2instance=db2inst1 db2 get instance

db2 attach to db2inst1 4、创建DBPartition db2start dbpartitionnum 1 ADD DBPARTITIONNUM HOSTNAME ANWENHAO PORT 1 COMPUTER ANWENHAO USER db2admin PASSWORD aaa123456 WITHOUT TABLESPACES 5、创建完成后需要重新启动db2。DB2在此时会增加一个database partition并进行redistribution。 以上操作即完成database partition。 创建database partition group CREATE DATABASE PARTITION GROUP "NODE1" ON DBPARTITIONNUMS (1); COMMENT ON DATABASE PARTITION GROUP "NODE1" IS 'ANWENHAO _1';

db2常见考试命令应用考试题

一选择题(每题1.5分,共45分) 1) 下面的哪个数据库版本可以访问OS/390 上的DB2 UDB 数据库? a) DB2 Connect Personal Edition b) DB2 Universal Database Workgroup Edition c) DB2 Personal Developer's Edition d) DB2 Universal Developer's Edition 2) 下面的哪个工具可以编目一个数据库信息? a) Journal 日志工具 b) Alert Center 警告中心 c) License Center 许可证中心 d) Client Configuration Assistant 客户端配置助手 3) 下面的哪个工具可以重组数据回收表中被删除的行所占有的资源? a)reorg b) db2look c) db2move d) runstats 4) USE这个特权的用途是? a) query data in a table. b) load data into a table. c) create tables within a table space. d) create table spaces within a database. 5) 如果创建数据库则需要下面的哪两个权限? a) DBADM b) SYSADM c) DBCTRL d) SYSCTRL e) SYSMAINT 6) 编目一个远程数据库是指: a) 在PC或者Unix 机器上执行编目,目的是为了识别DB2数据库管理器所在的服务器 b) 在PC或者Unix机器上编目,目的是为了让用户和应用程序可以识别DB2数据库 c) 从不在DB2中编目,仅当每个节点上的数据库被允许编目时编目,所以自动编目那个节点就可以自动编目数据库N d) 在PC或者UNIX机器上编目是为了打开在DB2数据库中的目录表,这样当前的用户可以访问这个数据库中的一组可以被访问的数据表。 7) 给出下面的语句

db2 load 命令

当DB2 的数据库启用了前滚恢复模式,即将日志由循环日志方式改为归档日志,以便用户在进行恢复操作时,可在恢复了数据库或表空间的备份后,再通过前滚归档日志中的事务,恢复数据库备份时间点之后提交的事务,最大程度的保护数据库的数据。 而DB2 的LOAD 实用程序为实现快速导入数据的功能,除采用了通过直接向数据库中写入格式化的数据页装载数据,导入过程中不激活触发器,不会检查参考完整性和表检查约束当等方式外,还最小化了记录事务日志的操作。在LOAD 的LOAD、BUILD、DELETE 和INDEX COPY 四个处理阶段中,仅在DELETE 阶段记录对每个删除事件记日志,即只对每个违反唯一约束的行的删除操作记日志,因此整个LOAD 操作仅记录了极少的日志。 由于LOAD 最小化了日志的记录,有因启用了前滚恢复的数据库在恢复在线备份时需要归档日志的特性,对于这种数据库的LOAD 操作,为避免执行LOAD 操作后,表在使用ROLLFORWARD 命令前滚归档日志的过程中因缺少日志而被置为非正常状态,DB2 为LOAD 命令提供了如下选项: ·COPY NO(缺省) ·COPY YES ·NONREVERABLE 为更清楚地说明这些选项的作用,这里将以举例的方式进行说明。而在开始操作之前,首先了解一下DB2 备份操作所产生的映象文件的形式和命名特点: 在UNIX 环境下是文件的形式: Databasealias.Type.Instancename.Nodename.Catnodename.Timestamp.number 在Windows 环境下是子目录及文件的形式: Databasealias.Type\Instancename\Node0000\Catn0000\yyyymmdd\hhmmss.number 而其中的Type 则因备份类型的不同而不同: 0 -- 数据库全备份 3 -- 表空间备份 4 -- 由LOAD 操作产生的备份 1. 进行一次数据库的全备份: 首先对已启用前滚恢复模式的SAMPLE 数据库进行一次全备份: E:\TEST>db2 backup db sample 备份成功。此备份映像的时间戳记是:20051230174105

DB 2 常用命令

DB 2 常用命令 一、加载数据: 1、以默认分隔符加载,默认为“,”号 db2 "import from btpoper.txt of del insert into btpoper" 2、以指定分隔符“|”加载 db2 "import from btpoper.txt of del modified by coldel| insert into btpoper" 二、卸载数据: 1、卸载一个表中全部数据 db2 "export to btpoper.txt of del select * from btpoper" db2 "export to btpoper.txt of del modified by coldel| select * from btpoper" 2、带条件卸载一个表中数据 db2 "export to btpoper.txt of del select * from btpoper where brhid='907020000'" db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'" db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode where codtp='01'" 三、查询数据结构及数据: db2 "select * from btpoper" db2 "select * from btpoper where brhid='907020000' and oprid='0001'" db2 "select oprid,oprnm,brhid,passwd from btpoper" 四、删除表中数据: db2 "delete from btpoper" db2 "delete from btpoper where brhid='907020000' or brhid='907010000'" 五、修改表中数据: db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'" db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'" 六、联接数据库 db2 connect to btpdbs 七、清除数据库联接 db2 connect reset 断开数据库连接 db2 terminate 断开数据库连接 db2 force applications all 断开所有数据库连接 八、备份数据库 1、db2 backup db btpdbs 2、db2move btpdbs export db2look -d btpdbs -e -x [-a] -o crttbl.sql

db2 实战常用命令

db2 force application all –断开所有链接数据库的应用 db2 list application-查看连接数据库的应用 db2 bakup db ksdbs 备份数据库 db2start db2stop启停数据库 db2 connect reset断开所有链接 scp get trans.ini -r back@10.10.9.160/home/back/bccbin \ scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file scp -r ip:/db/dbhome/dbguard 【1】 db2top –d ksdbs db2pd -d ksdbs -stat >stat.log 查看数据库状态(数据超大超详细) 【1】find -type f | xargs dos2unix 遍历格式转换 【1】 find . -name [A-Z]* -print 查找当前目录下以大写字母命名的文件 【1】 >db2ckbkp 检查数据库的完整性 >tee 命令 用途--显示程序的输出并将其复制到一个文件中。 【1】db2 connect reset db2 list directory db2 list active databases db2 get db cfg db2 get db cfg 【1】归档日志 db2 update db cfg for db_name using LOGRETAIN ON 更改归档目录: db2 update db cfg for db_name using LOGARCHMETH1 "disk:/archive/db_name_db_log" 在我重新连接数据库的时候提示: db2 connect to t_1 to mydb SQL1116N A connection to or activation of database "T_1" cannot be made because of BACKUP PENDING. SQLSTATE=57019 网上找了n多最后才知道 若修改数据库LOGRETAIN参数,从循环日志模式改为归档日志模式,则会导致数据库backup pending状态。

DB2常用命令小结

1、打开命令行窗口 #db2cmd 2、打开控制中心 # db2cmd db2cc 3、打开命令编辑器 db2cmd db2ce =====操作数据库命令===== 4、启动数据库实例 #db2start 5、停止数据库实例 #db2stop 如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all 就可以了/db2stop force 6、创建数据库 #db2 create db [dbname] 7、连接到数据库 #db2 connect to [dbname] user [username] using [password]

8、断开数据库连接 #db2 connect reset 9、列出所有数据库 #db2 list db directory 10、列出所有激活的数据库 #db2 list active databases 11、列出所有数据库配置 #db2 get dbcfg 12、删除数据库 #db2 drop database [dbname] (执行此操作要小心) 如果不能删除,断开所有数据库连接或者重启db2 =========操作数据表命令========== 13、列出所有用户表 #db2 list tables 14、列出所有系统表 #db2 list tables for system

15、列出所有表 #db2 list tables for all 16、列出系统表 #db2 list tables for system 17、列出用户表 #db2 list tables for user 18、列出特定用户表 #db2 list tables for schema [user] 19、创建一个与数据库中某个表(t2)结构相同的新表(t1) #db2 create table t1 like t2 20、将一个表t1的数据导入到另一个表t2 #db2 "insert into t1 select * from t2" 21、查询表 #db2 "select * from table name where ..." 22、显示表结构 #db2 describe table tablename 23、修改列

BD2常用命令

DB2 的常用命令: 1,列举出相应的schema下面的所有表。 db2 list tables for schema schemaname 举例:db2 list tables for schema db2admin 2, 列举出当前数据库的目录。 db2 list db directory 举例:db2 list db directory 3, DB2自动增长主键方法 generated always as identity(start with 1,increment by 1) 将一个字段指定为 自增长型字段,放在数据类型后。 举例:crate table students ( sno integer not null primary key generated always as identity (start with 1, increment by 1), sname char(20), sname char(30))

此时插入数据,然后查看结果,sno自动增长1. 4, 数据的导入导出: export to E:\name.txt of del select * from tableName 导出举例1: export to C:\stInfo.ixf of ixf select * from students 导出举例2: 导入举例1: db2 "import from E:\name.txt of del insert into tableName

导入举例2: db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName

DB2数据库基础入门

IBM DB2数据库基础 基本命令集合 1. 建立数据库DB2_GCB CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 2. 连接数据库 connect to sample1 user db2admin using 8301206 3. 建立别名 create alias db2admin.tables for sysstat.tables; CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS create alias db2admin.columns for syscat.columns; create alias guest.columns for syscat.columns; 4. 建立表 create table zjt_tables as (select * from tables) definition only; create table zjt_views as (select * from views) definition only; 5. 插入记录 insert into zjt_tables select * from tables; insert into zjt_views select * from views;

6. 建立视图 create view V_zjt_tables as select tabschema,tabname from zjt_tables; 7. 建立触发器 CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) 8. 建立唯一性索引 CREATE UNIQUE INDEX I_ztables_tabname ON zjt_tables(tabname); 9. 查看表 select tabname from tables where tabname='ZJT_TABLES'; 10. 查看列 select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度 from columns where tabname='ZJT_TABLES'; 11. 查看表结构 db2 describe table user1.department db2 describe select * from user.tables

MSSQL常用命令汇总

首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ?%value1%? ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count(*) as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL 随UNION 一起使用时(即UNION ALL),不消除重

db2中的常用命令及使用方法

db2中的常用命令及使用方法 一高(重要度) 1 启动一个db 2实例使用: net start instanceName 2 停止一个db 2实例使用: net stop instanceName 3 启动配置助手: db2=>!db2ca 4 手工配置连接: db2=>catalog node/db 5 删除视图: db2=>drop view view_name 6 创建表: db2=>create table tablename 7 列出活动的数据库和连接数: db2=>list active databases 8 断开所有应用程序与数据库的连接: db2=> force application all 9 以用户 通过使用密码 与标识为 的远程实例连接: db2=> attach to user using 10 创建名为 的数据库: db2=> create database 11 显式地使数据库失效: db2=> deactivate database 12 根据需要,显式地以用户 和密码 与数据库 连接:db2=> connect to [ [user ] using ] 13 断开与当前数据库的连接: db2=> connect reset 14 列出数据库中的表。如果没有指定任何参数,则缺省情况是列出当前用户的表:db2=> list tables[for {user | all | system | schema }][show detail] 15 显示一个表或视图的列信息: db2=> describe table 16确定是否需要对表进行重组。这对于对所有表自动执行runstats 很有用 db2=> reorgchk on table all 17通过重构行来消除“碎片”数据并压缩信息,对表进行重组 db2=> reorg table 18将数据库数据抽取到一个平面文件中 db2=> export 19通过使用IMPORT 实用程序,将数据导入到数据库 db2=> import 20返回LOAD 实用程序的进度 db2=> load query table [to local-message-file][nosummary | summaryonly] [showdelta] 21 创建索引:

DB2日常维护手册

DB2 日常维护手册

目录 DB2日常维护手册 ............................................................................................................... - 1 - 一、DB2日常维护操作 ............................................................................................ - 1 - 1.检查管理服务器是否启动.................................................................................... - 1 - 2.检查DB2实例是否已经启动 ............................................................................... - 1 - 3.查看表空间状态是否正常.................................................................................... - 1 - 4.查看表的状态........................................................................................................ - 2 - 5.查看磁盘空间........................................................................................................ - 2 - 6.检查存储管理软件是否正常................................................................................ - 2 - 7.检查数据库备份是否正常.................................................................................... - 2 - 8.检查归档日志是否正确归档了............................................................................ - 3 - 9.查看缓冲池的命中率............................................................................................ - 3 - 10.查看当前运行最频繁的SQL,其命中率是否正常 ......................................... - 3 - 11.查看当前连接的应用程序,有没有非法连接 ................................................ - 3 - 12.检查有没有死锁 ................................................................................................ - 3 - 13.对表和索引进行runstats .................................................................................. - 3 - 14.检查表是否需要重组 ........................................................................................ - 4 - 15.对需要重组的表进行重组 ................................................................................ - 4 - 二、DB2日常维护月操作 ........................................................................................ - 4 - 1.查看DB2日志 ....................................................................................................... - 4 - 2.检查备份和日志是否都保存好了........................................................................ - 4 - 三、DB2日常维护季度操作 .................................................................................... - 5 - 1.通过快照监控器,查看系统性能如何 ................................................................ - 5 - 2.数据库补丁级别.................................................................................................... - 5 - 四、注意事项............................................................................................................ - 5 - 1.不要删除活动日志文件........................................................................................ - 5 - 2.注意交易日志存储空间........................................................................................ - 5 - 3.按照系统的实际工作量配置日志空间 ................................................................ - 5 - 4.设置正确数据库代码页........................................................................................ - 6 -

相关主题
相关文档
最新文档