Informatica PowerCenter 10.4创建MRS遇资源池超时错误求助
解决Informatica PowerCenter 10.4创建MRS时的PERSISTENCEAPI_0307/DBPERSISTER_2002错误
针对你遇到的[PERSISTENCEAPI_0307][PERSISTENCECOMMON_0001]和[PERSISTENCEAPI_0307][DBPERSISTER_2002]错误,根源是数据库连接池资源获取超时,以下是具体排查和解决步骤:
1. 调整数据库连接池配置
Informatica使用C3P0连接池(对应报错中的com.mchange.v2.resourcepool.BasicResourcePool),默认配置可能无法满足MRS创建时的资源需求:
- 登录Informatica Administrator控制台,找到目标域的Configuration标签页,定位到数据库连接池相关参数:
- 调大
maxPoolSize(建议从默认10调整到20-30) - 增加
checkoutTimeout值(设置为30000毫秒及以上,避免连接等待超时) - 适当提高
initialPoolSize和acquireIncrement,确保连接池能快速扩容
- 调大
2. 补充MRS用户的数据库权限
你当前授予的权限不全,Informatica Model Repository Service需要更多数据库对象操作权限,执行以下SQL补充:
-- 补充存储过程、触发器、类型创建权限 GRANT CREATE PROCEDURE, CREATE TRIGGER, CREATE TYPE TO <MRS_User>; -- 补充表的修改、删除、增删改权限 GRANT ALTER ANY TABLE, DROP ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO <MRS_User>; -- 授予RESOURCE角色(包含常用对象创建权限) GRANT RESOURCE TO <MRS_User>;
执行后重新尝试创建MRS。
3. 验证数据库状态与连接性
- 在Informatica服务器所在Linux节点,用数据库客户端工具(如
sqlplus、psql)测试连接MRS对应的数据库,确认网络无阻塞、数据库服务正常运行。 - 检查数据库的最大连接数限制,确保当前活跃会话数未达上限,可通过数据库查询语句验证(如Oracle的
SELECT COUNT(*) FROM V$SESSION;)。 - 确认数据库表空间充足,MRS创建过程需要创建大量对象,若表空间不足会导致操作超时。
4. 排查详细日志
- 查看Informatica的MRS创建日志,路径通常为:
查找日志中更具体的数据库报错信息(如权限缺失的具体对象、表空间不足提示)。<INFA_HOME>/logs/domain/<DOMAIN_NAME>/services/<MRS_SERVICE_NAME> - 检查数据库的告警日志,确认是否有与
<MRS_User>相关的权限拒绝或资源不足记录。
5. 重启Informatica域服务
修改连接池配置或补充权限后,重启Informatica域服务使变更生效:
# 停止域服务 <INFA_HOME>/isp/bin/infaservice.sh stop # 启动域服务 <INFA_HOME>/isp/bin/infaservice.sh start
重启完成后再次尝试创建MRS。
内容的提问来源于stack exchange,提问作者BiraKishore
相关产品推荐
相关产品推荐

