【发布时间】:2017-02-25 01:02:18
【问题描述】:
我正在对表字段更改进行一些研发。所以,我需要一个表的克隆。
我运行了命令“create table <table name> as select * from <old table>”,它成功了。
但是,当我第二次运行时,我取消了中间的命令,之后我收到以下错误。
$ select count(*) from my_table_copy;
SQL -211: Cannot read system catalog (systables).
ISAM -154: ISAM error: Lock Timeout Expired
SQLSTATE: IX000 at /dev/stdin:1
当我尝试通过 Open Admin 获取数据库时,也出现了错误:
256 : 数据库查询失败:-
错误:-244 [Informix][Informix ODBC Driver][Informix]Could not do a 物理顺序读取以获取下一行。 sqlerrm(系统表) (SQLExecute[-244] 在
如何解决?
谢谢,
【问题讨论】:
-
你说“我取消了中间的命令”——你到底是怎么取消这个操作的?我的猜测是用户会话可能仍然在持有 systables 的锁。
-
我在 Unix 的命令提示符下执行此操作。我做了一个 Ctr-C 来取消命令。我检查了后台进程,操作系统端没有运行任何东西。
标签: informix