ERROR [55019] [IBM][DB2/NT] SQL1477N  For table "DB_YHJX.YHJX_FHDKFHZ" an object "521" in table space "3" cannot be accessed.  SQLSTATE=55019
SQL1477N  对于表 "<表名>",不能访问表空间 "<表空间标识>" 中的对象 "<对象标识>"。
说明:
试图访问一个表,而该表的其中一个对象是不可访问的。由于下列原因之一,该表可能不可访问:
1.当回滚工作单元时,该表激活了 NOT LOGGED INITIALLY。
2.该表是一个已创建的分区临时表或者已声明的分区临时表,由于已声明此临时表或者已将它实例化,因此一个或多个数据库分区失败。
3.ROLLFORWARD 在此表上遇到了 NOT LOGGED INITIALLY 激活,或者遇到了NONRECOVERABLE 装入。
不允许访问此表,因为不能保证其完整性。
是不是你的存储过程里 有将表清空的语句类似于
ALTER TABLE  表名 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE

I got a call from a lication team yesterday
that many tables are "can not be acceed" all of sudden.

SQL1477N  Table "RI_ A_T1" ca ot be acceed.  SQLSTATE=55019
SQL1477N  Table "RI_ L_T2" ca ot be acceed.  SQLSTATE=55019
SQL1477N  Table "RI_ T_T3" ca ot be acceed.  SQLSTATE=55019
SQL1477N  Table "RI_PTC_T4" ca ot be acceed.  SQLSTATE=55019

After talking to the developer, he coded some tables with "not logged initially" hope to get better performance,
somehow a job did not complete succe fully and caused many tables in-co istent state.

It mea  that whenever you i ue ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY then everything between that and the next commit is not logged.
If you encounter a rollback/failure, as you recover the table is marked inacce ible and you ca ot recover it.
Your only option is "DROP" and then "CREATE"  those in question tables again.

Holly smoke! I understand now why those IBM guys brag db2 is so superior than Oracle --
(UDB software lab is in Toronto, got lucky talk to those db2 developers/managers face to face). 
Fortunately, db2 dba is only my secondary job.  How do you guys feel?  Look at those Oracle forums so red and hot.

总结:NOT LOGGED INITIALLY慎用,中途失败将导致表要被删除重建。

DB2 SQL1477N问题的更多相关文章

  1. SQL0946N错误及DB2事务日志

    在对DB2数据库进行批量增删的时候, 如果数据量比较大会导致SQL0964N错误, DB2 Knowledge center(http://pic.dhe.ibm.com/infocenter/db2 ...

  2. DB2不记录事务日志

    1. DB2大数据处理不记录事务日志步骤:  建表需要添加属性“NOT LOGGED INITIALLY”  在大批量更改操作的同一个事务开始时执行:“ALTER TABLE tabname ACTI ...

  3. DB2建立不记录日志的表

    )); ,'JACK'); ,'Timo'); -----建立无日日志表 --方法一:(表存在) CREATE TABLE TB_7 LIKE TB_6 NOT LOGGED INITIALLY; - ...

  4. db2 事务日志

    曾经因为对DB2 的 NOT LOGGED INITIALLY 属性认识不足而吃了亏.当时需要往表中插入大量的数据,最初也没有考虑太多就使用了传统的insert 命令,由于数据量实在过于巨大,而且系统 ...

  5. 【DB2】关闭表的日志功能

    2018.11.19 客户遇到一个问题,在import数据的时候,产生了大量的日志,客户的数据库是HADR模式,通过评估,这几张表是可以允许在备库上不查询的,表中的数据时临时的. 方案一:修改脚本,将 ...

  6. DB2重启数据库实例

    DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动. 1.查看是否有活动的链接 命令:db2 list applications for d ...

  7. 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗

    ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性:    Oracle.MYSQL与DB2可在所有主流平台上运行:    SQL Server只能在Windows下运行: --安 ...

  8. C# 连接DB2字符串 Oracle免安装客户端连接字符串

    以下是DB2连接数据库 1)使用IBM.Data.DB2链接DB2数据库 2)必须安装DB2客户端,IBM.Data.DB2在安装的BIN里可以找到 3)注意一下DB2客户端版本问题,我的就是WIN7 ...

  9. DB2错误码信息

    00 完全成功完成 表 3  01 警告 表 4  02 无数据 表 5  07 动态 SQL 错误 表 6  08 连接异常 表 7  09 触发操作异常 表 8  0A 功能部件不受支持 表 9  ...

随机推荐

  1. 搜索引擎solr系列---solr分词配置

    分词我理解的是,输入的一句话,按照它自己定义的规则分为常用词语. 首先,Solr有自己基本的类型,string.int.date.long等等.   对于string类型,比如在你的core/conf ...

  2. 查看linux服务器CPU数量

    首先,要区分两个概念:物理CPU和逻辑CPU. 物理CPU就是服务器上实际安装的CPU.但是一个物理CPU可以有多个核.例如,一个 i5 760 是双核,而一个 i5 2250 是四核.如果开启了In ...

  3. Postman的基础使用

    postman的基础功能,官方文档介绍的是相当啰嗦,所以笔者这里先简单介绍一下主界面,入门功能就都提到了.稍后我们再一一介绍基础功能的使用方法. Collections:在Postman中,Colle ...

  4. centos7.3 快速安装 mariadb(mysql)

    从最新版本的linux系统开始,默认的是 Mariadb而不是mysql! 使用系统自带的repos安装很简单: yum install mariadb mariadb-server systemct ...

  5. idea 安装 破解方法

    参考:https://blog.csdn.net/qq_27686779/article/details/78870816 (1)下载破解补丁 把下载的破解补丁放在你的idea的安装目录下的bin的目 ...

  6. JS实现拖动效果

    有个问题就是该模块要使用定位,因为有left,top属性使用,绝对定位和相对定位都行,当然你也可使用margin-left,和margin-top这2个属性,替换left,top也是可以得 这样就不用 ...

  7. java基础思维导图,让java不再难懂

    java基础思维导图,让java不再难懂 原文链接  https://my.oschina.net/u/3080373/blog/873056 最近看了一些文章的思维导图,发现思维导图真是个强大的工具 ...

  8. windows7安装node

    一.在官网下载node 二.按照提示进行安装 三.安装好的目录结构 四.测试是否安装好了node 首先按快捷键win+r,在运行窗口输入cmd,调出命令提示窗口,在命令提示窗口中输入path查看nod ...

  9. springMVC学习记录1-使用XML进行配置

    SpringMVC是整个spring中的一个很小的组成,准确的说他是spring WEB这个模块的下一个子模块,Spring WEB中除了有springMVC还有struts2,webWork等MVC ...

  10. locate包的安装

    linux中locate命令可以快速定位我们需要查找的文件,但是在yum中,locate的安装包名为 mlocate(yum list | grep locate可以查看),安装方法: yum -y ...