db2 常用SQL

4 篇文章 0 订阅
3 篇文章 0 订阅

Windows下执行:
db2cmd
db2
CONNECT TO GDHTCMS USER zhyxdb USING zhyxdb //连接对应数据库

执行sql

查询所有表信息
select * from sysibm.systables where type=’T’ and creator=’DB2ADMIN’ ORDER BY NAME

–修改序列重新开始的值
ALTER SEQUENCE 序列名 RESTART WITH 下一值

–赋予用户DB2权限
db2 connect to gdhtcms—连接到sample数据库
db2 grant connect on database to user zhyxdb—赋予test用户sample数据库的connect权限
db2 connect reset–关闭连接

GRANT DBADM WITHOUT DATAACCESS WITHOUT ACCESSCTRL ON DATABASE TO USER “zhyxdb ” ;
GRANT DATAACCESS ON DATABASE TO USER “zhyxdb ” ;
GRANT ACCESSCTRL ON DATABASE TO USER “zhyxdb ” ;
COMMIT WORK;
CONNECT RESET;

–db2查询所有表中记录数大于0的表
select tabname,card from syscat.TABLES where card >0 and tabschema = ‘ZHYXDB’ and tabname not like ‘%XD’;

查看缓冲池大小
db2 ‘select bpname,pagesize,npages from syscat.bufferpools’

1、命令查看你的bufferpool总大小(前提,连接数据库 connect to GXCSP)
db2 ‘select bpname,pagesize,npages from syscat.bufferpools’
2、在保证所有bufferpool总合不超过1G的情况下,尽量增加buffer的大小,调整bufferpool的大小。
db2 ‘alter bufferpool ibmdefaultbp size 51200’
这时会报错,其实缓冲区已经修改成功。SQL20169W The buffer pool is not started. SQLSTATE=01654
3、重启数据库即可(关闭数据库,启动数据库)

查询表所用表空间
select table_name 表名 ,tablespace_name 所使用表空间 from user_tables;

设置oracle rownum兼容
db2set DB2_COMPATIBILITY_VECTOR=1
db2set -all
db2 force applications all
db2stop
db2start

sqlcode 3107
export LANG=zh_CN.GBK

导出数据(去掉db2 可以当做sql来执行)
db2 export to filename of ixf messages msgname select * from table_name //filename:文件路径及文件名

导入数据(去掉db2 可以当做sql来执行)
db2 import from filename of ixf messages msgname replace into table_name

导出数据库的所有表数据(db2cmd 下执行 cd到执行目录后执行)
db2move xwhtcms export -u xhyxdb -p xhyxdb 【常用】
-sn 指定 schema
db2move xwhtcms export -sn DB2ADMIN -u db2admin -p db2admin

导入数据库所有的数据(db2cmd 下执行 cd到执行目录后执行)
db2move dbname import -io replace -u userid -p password 【常用】

生成数据库的定义
db2look -d db_alias -a -e -m -l -x -f -o db2look.sql

创建数据库(db2cmd 下执行)
db2 create db test1

删除数据库(db2cmd 下执行)
db2 “drop db gdhtcms2”
删除该数据库目录

查看现有数据库(db2cmd 下执行)
db2 list db directory

执行sql脚本(db2cmd 下执行 cd到执行目录后执行)
db2 -tvf db2look.sql

生成定义【生成建表语句,表结构、索引、视图、序列、函数等】 (db2cmd 下执行 cd到执行目录后执行)
db2look -d databasename -a -e -i username -w password -o db2.sql //测试可行
db2look -d xwhtcms -u db2admin -e -o db2look.sql //测试不通
-z 指定schema
db2look -d xwhtcms -u db2admin -z DB2ADMIN -e -o db2look.sql

db2重装恢复数据库
db2 catalog db xwht on E:\db2_dir\XWHT
DB20000I CATALOG DATABASE 命令成功完成。
DB21056W 直到刷新目录高速缓存之后,目录更改才生效。
db2 terminate

db2查看连接状态(db2cmd下执行)
db2 list applications show detail

