文档解释
ORA-13841: SQL profile named string already exists for a different signature/category pair
Cause: A SQL profile already exists with the name specified under a different signature/category pair so it cannot be replaced, even with FORCE specified.
Action: Specify a different name or drop the existing SQL profile.
错误ORA-13841指出当您尝试为一个SQL语句版本创建一个SQL概述,但是发现该SQL概述的名称已经存在于另一个SQL语句版本的概述中,报错信息即ORA-13841: SQL profile named string already exists for a different signature/category pair。
官方解释
ORA-13841: SQL profile named string already exists for a different signature/category pair
Cause: A SQL profile or category exists with a given name, but it is not intended for use with statements that have the given signature/category combination.
常见原因:
1.当你试图创建一个SQL profile时,使用了已存在的profile名称,但此profile不匹配当前语句或版本。
2.执行SQL语句时,该SQL语句可能在其他版本中存在对应的profile名称。
正常处理方法及步骤
1.首先,检查刚创建的profile是否已有别的profile占用,可使用以下语句去检查:
SELECT * FROM DBA_SQLTUNE_PROFILES;
2.如果有,在该异常情况下,更改创建时使用的profile名称;或者删除该profile重新起一个名字,若已经有统计信息,可使用DBMS_SQLTUNE.DROP_SQL_PROFILE()函数删除。
3.重新执行SQL,这时会识别新的profile。
4.使用DBMS_SQLTUNE.ACCEPT_SQL_PROFILE()函数,重新创建profile。