SQL> alter table rmmm.TMP_CRM_ADDRFAC modify usedportcount NUMBER(10);
alter table rmmm.TMP_CRM_ADDRFAC modify usedportcount NUMBER(10)
*
ERROR at line 1:
alter table rmmm.TMP_CRM_ADDRFAC modify usedportcount NUMBER(10)
*
ERROR at line 1:
ORA-14450: attempt to access a transactional temp table already in use
Cause
~~~~~~~
If the global temporary table was created with "on commit preserve rows" option,
the global temp table would still be locked eventhough transaction was commited.
Fix
~~~~
+ Disconnect and connect the session
生产时间这个脚本跑不了的,只能改名重建
先把原先那个表改名,然后再重建一个原名,同内容的临时表?
对
等临时表释放了,就可以了
--------------------------------------------------------
解决方法:
(1):先rename 到一个表bb
重新创新一新表create global table ** as select * bb;
再创建相应的constraint(如primary key...)
(2):方法2:占用会话的session退出,alter成功!
先把原先那个表改名,然后再重建一个原名,同内容的临时表?
对
等临时表释放了,就可以了
--------------------------------------------------------
解决方法:
(1):先rename 到一个表bb
重新创新一新表create global table ** as select * bb;
再创建相应的constraint(如primary key...)
(2):方法2:占用会话的session退出,alter成功!
本文解决了一个在SQL中尝试访问已使用的全球临时表时遇到的ORA-14450错误。通过将现有表重命名并重建新表,可以释放临时表资源,从而解决此问题。
1731

被折叠的 条评论
为什么被折叠?



