一个客户在修改procedure的时候报错ORA-38824: A CREATE OR REPLACE command may not change the EDITIONABLE propertyof an existing object
MOS找了一下发现没有相应的解决办法.百度了一下,有一个老外的文章有一点提示,我进行了测试.
dba_objects有一个字段EDTIONALBE表示是否可编辑,默认创建的都是Y表示可编辑.
我这里报错的检查下来都是N,我是使用expdp/impdp来导入的,经过确认源端也是N,
可以使用alter命令进行修改,例如:
alter TRIGGER PORTAL56_LIS.TR_L_TSXX_SEQ editionable;
这里可以写一个拼接sql进行批量执行:
select 'alter '||object_type||' '||owner||'.'||object_name||' editionable;' from
dba_objects where owner like 'PORTAL%' and editionable='N';
批量执行完成之后,即可进行修改了