oracle 01775,set Autotrace使用的问题与解决
關(guān)于Autotrace幾個常用選項的說明:
SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 報告,這是缺省模式
SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只顯示優(yōu)化器執(zhí)行路徑報告
SET AUTOTRACE ON STATISTICS -- 只顯示執(zhí)行統(tǒng)計信息
SET AUTOTRACE ON ----------------- 包含執(zhí)行計劃和統(tǒng)計信息
SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不顯示查詢輸出
SQL> set autotrace on statistics
Cannot SET AUTOTRACE
解決:
1、首先必須采用用Oracle的sqlplus登陸
2、執(zhí)行以下兩個腳本
D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN目錄下的utlxplan.sql(創(chuàng)建執(zhí)行計劃的表)
D:\oracle\product\10.2.0\db_1\sqlplus\admin目錄下的plustrace.sql(創(chuàng)建plustrace角色并授權(quán))
其他一些問題:
1、ORA-01775: 同義詞的循環(huán)鏈問題
plan_table原本是lttfm用戶下的,因此我在該用戶下將其表刪除后作如下操作:
SQL> set autotrace traceonly
SP2-0103: SQL 緩沖區(qū)中無可運行的程序。
SQL> select * from v$session;
已選擇19行。
ERROR:
ORA-01775: 同義詞的循環(huán)鏈
SP2-0612: 生成 AUTOTRACE EXPLAIN 報告時出錯
統(tǒng)計信息
----------------------------------------------------------
0? recursive calls
0? db block gets
0? consistent gets
0? physical reads
0? redo size
7782? bytes sent via SQL*Net to client
396? bytes received via SQL*Net from client
3? SQL*Net roundtrips to/from client
0? sorts (memory)
0? sorts (disk)
19? rows processed
ORA-01775: 同義詞的循環(huán)鏈問題的解決:刪除plan_table同義詞(DROP PUBLIC synonym PLAN_TABLE)
2、“ORA-00942: 表或視圖不存在”問題
退出再登陸后執(zhí)行以下操作:
SQL>set autotrace on;
SP2-0103: SQL 緩沖區(qū)中無可運行的程序
SQL>select *from v$mystat;
已選擇347行。
ERROR:
ORA-00942: 表或視圖不存在
SP2-0612: 生成 AUTOTRACE EXPLAIN 報告時出錯
統(tǒng)計信息
----------------------------------------------------------
8? recursive calls
0? db block gets
2? consistent gets
0? physical reads
0? redo size
6646? bytes sent via SQL*Net to client
638? bytes received via SQL*Net from client
25? SQL*Net roundtrips to/from client
0? sorts (memory)
0? sorts (disk)
347? rows processed
“ORA-00942: 表或視圖不存在”問題的解決:
在lttfm用戶下執(zhí)行utlxplan.sql腳本,創(chuàng)建PLAN_TABLE表后又可以執(zhí)行 set autotrace on;
但是如果用別的用戶執(zhí)行 set autotrace on 該設(shè)置后查詢表仍會提示 ORA-00942: 表或視圖不存在
因此必須創(chuàng)建公共同義詞(也可以對特定用戶創(chuàng)建同義詞),這樣就可以在任何用戶下使用set autotrace 命令了。
create PUBLIC synonym PLAN_TABLE for PLAN_TABLE;
3.“SP2-0103: SQL 緩沖區(qū)中無可運行的程序”問題的解決:
創(chuàng)建plustrace角色并授權(quán)(在sys用戶下執(zhí)行plustrace.sql該腳本即可)
總結(jié)
以上是生活随笔為你收集整理的oracle 01775,set Autotrace使用的问题与解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 保留一个记录吗,笔记:Or
- 下一篇: oracle材料差异科目,ORACLE分