清空数据库的语句,将执行结果再次执行
select ‘truncate table ’ || table_schema||’.’||table_name ||’ immediate;’ from sysibm.tables where table_schema=’XWDB’

select ‘UPDATE ‘||table_name ||’ SET ‘|| column_name ||’=IN_CIF_NAME_NEW WHERE CIF_NO=IN_CIF_NO;’ from sysibm.columns where table_schema = ‘XWDB’ and column_name like ‘%CIF_NAME%’;

设置结束符
db2set db2options=-td;
执行sql脚本
db2 -td; -cf xxx.sql

Windows 下: db2 -td; –设置以分号为SQL语句的结束符号
UNIX下 : db2 -t; –设置以分号为SQL语句的结束符号
解锁
reorg table cif_corp_adm
db2move cayh export -u cayh -p cayh

db2move cayh import -io replace -u db2admin -p db2admin

select ‘CREATE SEQUENCE ‘||SEQNAME||’ AS INTEGER MINVALUE ‘||MINVALUE||’ MAXVALUE ’
||MAXVALUE||’ START WITH ‘||START||’ INCREMENT BY ‘||INCREMENT||’ CACHE ‘||CACHE||’ NO CYCLE NO ORDER;’ FROM SYSCAT.SEQUENCES WHERE OWNER=’CAYH1’

查询表空间使用情况
select substr(tbsp_name,1,20) as TABLESPACE_NAME,substr(tbsp_content_type,1,10) as TABLESPACE_TYPE,sum(tbsp_total_size_kb)/1024 as TOTAL_MB,
sum(tbsp_used_size_kb)/1024 as USED_MB,sum(tbsp_free_size_kb)/1024 as FREE_MB,tbsp_page_size AS PAGE_SIZE
from SYSIBMADM.TBSP_UTILIZATION group by tbsp_name,tbsp_content_type,tbsp_page_size
  order by 1

db2 command options

GRANT CONTROL ON PACKAGE NULLID.DB2L0K05 TO USER db2admin
GRANT BIND,EXECUTE ON PACKAGE NULLID.DB2L0K05 TO USER db2admin WITH GRANT OPTION

zip -r temp.zip temp

linux平台数据库备份:

db2 backup db cmsdev TO “/xwdb/test_gd/backup/”
恢复:
db2 restore db cmsdev incremental automatic from /db2 taken at 20170405163557

修改日志

先将事务显式终止:使用commit或rollback命令
db2 rollback
DB20000I SQL 命令成功完成。
查找当前的日志信息:
db2 get db cfg for ceshi
………………
日志文件大小(4KB)
(LOGFILSIZ) = 1024 *****************需要修改
主日志文件的数目
(LOGPRIMARY) = 13 *****************需要修改
辅助日志文件的数目
(LOGSECOND) = 4 *****************(是否要修改根据具体情况而定)
………………
修改相关的参数:
db2 update db cfg for ceshi using LOGFILSIZ 2048
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所
有应用程序都与此数据库断开连接之后,更改才会生效。
db2 update db cfg for ceshi using LOGPRIMARY 20
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所
有应用程序都与此数据库断开连接之后,更改才会生效。

db2stop force
2007-09-14 14:38:41 0 0 SQL1064N DB2STOP 处理成功。
SQL1064N DB2STOP 处理成功。

db2start
2007-09-14 14:38:45 0 0 SQL1063N DB2START 处理成功。
SQL1063N DB2START 处理成功。

db2 “delete from aa where aa_num=’2’”

DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0964C 数据库的事务日志已满。 SQLSTATE=57011

db2 update db cfg for ceshi using LOGSECOND 5
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。
db2 get db cfg for ceshi
………………
日志文件大小(4KB) (LOGFILSIZ) = 2048
主日志文件的数目 (LOGPRIMARY) = 20
辅助日志文件的数目 (LOGSECOND) = 4

归档模式:
db2 update db cfg for test using LOGARCHMETH1 disk:c:\db2\archive\
DISK:/archlog/

du -ah –max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值