IT其它数据库

【分享一下】 由备份引起的临时表空间不足

今天客户反应,数据库分片表特别慢,后来查看日志发现总是再报tmpdbs03 is full的错误,部分临时表索引无法创建,影响到数据。

使用命令  onstat -g pqs |sort -nk5  (这个命令我也不太了解,有了解的大神帮忙详细介绍一下啊)查看排在最下面的会话,也没有大的数据扫描,理论上应该不会占完8个G的临时表空间。

dbaccess sysmaster -
Select trim(n.dbsname) tab_type, trim(n.owner) users, trim(n.tabname) tab_name,
dbinfo('UTC_TO_DATETIME',i.ti_created) index_createtime, trim(dbinfo('DBSPACE', i.ti_partnum)) dbspace, format_units(i.ti_nptotal,i.ti_pagesize) total_size, i.ti_nrows
FROM sysmaster:systabnames n, sysmaster:systabinfo i
WHERE (sysmaster:bitval(i.ti_flags, 32) = 1 OR sysmaster:bitval(i.ti_flags, 64) = 1
OR sysmaster:bitval(i.ti_flags, 128) = 1) AND i.ti_partnum = n.partnum
order by 1,3


执行查看个临时表空间的使用情况。

分析发现

tab_type   BEFIMAGE
users        informix
tab_name th_rpmdbs01_1   (这个是什么意思,我也不太清楚,希望知道的朋友指点一下啊)
index_createtime   2013-04-10  10:28:48
dvsoace    tmpdbs03
total_size   6.58G
ti_nrows     0


后查找“BEFIMAGE”  看到论坛liao神讲过
在备份的时候,数据库会在tempdbs中生成BEFIMAGE这样的空间,用于保存自备份开始以来的事务操作前映像,目的是为了保证备份时间点的一致性

停掉备份程序后,临时表空间得以释放,业务恢复正常。
本着知识共享的原则,无私奉献一下今日的收获。正好压点下班~
参与8

8同行回答

zhou5526_cnzhou5526_cn系统运维工程师PICC
回复 4# liaosnet 廖神,你的意思是过大会导致备份的时候备份产生的临时空间大?若分布较多tempdbs那会怎么样?显示全部
回复 4# liaosnet

廖神,你的意思是过大会导致备份的时候备份产生的临时空间大?若分布较多tempdbs那会怎么样?收起
保险 · 2014-07-28
浏览1530
wolf2509wolf2509数据库架构师亿阳信通
主要是由于DML操作引起的临时表空间占用,尽可能不要在备份的时候进行DML操作。显示全部
主要是由于DML操作引起的临时表空间占用,尽可能不要在备份的时候进行DML操作。收起
互联网服务 · 2014-06-18
浏览1529
djde521djde521其它中科软
收藏了...显示全部
收藏了...收起
保险 · 2014-05-14
浏览1536
光洋山光洋山数据库架构师金融科技公司
因为在备份的过程中,如果有新的数据页(脏页)产生,为了保证备份时间点问题,需要将新的数据页的before image--前影数据页,存储在临时表空间中,在备份过程的最后阶段需要将临时表空间的这些数据页替换已备份的数据页。那么为了防止热备份过程出现类似问题,1、一般都需要为数据库配...显示全部
因为在备份的过程中,如果有新的数据页(脏页)产生,为了保证备份时间点问题,需要将新的数据页的before image--前影数据页,存储在临时表空间中,在备份过程的最后阶段需要将临时表空间的这些数据页替换已备份的数据页。
那么为了防止热备份过程出现类似问题,
1、一般都需要为数据库配置尽量大的、数量>4个的临时表空间;
2、尽量不要在备份过程中,进行较大的数据的批量处理(DML);
3、尽量将备份任务安排在系统较为空闲的时间段进行;收起
软件开发 · 2013-10-24
浏览1460
zmdzxdzmdzxd系统工程师ibm
th_rpmdbs01_1  我认为应该是dbspace_name or chunk_name显示全部
th_rpmdbs01_1  我认为应该是dbspace_name or chunk_name收起
互联网服务 · 2013-06-26
浏览1547
liaosnetliaosnet信息分析/架构师gbasedbt.com
解决办法是增加足够大的tempdbs空间~还有就是每个dbspace不要过于大。。。。显示全部
解决办法是增加足够大的tempdbs空间~还有就是每个dbspace不要过于大。。。。收起
IT咨询服务 · 2013-04-12
浏览1478
tt120418281tt120418281数据库管理员多维
回复 2# 创鬼    你的回复是我最大的动力~~显示全部
回复 2# 创鬼


   你的回复是我最大的动力~~收起
IT其它 · 2013-04-12
浏览1498
创鬼创鬼数据库运维工程师高伟达
:),碰到过一边备份,一边继续业务操作,导致rootdbs被撑满的情况,,,备份时也需要写临时文件显示全部
:),碰到过一边备份,一边继续业务操作,导致rootdbs被撑满的情况,,,备份时也需要写临时文件收起
银行 · 2013-04-11
浏览1506

提问者

tt120418281
数据库管理员多维

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-04-10
  • 关注会员:0 人
  • 问题浏览:11037
  • 最近回答:2014-07-28
  • X社区推广