文档解释
ORA-23536: the object “string”.”string” is not cached at the middle tier as expected.
Cause: The object may have been dropped or renamed at the back end after dbms_ias_inst.start_ias_inst was executed.
Action: Check the validity of the object at the back end and retry the instantiation.
ORA-23536错误是由Oracle中间件(OC4J)缓存机制引发的,发生这个错误说明数据对象(如:表、视图、函数)在OC4J中没有被正确的缓存,最终导致调用时在服务器端抛出以上视图。
官方解释
ORA-23536 是一个常见的OC4J错误。它表示OC4J内存(如表、视图、函数、包和过程)没有被正确地缓存。Oracle自身能够缓存表,但是OC4J也具有对对象缓存的功能,在某些情况下能够提升效率。
常见案例
一些情况下,在JVM(Java虚拟机)中创建或更改元数据时可能会发生ORA-23536错误,另外一种情况是当客户端在编译后的OC4J服务器上不允许执行DML操作(如INSERT,UPDATE等)时也可能发生这个错误。
一般处理方法及步骤
1.检查表结构有无变更,如果发生变更,运行rep加载到OC4J内存中。
2.检查JVM访问模式是否被更改,出现错误消息后更改回之前的访问模式
3.检查应用程序是否在运行期间执行了更改表数据的操作,如INSERT,UPDATE等,如果是,在OC4J设置中检查设置空间,改变确保系统有权限在服务器运行DML操作。