当前位置: 代码迷 >> SQL >> SQL0668N 缘故码为 "1"所以不允许操作 SQLSTATE=57016 ORACLE
  详细解决方案

SQL0668N 缘故码为 "1"所以不允许操作 SQLSTATE=57016 ORACLE

热度:165   发布时间:2016-05-05 12:13:05.0
SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE

SQL0668N 原因码为 "1",所? SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2 收藏
SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2
SQL0668N 原因码为 "1" SQLSTATE=57016 ORACLE导入到DB2
日月明王的BLOG? http://sunmoonking.spaces.live.com
?????????? 利用MTK工具没有成功导入数据,于是用(ORACLE 用MTK工具导入到DB2
http://sunmoonking.spaces.live.com/blog/cns!E3BD9CBED01777CA!751.entry)最后所写的方法手工批量导入。一切顺利。做完后抽样检查,发现有些表出现如下问题。
db2 => select * from TABLE_NAME
USER_FUNCTION_ID???? USER_ID????????????? DEALER_ID FUNCTION_ID????????? CREATE_
BY??????????? CREATE_DATE??????????????? UPDATE_BY??????????? UPDATE_DATE
-------------------- -------------------- --------- -------------------- -------
SQL0668N? 由于表 "ADMINISTRATOR. TABLE_NAME " 上的原因码为
"1",所以不允许操作。? SQLSTATE=57016
??????????? 查了下问题原因是原因是装入时有数据违反了检查约束,造成表处于检查挂起状态。网上说可以用set integrity for table_name check immediate unchecked解除表的检查挂起状态, 但是运行完后还是无法访问此表
db2 => set integrity for table_name check immediate unchecked
DB20000I? SQL命令成功完成。
db2 => select * from TABLE_NAME
USER_FUNCTION_ID???? USER_ID????????????? DEALER_ID FUNCTION_ID????????? CREATE_
BY??????????? CREATE_DATE??????????????? UPDATE_BY??????????? UPDATE_DATE
-------------------- -------------------- --------- -------------------- -------
SQL0668N? 由于表 "ADMINISTRATOR. TABLE_NAME " 上的原因码为
"1",所以不允许操作。? SQLSTATE=57016
??????????? 问题依旧。又试图用再次LOAD的方法使其状态正常,通过分别发出带有 RESTART 或 TERMINATER 选项的 LOAD 来重新启动或终止先前失败的对此表的 LOAD 操作。但是问题依旧。
db2 => LOAD? FROM C:\MTK\projects\Unknown7\DataOutScripts\FILENAME_TABLE_NAME.out of DEL restart? INTO TABLE_NAME
SQL27902N? LOAD RESTART/TERMINATE 在未处于 LOAD PENDING 状态的表上不允许。
??????????? 再试
C:\Documents and Settings\Administrator>db2 set integrity for TABLE_NAME immediate checked
??????????? 不成功。
??????????? 怀疑现在的问题不仅仅是表的问题,于是察看TABLESPACE
db2 =>list tablespaces show detail
表空间标识??????????????????????? = 2
名称?????????????????????? = USERSPACE1
类型?????????????????????????????????????? = 数据库管理空间
内容??????????????????????????????? = 所有持久数据。大型表空间。
状态?????????????????? = 0x0020
? 详细解释:
??? 备份暂挂
总计页数??????????????????????????? = 40960
可用页数??????????????????????????? = 40928
已用页数??????????????????????????? = 40448
可用页数??????????????????????????? = 480
高水位标记(页)??????????????????? = 40448
页大小(以字节计)????????????????? = 16384
扩展数据块大小(页)??????????????? = 32
预取大小(页)????????????????????? = 32
容器数????????????????????????????????? = 1
最小恢复时间??????????????????????????? = 2007-02-13-02.29.51.000000
??????????? 想通过以下命令使其正常
db2 => alter tablespace? USERSPACE1 switch online
DB20000I? SQL命令成功完成。
??????????? 状态一样
??????????? 于是通过BACKUP来除去备份暂挂状态, 手工备份后恢复正常. 0x0000
db2 backup db DB_NAME tablespace (userspace1)
??????????? 再解除表的检查挂起状态
db2 => set integrity for tt_user_function immediate checked
DB20000I? SQL命令成功完成。
db2 => select count(*) from tt_user_function;
SQL0104N? 在 "rom tt_user_function" 后面找到异常标记
";"。预期标记可能包括:"END-OF-STATEMENT"。? SQLSTATE=42601
db2 => select count(*) from tt_user_function

以不允许操作 SQLSTATE=57016 ORACLE

  相关解决方案