Oracle agent performs numerous checks and validations to ensure that the EBS environment isn't corrupted. So, whenever it tries to access any of the following table
{"FND_LANGUAGES",
"FND_LANGUAGES_VL",
"FND_APPLICATION",
"FND_APPLICATION_TL",
"FND_ORACLE_USERID",
"FND_PRODUCT_INSTALLATIONS",
"FND_APPLICATION_TL",
"SYS.USER_OBJECTS",
"SYS.USER_TRIGGERS",
"SYS.OBJ$",
"SYS.USER_OBJECTS",
"SYS.ALL_OBJECTS",
"SYS.ALL_TAB_PRIVS"};
It will first try to check the all_objects table and see whether these tables exist. If they exist, it is also going to see if the table owner is equal to the APPS username that is being supplied.
The APP username being supplied right now is XXPXSTAPP[apps]. But, in all objects, the table owners of the above table are simply XXPXSTAPP and APPS. This is where the validation fails and hence the error. Changing the APPS username to XXPXSTAPP from XXPXSTAPP[apps] won't work either. Why? Because there are other validations in place which simply won't go well with proxy users. It seems the Oracle agent in its current form will suffer lots of compatibility issues if we use a proxy user rather than the actual user.
対策
Integrating proxy user support in the Oracle agent will be an enhancement request. We have created STAT-6164 for this.