锁表怎样解决?

  1.insert into 表名  values(select * from 表名 where 条件)
     DB2当中的Load命令做的是添加操作,并不是添加更新操作(实现数据无落地的数据同步):
     load from (database TMISPTDB select * from tr_bdgincome_trim7) of cursor  
     insert into tr_bdgincome_trim9 COPY YES TO /tmisdatas/etlloadtmp DATA BUFFER 32768 
     SORT BUFFER 2097152 CPU_PARALLELISM 4 DISK_PARALLELISM 4
     
     1)db2 "declare mycur cursor db sample44 user db2inst1 using db2inst1 for 
        select * from db2inst1.employee"
     2)db2 "load from mycur of cursor insert into employee_test"
     
     ************************针对SQL0668N 错误原因3问题:************************
     原因3:
     表处于"装入暂挂"状态。先前尝试装入(LOAD)此表失败。在重新启动
     或终止 LOAD 操作之前不允许对表进行访问。
     解决原因3方法:
     通过分别发出带有 RESTART 或 TERMINATER 选项的 LOAD 来重新启动
     或终止先前失败的对此表的 LOAD 操作。
     具体实现示例:
     db2 "CALL SYSPROC.admin_cmd('load from (database tmisoddb select * from tcbs_td_payactor) of cursor  RESTART into tcbs_td_payactor COPY YES TO /tmisdatas/etlloadtmp ')"
     注:因为环境不同,COPY YES TO 之后不需要再带相关参数(RESTART可换成TERMINATER)
     
   2.锁表怎样解决?
      表处于死锁状态:(重新启动数据库即可解决)
      db2stop force (db2 force applications all)
      db2start
      而后重新连接数据库即可
   3.表空间挂起怎样解决?
      查看表空间是否被挂起
      list tablespaces show detail 
      而后查看信息,当表状态不为"0"(0x0000)时,就说明此表空间现在处于暂挂状态
      而后进行数据备份即可:
      db2 backup db rdb151 tablespace USERSPACE1(USERSPACE1是表空间名称,还是从信息当中得到)
      db2 backup db tmisoddb tablespace USERSPACE1 to /dev/null
       
   4.重新绑定,缓存不够:
      db2 "create bufferpool bp32k pagesize 32k size 32768"
      db2 "create bufferpool bp32k immediate size 32768 pagesize 32k"
      db2 "drop tablespace ts_usrtmp_16k"
      db2 "create user temporary tablespace ts_usrtmp_32k pagesize 32k 
           managed by automatic storage bufferpool bp32k"
      db2 rebind tmisusr
      db2 rebind
      db2 rebind PROC_LOADOLDTMIS_MAIN
      db2 rebind tmisusr.PROC_LOADOLDTMIS_MAIN
      db2rbind tmisptdb -l a.log
      db2 list packages|grep -i p7400351
      db2 rebind package P7400351
      db2 rebind package P7400704
      db2 -x "select 'rebind package '||pkgname||';' from syscat.packages 
              where pkgschema='TMISUSR'">rebind.sql
      db2 -tf rebind.sql
      重新绑定:
      linux-4j1d[/home]db2 rebind TMISUSR.P0040035(包名来自于程序运行后台日志SQLERRMAC)
      DB20000I  The REBIND PACKAGE command completed successfully.
      
      db2 rebind tmisusr.PROC_LOADOLDTMIS_MAIN   --绑定存储过程
      db2rbind tmisptdb -l a.log                 --绑定数据库(感觉不起作用)
      db2 rebind package P7400351                --绑定包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值