文档解释
ORA-31405: cannot make changes while change set string is advancing
Cause: The change set is currently advancing. Change sources related to an advancing change set cannot be altered. Change tables related to the advancing change set cannot be created, altered or dropped. Some or all the parameters of the change set cannot be altered while the set is advancing.
Action: Wait until the change set has finished advancing, then reissue the command. If altering the change set, only the advance_enable parameter can be altered during an advance.
。
ORA-31405: 该错误表示在更改集(Change Set)处理期间,不允许做任何更改。Change Set是一种系列操作,用于在同一时间发布对应用数据库的多个更改,以准备的基础上投入应用,具体的流程是:
1. 编写和测试更改;
2. 将更改包装为Change Set;
3. 发布Change Set 到生产服务器;
4. 执行Change Set,将更改安装到数据库中;
5. 重新执行测试,以确认软件是否能正常运行;
在操作过程中,如果出现ORA-31405错误,则表示还在执行Change Set,不允许进行任何更改操作;正常处理方法有两个:
1. 使用SQL*Plus登录到生产数据库服务器,在客户端查询V$SESSION,确定Change Set执行者的SID;
2. 使用以下命令,检查有没有任何Change Set正在执行,并等待执行完成:
select * from dba_scheduler_running_jobs whereowner=’CHANGE_SET_EXECUTOR’;
如果未发现任何Change Set正在运行,则可以考虑重启数据库。