文档解释
ORA-12674: Shared server: proxy context not saved
Cause: A connection was marked as being a proxy connection (database link) from a shared server but no inbound context was present.
Action: This error should not normally be visible to the user. Contact Oracle Customer Support.
ORA-12674是一个极其常见的数据库错误,它提示shared server(也称为MTS)环境下代理上下文未能保存。
shared server(MTS)是Oracle Database提供户数据库访问/请求的一种模式。当MTS模式启用时,Oracle数据库会创建多个独立的“server”进程,以处理用户发出的多个请求。每个用户发送的请求都会送到一个池子中的一个可用的服务器,并由服务器处理。
ORA-12674错误确保表示用户正试图连接到Oracle数据库,然后在执行开始时数据库检测到该连接发出的每个请求都需要保存和恢复其代理上下文,但它没有能够恢复代理上下文。
官方解释
常见案例
1. 如果程序使用特权用户运行(如SYSDBA或SYSOPER),则可能会出现此错误。
2. 如果应用程序未在共享服务器池中正确配置资源,则可能会出现此错误。
3. 当shared server实例数据空间过小时,也可能出现此错误。
正常处理方法及步骤
1.检查特权用户: 请检查应用程序是否使用特权用户(如SYSDBA或SYSOPER)处理SQL语句;如果如此,则不执行该语句,而是使用普通用户的正常身份。
2. 配置共享服务器资源:请检查所用的共享服务器池是否具有足够的资源来满足应用程序的需求,并根据需要进行相应的调整。
3. 增加shared server空间:一旦检查完共享服务器池资源之后,请确保最终shared server实例数据空间也具有足够的空间来容纳要处理的任何请求;如果空间不足,请将其增加到足够的大小。
4. 启用定期检查:最后,建议将上面的操作包含在定期检查的计划中,以避免出现类似的问题。