- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DB2表空间管理及查看脚本(SHELL)等
DB2表空间管理及查看脚本(SHELL)等
任务管理:
1.sh文件
#!/bin/sh
#表空间管理作业,请不要删除,现操作系统已经在正常调用
#调用时间,每天的17:00
#crontab -e 打开,可编辑
. /home/db2app/.profile
#脚本删除创建时间在22天前的表或总数大于400*0.5的表,保证数据量不能大于总空间的50%和创建日期不能大于22天的
db2 connect to esopdb;
res=tbopres.txt
sql=
with a as
(
select
rownumber() over(order by npages desc) as od,
DB2INFO.||tabname tabname,
decimal(sum(npages)*1.00*32768/(1024*1024*1024),4,2) GUSAGE,
create_time ct
from syscat.tables
where tbspace=TBS_DW_USER and type=T
and OWNER=DB2APP and TABSCHEMA=DB2INFO
and
(
tabname not like DIM% and tabname not like %LOG% and tabname not like %ESOP% and tabname not like %PROC%
and tabname not like %DM% and tabname not like %MM%
)
group by tabname,npages,create_time
order by GUSAGE desc
),
b as
(
select a_s.od,a_s.tabname,a_s.gusage,
case a_s.od
when 1 then a_s.gusage
else (select sum(a_d.gusage) from a as a_d where a_d.od=a_s.od) end as tot,
a_s.ct
from a as a_s
order by a_s.od
)
select cast(alter table ||b.tabname|| activate not logged initially with empty table ; drop table
||b.tabname||replace( ;--od:||cast(b.od as char(3))||,gusage:||cast(b.gusage as char(10))||,total:
||cast(cast(b.tot as decimal(5,2)) as char(10))||,percent:||cast(cast(b.tot/400 as decimal(5,2)) as char(10))
||,created before ||cast(days(current_date)-days(ct) as char(2))|| days ||--,00.,0.) as varchar(300)) as sql
from b
where b.tot=400*0.5 or days(current_date)-days(ct)=22
order by b.od,days(current_date)-days(b.ct) desc
#执行不出现标题类的内容
db2 -x $sql$res
#分行并读取每行
tr ; \n ${res} | while read line
do
echo ` date +%Y%m%d %H:%M:%S `${res}.log
db2 -tvx $line | tee -i -a ${res%.txt}.log
done
db2 connect reset;
db2 terminate;
2.crontab -e后填写如下:
#对表空间进行管理
12,15 * * * * /home/db2app/tbop.sh/dev/null
--更新版本
#125ESOP表空间管理SHELL
#版本1.0
#作者:张明伟
#!/bin/sh
#表空间管理作业,请不要删除,现操作系统已经在正常调用
#调用时间,每天的17:00
#cronta
文档评论(0)