DB2-常用命令介绍(unix)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、查看表空间:db2 list tablespaces [show detail] show detail的话,会看到表空间的大小。 由于db2数据库是分区的,这个命令看到的就是在当前节点上的所有表空间上的信 息。
让 中 国 移 动 BI 腾 飞
常用命令:
4、查看容器:db2 list tablespace containers for 2 [show detail] 其中2是表空间的id号(syscat.tablespaces),这个命令可以看到在当前节点上 本表空间是由哪些容器组成的。Show detail可以看到容器大小
让 中 国 移 动 BI 腾 飞
常用命令:
19、检查资源占用情况: 先用ps aux|sort +4n找出占用内存最大的进程号 再使用db2pd -alldbp -db sdcrm -age -app -tra -act -dyn,查找进程号,对应 的apphandle 20、查看其他节点情况: 先切换到其他节点:export DB2NODE=2 是上述命令生效:db2 terminate
21:db2建自增列: create table dept (deptno smallint not null generated always as identity (start with 500, increment by 1), deptname varchar (36) not null );
让 中 国 移 动 BI 腾 飞
'database' from syscat.dbauth union 'table ' from syscat.tabauth union 'package ' from syscat.packageauth 'index ' from syscat.indexauth union 'column ' from syscat.colauth union 'schema ' from syscat.schemaauth 'server ' from syscat.passthruauth
DB2常用命令介绍
山东经营分析 滕玉涛
亚信科技(中国)有限公司
让
中
国
软
件
影
响
世
界
让
中 国 移 动 BI 腾 飞
常用命令:
1、查看版本:db2level 如: [db2inst1@PROJSer] /db2home/db2inst1> db2level DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09014 with level identifier "01050107". Informational tokens are "DB2 v9.1.0.4", "s080122", "U815768", and Fix Pack "4a". Product is installed at "/opt/IBM/db2/V9.1".
2、查看库中所有表:db2 list tables for all 现在大家常用的lstab其实就是db2 list tables 检查数据库中是否存在一个表:lstab|grep -i dw_product_ms 如果单独查看属主是db2inst1的表:db2 list tables for schema db2inst1
31:显示用户数据库的存取权限 :db2 get authorizations
32:数据库帮助:db2 “? SQL1297N” 说明:sql报错的时候,一般会有个报错代码,如果不清楚什么原因的话可使 用上面的命令查看原因
让
中 国 移 动 BI 腾 飞
常用命令:
33:使用操作系统命令 :!+操作系统命令 db2 "!echo aaaaa"
让
中 国 移 动 BI 腾 飞
常用数据类型:
让
中 国 移 动 BI 腾 飞
常用命令:
15、查看正在被锁的表条数: db2 "select count(*),current timestamp from dw_call_dt with UR“ 常用场景:日志满了,该表在回退,但不知道还有多少条才回退完成,可用上 述命令查看一下。 16、修改字段类型: db2 alter table map_product_brand alter column product_name set data type varchar(64)
让
中 国 移 动 BI 腾 飞
常用命令:
22:建立别名 create alias tmp_aaa for asiainfo.dual;
23:建立视图: create view v_dw_product_ms as select * from dw_product_ms; 24:建立触发器 CREATE TRIGGER tr_test AFTER DELETE ON dual FOR EACH ROW MODE DB2SQL insert into test values(substr(old.tabschema,1,8),substr(old.tabname,1,10)) 25:建立唯一性索引 create unique index idx_test on test(id);
让
中 国 移 动 BI 腾 飞
常用命令:
8、检查连接情况:db2 list applications[show detail]
9、杀掉数据库连接:db2 "force application(xxxx)“ 10、查看数据库锁的情况:db2 get snapshot for locks on sdcrm 现在常用的命令db2locks2是这样写的: export DB2NODE=1;db2 terminate >/dev/null;db2 get snapshot for locks on sdcrm|/db2home/asiainfo/zoufan/temp/see_lock 原理即:先将本连接的节点切换到节点1(默认登录后视节点0),然后 terminate后生效,然后通过snapshot将本节点的锁找出来。 11、查看某一个连接信息:db2 get snapshot for application agentid 4 其中4即为db2 list applications的时候的appl handle 这样可以看到很多有用信息,常用的一个是查看连接操作记录数: db2 get snapshot for application agentid 4|grep ^Rows 12、查看表结构:db2look -d sdcrm -e -t dw_product_ms –c 现在系统里有个alias:dblook+表名即可
常用系统视图:
表 SYSCAT.TABLES 列 SYSCAT.COLUMNS 视图 SYSCAT.VIEWS 检查约束 SYSCAT.CHECKS 检查约束引用的列 SYSCAT.COLCHECKS 关键字中使用的列 SYSCAT.KEYCOLUSE 数据类型 SYSCAT.DATATYPES 函数参数或函数结果 SYSCAT.FUNCPARMS 参考约束 SYSCAT.REFERENCES 模式 SYSCAT.SCHEMATA 表约束 SYSCAT.TABCONST 触发器 SYSCAT.TRIGGERS 用户定义函数 SYSCAT.FUNCTIONS
让 日志插入: update command options using c off; alter table temp_table locksize table; alter table temp_table activate not logged initially; insert into temp_table select * from cdr_call_20050922; commit;
13、load的时候有换行符的方法: laod from /asiainfo/bass1/tmp/bass1_selfverf_template.del of del modified by coldel0x09 DELPRIORITYCHAR replace into bass1_selfverf_template (verf_id,verf_subject,if_numbers,if_names,verf_desc); 14、Sql优化:dynexpln -d sdcrm -f tmp.sql -z @ tmp.sql为脚本名称,里面的结束符为@ 主要看cost参数大小和是否能用到索引
5、数据库授权: db2 grant all on db2inst1.dw_product_ms to user asiainfo db2 grant select/alter/insert/update on db2inst1.dw_product_ms to user asiainfo 6、客户端配置: 节点编目:db2 catalog tcpip node newdw1 remote newdw1 server 50000 数据库编目:db2 catalog db sdcrm as crm32 at node newdw1 7、查看数据库实例配置:db2 get dbm cfg 查看数据库配置:db2 get db cfg for sdcrm 说明:由于db2是一个实例可以管理多个数据库的模式,所以db的配置只对本 数据库生效,而dbm的配置则对其管理的所有数据库都生效
28:将表锁住: 独占锁:lock table test in exclusive mode 共享锁:lock table test in share mode 29:查看现在的节点目录:db2 list node directory 30:查看现在的数据库目录:db2 list db directory
26:查看表结构 db2 describe table user1.department db2 describe select * from user.tables
让 中 国 移 动 BI 腾 飞
常用命令:
27:查看表的索引 db2 describe indexes for table asiainfo.dw_product_ms
34:数据类型转换:cast 如:select cast(id varchar(1000)) from dual 上面的命令等同于:select varchar(id,1000) from dual 35:检索具有特权的所有授权名 select distinct grantee, granteetype, select distinct grantee, granteetype, select distinct grantee, granteetype, union select distinct grantee, granteetype, select distinct grantee, granteetype, select distinct grantee, granteetype, union select distinct grantee, granteetype, order by grantee, granteetype, 3
17、查看一个表load的行数: db2 load query table asiainfo.tmp_table 常用场景:查看一个在load的表已经入库多少条了。 18、外键问题: 表STAT_REPFIELD_DEF有外键在STAT_FIELDUNIT_DEF上, STAT_REPFIELD_DEF表load后需要做: SET INTEGRITY FOR STAT_REPFIELD_DEF FOREIGN KEY,STAT_FIELDUNIT_DEF CHECK IMMEDIATE UNCHECKED