ORA-14450: 试图访问已经在使用的事务处理临时表
2012-05-10 11:30
411 查看
ORA-00604: 递归 SQL 层 1 出现错误 ORA-14450: 试图访问已经在使用的事务处理临时表 首先要查一下错误信息, 可以从手册中查: Cause: An attempt was made to access a transactional temporary table that has been already populated by a concurrent transaction of the same session. Action: Do not attempt to access the temporary table until the concurrent transaction has committed or aborted. 这是由临时表导致的 --ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行) --ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。 举个例子 开一Session(不要关闭) create global temporary table tmp_test (col1 varchar2(200)) on commit preserve rows; insert tmp_test values('YYYY'); commit; 再另开一Session alter table tmp_test add col2 varchar2(200); 这时就会报 ORA-14450: attempt to access a transactional temp table already in use 在做数据库升级时要确定没有人在使用这个临时表,设计时也得考虑,三层结构时可以停服务中断访问。 解决方法: 关闭第一个会话,或者更改表的类型 |
相关文章推荐
- 解决ORA-14450:试图访问已经在使用的事务处理临时表
- ORA-14450: 试图访问已经在使用的事务处理临时表,根据网上文章提供的方法,问题是解决了
- ORA-14450: 试图访问已经在使用的事务处理临时表
- Oracle 11g ORA-14450: 试图访问已经在使用的事务处理临时表
- 【转】解决ORA-14450: 试图访问已经在使用的事务处理临时表
- ora-14452 试图创建,更改或删除正在使用的临时表中的索引
- ORA-14452:试图创建,更改或删除正在使用的临时表中的索引
- 也谈 .NET2.0 事务处理 TransactionScope 的使用:[在访问相同数据库时避免讨厌的分布式事务]
- ORA-02046: 分布式事务处理已经开始解决方案
- ORA-02046: 分布式事务处理已经开始解决方案
- ORA-14452:试图创建,更改或删除正在使用的临时表中的索引
- ORA-06519: 检测到活动的自治事务处理,已经回退
- (转载)ORA-14452:试图创建,更改或删除正在使用的临时表中的索引
- ORA-08177: 无法连续访问此事务处理
- ORA-08177: 无法连续访问此事务处理
- 执行触发器失败 :-6519:ORA-06519: 检测到活动的自治事务处理, 已经回退
- 问题:Unique约束与ORA-08177: 无法连续访问此事务处理
- ORA-08177: 无法连续访问此事务处理 (转载)
- ORA-02046: ORA-02046:分布式事务处理已经开始
- 查找ORACLE出现“ORA-08177:无法连续访问此事务处理”问题的原因