执行catplan.sql遇ORA-02304,如何修复PLAN_TABLE旧版本问题?
解决Oracle 10g中PLAN_TABLE版本旧及ORA-02304错误的方法
问题说明
执行set autotrace on提示PLAN_TABLE版本不匹配,尝试执行catplan.sql时触发ORA-02304错误,核心原因是执行脚本的身份或路径有误,导致对象标识符解析失败。
具体解决步骤
以SYSDBA身份登录数据库
避免给普通用户临时授予sysdba权限,直接用sys用户登录:sqlplus / as sysdba远程登录格式:
sqlplus sys/[你的密码]@[数据库实例] as sysdba正确执行catplan.sql脚本
利用Oracle环境变量?指定脚本路径(自动映射到$ORACLE_HOME),避免手动输入路径出错:@?/rdbms/admin/catplan.sql为普通用户重建适配版本的PLAN_TABLE
切换到目标用户,执行utlxplan.sql创建符合当前数据库版本的PLAN_TABLE:sqlplus [你的用户名]/[你的密码]@[数据库实例] @?/rdbms/admin/utlxplan.sql验证autotrace功能
执行测试SQL确认问题解决:set autotrace on; select * from dual;
注意事项
- 不要随意给普通用户授予sysdba权限,存在安全风险,使用sys用户操作更合规。
- 执行系统脚本时,必须确保当前登录用户具备足够权限,SYSDBA身份是执行
catplan.sql的正确选择。
内容的提问来源于stack exchange,提问作者mma
相关产品推荐
相关产品推荐

