DB2数据库常用语句
1.快速清空大量数据表数据,但是还原不了
alter table rm_customer activate not logged initially with empty table
2.大量导出表语句
select 'db2 export from d:\exportdb\'||tabname||'.dat select * from '||tabname||';' from syscat.tables where TABSCHEMA='DB2ADMIN'
and tabname not in (select tabname from (select a.tabname, a.tbspace, a.npages*b.pagesize/1024.0/1024.0/1024.0 g , a.card --,a.*
from syscat.tables a
left join syscat.tablespaces b
on a.tbspace = b.tbspace
where a.type = 'T'
and a.tabschema = (select current schema from sysibm.sysdummy1
)) a
where a.g>0.05);
3.单表导出语句
db2 "export to FTP_ADJUST_COA.del of del select * from FTP_ADJUST_COA" 当前路径下
4.大量导入表语句
select 'db2 import from d:\exportdb\'||tabname||'.dat of del replace into '||tabname||';' from syscat.tables where TABSCHEMA='DB2ADMIN'
and tabname not in (select tabname from (select a.tabname, a.tbspace, a.npages*b.pagesize/1024.0/1024.0/1024.0 g , a.card --,a.*
from syscat.tables a
left join syscat.tablespaces b
on a.tbspace = b.tbspace
where a.type = 'T'
and a.tabschema = (select current schema from sysibm.sysdummy1
)) a
where a.g>0.05);
5.单表导入语句
db2 import from sm_res_paractrl.del of del insert into sm_res_paractrl 当前路径下
4229 查看表空间
db2 => list tablespaces show detail
从上述错误来看,是表空间NNC_INDEX01表空间被占满了。
看下NNC_INDEX01表空间使用情况:
db2 => list tablespaces show detail
发现可用页数已经变成了0。
查看报错的地方,是一个绑定变量+Batch的操作。insert into IC_ATP_F,这个表有一个主键索引,而批量插入的时候肯定会用到索引表空间。
添加一个容器,alter tablespace nnc_index01 add (file '\db2\nnc_index01_2' 204800)
再次执行,问题解决。
4229 可能日志文件太小
连接目标数据库,执行命令:
1.查看日志大小
db2 get db cfg|find /i "log"
2.修改日志文件大小
db2 update db cfg using LOGFILSIZ 16384
3.修改主日志文件个数
db2 update db cfg using LOGPRIMARY 24
4.修改辅助日志文件个数
db2 update db cfg using LOGSECOND 20
修改后的总大小为:16384*4K*(12+20)=2048M
5.重启数据库
db2stop
db2start
6.检查日志是否修改成功
db2 get db cfg|find /i "log"
db2 -tvf createtb.sql> createtb.log
db2move HKYH import -io replace_create -u db2admin -p db2admin
DB2 SQL Error: SQLCODE=-101, SQLSTATE=54001, SQLERRMC=null, DRIVER=3.63.123
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、重启数据库即可(关闭数据库,启动数据库)
db2 get db cfg|find /i "locklist"
db2 update db cfg using MAXLOCKS AUTOMATIC
db2 update db cfg using LOCKLIST 524288 AUTOMATIC
db2 alter tablespace nnc_index01 add (file 'D:\DB2\NODE0000\FTP63TE\nnc_index01_2' 1G)
db2 alter tablespace nnc_index01 extend (file 'D:\DB2\NODE0000\FTP63TE\nnc_index01_2' 1G)
db2 alter tablespace nnc_index01 reduce (file 'D:\DB2\NODE0000\FTP63TE\nnc_index01_2' 1G)
-- 表分区------
--1 创建具有多个分区键列的 分区表.
drop table tab_partitions
create table tab_partitions (
acct_no varchar(20),
data_date char(10) ,
pk_run char(20) ,
busi_type varchar(3)
)
partition by range (data_date,pk_run)
(
part tab_partition_20150301_1001H610000000000KU3 STARTING ('2015-03-01','1001H610000000000KU3') INCLUSIVE ENDING ('2015-03-01','1001H610000000000KU3') INCLUSIVE,
part tab_partition_20150302_1001H610000000000KU3 STARTING ('2015-03-02','1001H610000000000KU3') INCLUSIVE ENDING ('2015-03-02','1001H610000000000KU3') INCLUSIVE,
part tab_partition_20150301_1001H610000000000KU4 STARTING ('2015-03-01','1001H610000000000KU4') INCLUSIVE ENDING ('2015-03-01','1001H610000000000KU4') INCLUSIVE,
part tab_partition_20150302_1001H610000000000KU4 STARTING ('2015-03-02','1001H610000000000KU4') INCLUSIVE ENDING ('2015-03-02','1001H610000000000KU4') INCLUSIVE
)
-- 2 查看分区表
select *
from syscat.datapartitions a
where a.tabname = upper('tab_partitions')
-- 3 添加分区
alter table tab_partitions add part tab_partition_20150303_1001H610000000000KU3 STARTING ('2015-03-03','1001H610000000000KU3') INCLUSIVE ENDING ('2015-03-03','1001H610000000000KU3') INCLUSIVE
-- 4 拆离分区 (注,分区的拆离是个异步的过程)
alter table tab_partitions detach part tab_partition_20150301_1001H610000000000KU3 into tab_partition_20150301_1001H610000000000KU3
-- 4 拆离分区 (注,分区的拆离是个异步的过程)//db2 97 以后版本,异步处理机制规避,先删除ftp_res_acct_his_bk,然后把ftp_res_acct_his剥离分区成ftp_res_acct_his_bk,下次再删除此表。
alter table tab_partitions detach partition tab_partition_20150301_1001H610000000000KU3 into new_table
drop table new_table
-- SELECT * FROM tab_partition_20150301_1001H610000000000KU3
-- 5 将一个独立的表添加到分区表中
create table tab_partition_01 (
acct_no varchar(20),
data_date char(10) ,
pk_run char(20) ,
busi_type varchar(3)
)
-- 往表里插入数据
insert into tab_partition_01(acct_no,data_date,pk_run,busi_type)
values('20160621122332000001','2015-03-04','1001H610000000000KU3','3')
-- 查看插入的数据
select *
from tab_partition_01
-- 合并表到分区表
ALTER TABLE
tab_partitions ATTACH PARTITION tab_partition_20150304_1001H610000000000KU3 STARTING ('2015-03-04','1001H610000000000KU3') INCLUSIVE
ENDING ('2015-03-04','1001H610000000000KU3') INCLUSIVE
FROM
tab_partition_01
-- 查看分区表
-- 会发现新增加的分区的数据,在分区表中不可见。用最后的语句,执行完整性检查 。
select *
from tab_partitions
-- 查看分区表字典
select b.datapartitionname,b.tabname,b.access_mode,b.status,b.lowvalue,b.highvalue
from syscat.DATAPARTITIONS b
where b.TABNAME = upper('tab_partitions')
-- 执行 设置完整性
set integrity for tab_partitions allow write access immediate checked
>db2 "set integrity for tab_partitions allow write access immediate checked"
-- 6、分区表索引
from t_student m
select *
from syscat.indexpartitions
create index idx1_tab_partitions on tab_partitions (acct_no)
DB2数据库常用语句的更多相关文章
- DB2数据库常用命令数据库学习
DB2数据库常用命令数据库学习你可以用 get snapshot for locks on XXX 看是那个表锁了,再从相关的操作去查原因吧 db2pd -d 库名 -locks和db2pd -d 库 ...
- mysql数据库常用语句
关于mysql数据库常用命令的整理: 一:对于数据库的操作 show databases;显示当前用户下所有的数据库名称 use database_name;进入当前数据库 create databa ...
- DB2数据库常用基本操作命令
点击开始菜单-->所有程序-->IBM-->DB2-->DB2COPY1-->命令行工具-->命令窗口一.DB2实例操作1.查看DB2数据库的版本及安装目录 E:\ ...
- DB2 数据库常用操作【持续更新】
好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...
- mysql数据库常用语句2
关于mysql常用语句的整理,上一篇涉及到ddl.dml以及一些简单的查询语句. 1:mysql分页查询 select * from table_name limit 5,10; 从下标为5元素查 ...
- DB2数据库常用命令
--创建数据库 CREATE DATABASE example AUTOMATIC STORAGE YES --自动存储 ON 'D:\' DBPATH ON'D:\' --指定数据库控制文件的存储路 ...
- sql数据库常用语句总结
1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNc ...
- sqlite数据库常用语句
这个文件型数据库小巧好用,可以替代ACCESS,以下是常用的语句 获取数据库时间(设计表字段时的当前时间默认值) sqlite datetime('now', 'localtime') ...
- oracle数据库常用语句
--查看数据库版本-- select * from product_component_version; -- 查看dbf存放位置 select * from dba_data_files; -- 查 ...
随机推荐
- 7.27实习培训日志-Oracle SQL(三)
Oracle SQL(三) 视图 特性 简单视图 复杂视图 关联的表数量 1个 1个或多个 查询中包含函数 否 是 查询中包含分组数据 否 是 允许对视图进行DML操作 是 否 CREATE [OR ...
- kinect2跑高博的orbslam2的过程(仅供自己参考记录)
首先感谢高博的无私奉献!http://www.cnblogs.com/gaoxiang12/p/5161223.html 程序所在的目录为:/home/zty/catkin_ws/src/iai_ki ...
- 开发一个android项目后的总结
首先是自己在OneNote上面记录了一些流水: 个人感觉这一路开发下来,学到了一些知识,也碰到了许许多多的问题,也解决了一些问题.总体来看,有几点(个人观点,不支持任何讨论): 1.Java是很优秀的 ...
- iphone5 A1429国行IOS8.4.1 越狱 完美使用电信3G
国航 8.4.1,越狱,使用电信3G,能打电话,能发短信,正常上网使.(越狱降级方式,请参照本文末端连接) 有好多人说不管怎么试都是无服务,请查看 设置-蜂窝移动网络-漫游里面,必须只有 语音漫游 这 ...
- gitlab 502解决方案
gitlab突然出现502 尝试gitlab-ctl restart.gitlab-ctl reconfigure 无效. 之后做法: #查看git日志 gitlab-ctl tail发现日志报错:端 ...
- 如何配置使用Dnsmasq
此文已由作者赵斌授权网易云社区发布 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)CDN在调用 ...
- Oracle中 row_number() over()分析函数(转)
https://www.cnblogs.com/moon-jiajun/p/3530035.html
- Spark内核概述
提交Spark程序的机器一般一定和Spark集群在同样的网络环境中(Driver频繁和Executors通信),且其配置和普通的Worker一致 1. Driver: 具有main方法的,初始化 Sp ...
- Cef3 学习资料
fanfeilong/cefutil CEF General Usage(CEF3预览) CEF General Usage(CEF3预览) 介绍 CEF全称Chromium Embedded Fra ...
- 低价购买 dp
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...