SQL*Plus中plustrce.sql(SP2-0613、SP2-0611)和(SP2-0618、SP2-0611)
AUTOTRACE是一項 SQL*Plus 功能,自動跟蹤為 SQL 語句生成一個執行計劃並且提供與該語句的處理有關的統計。SQL*Plus AUTOTRACE 可以用來替代 SQL Trace 使用,AUTOTRACE 的好處是您不必設定跟蹤檔案的格式,並且它將自動為 SQL 語句顯示執行計劃。然而,AUTOTRACE 分析和執行語句;而EXPLAIN PLAN僅分析語句。
使用AUTOTRACE不會產生跟蹤檔案。
一、啟用Autotrace功能。任何以SQL*PLUS連線的session都可以用Autotrace,不過還是要做一些設定的,否則可能報錯。
1、報錯示例:SQL :> set autotrace on;
SP2-0613: Unable to verify PLAN_TABLE format or existence
SP2-0611: Error enabling EXPLAIN report
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report
*******************************************************************************
SQL> set autotrace on;
SP2-0613: 無法驗證 PLAN_TABLE 格式或實體
SP2-0611: 啟用EXPLAIN報告時出現錯誤
SP2-0618: 無法找到會話識別符號。啟用檢查 PLUSTRACE 角色
SP2-0611: 啟用STATISTICS報告時出現錯誤
該錯誤的的主要原因是由於當前使用者下沒有PLAN_TABLE這張表及相應的PLUSTRACE角色許可權。
解決:
@?/sqlplus/admin/plustrce.sql
@?/rdbms/admin/utlxplan.sql
普通使用者在SQL*Plus中開啟AUTOTRACE報告時,遇到SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled錯誤。如下所示:
SQL>
SQL> set autotrace on;
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report
SQL>
此時應該檢查資料庫是否已經建立了角色PLUSTRACE,使用下面指令碼檢查角色PLUSTRACE是否存在。
SELECT * FROM DBA_ROLES WHERE ROLE='PLUSTRACE'
如果角色不存在,應該去$ORACLE_HOME/sqlplus/admin/目錄下,你會找到plustrce.sql指令碼檔案。
[oracle@db-server ~]$ cd $ORACLE_HOME/sqlplus/admin/
[oracle@db-server admin]$ ls
glogin.sql help iplus libisqlplus.def libsqlplus.def plustrce.sql pupbld.sql
[oracle@db-server admin]$ more plustrce.sql
--
-- Copyright (c) Oracle Corporation 1995, 2002. All Rights Reserved.
--
-- NAME
-- plustrce.sql
--
-- DESCRIPTION
-- Creates a role with access to Dynamic Performance Tables
-- for the SQL*Plus SET AUTOTRACE ... STATISTICS command.
-- After this script has been run, each user requiring access to
-- the AUTOTRACE feature should be granted the PLUSTRACE role by
-- the DBA.
--
-- USAGE
-- sqlplus "sys/knl_test7 as sysdba" @plustrce
--
-- Catalog.sql must have been run before this file is run.
-- This file must be run while connected to a DBA schema.
set echo on
drop role plustrace;
create role plustrace;
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$mystat to plustrace;
grant plustrace to dba with admin option;
set echo off
執行該指令碼就會建立角色PLUSTRACE,如下所示。然後將該角色授予對應使用者即可。
About Me
...............................................................................................................................
● 本文整理自網路
● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文pdf版及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● QQ群:230161599 微信群:私聊
● 聯絡我請加QQ好友(642808185),註明新增緣由
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
...............................................................................................................................
拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2135621/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Explain Plan中AUTOTRACE引起的SP2-0613和SP2-0611錯誤 (轉)AI
- SP2-0618和_SP2-0611錯誤處理
- 錯誤SP2-0618和SP2-0611處理
- 【Oracle】SP2-0613,SP2-0611問題解決Oracle
- SP2-0618和_SP2-0611錯誤處理 plustrce許可權問題
- SP2-0618和_SP2-0611錯誤處理(轉)
- plustrce.sql的作用SQL
- 啟用PLUSTRACE 角色——設定AUTOTRACE出現SP2-0618、SP2-0611錯誤
- set autotrace on 時報SP2-0618、SP2-0611的解決方法
- 【ERROR】非DBA使用者要使用autotrace功能,報錯(SP2-0618:和SP2-0611:和ORA-01919)Error
- 設定AUTOTRACE是出現SP2-0611和ORA-942錯誤。
- 設定AUTOTRACE時出現SP2-0611錯誤
- 【SQL*Plus】使用BREAK和COMPUTE在SQL*Plus中得到分組統計結果SQL
- 【SQL*Plus】在SQL*Plus中謹慎使用Ctrl+S快捷鍵SQL
- 在sql*plus中顯示長字元SQL字元
- 在shell中執行SQL*Plus命令SQL
- 解決securecrt中sqlplus和rman中sql語句上下鍵顯示SecurecrtSQL
- 【SQL*Plus】直接X掉視窗對SQL*Plus中的操作結果的影響SQL
- Oracle autotrace 報 SP2-0618 PLUSTRACE role 問題解決Oracle
- 使用SQL*PlusSQL
- oracle中SQLPLUS的Login.sqlOracleSQL
- sqlplus中glogin.sql的例子SQL
- SP2-0618: Cannot find the Session Identifier.Check PLUSTRACE role is enabledSessionIDE
- SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabledSessionIDE
- SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabledSessionIDE
- 【sqlplus】SQL*Plus命令使用大全SQL
- SQL*Plus安全(一)SQL
- SQL*Plus安全(二)SQL
- SQL*PLUS安全(三)SQL
- SQL*PLUS安全(四)SQL
- SQL*Plus Substitution VariablesSQL
- set autotrace in SQL*PlusSQL
- sql*plus入門SQL
- 解決SQL*Plus中無法正常退格情況SQL
- 使用sql*plus編輯sql文字SQL
- ORACLE SQL and SQL*PLUS (strong recommend)OracleSQL
- sql之27 using sql*plusSQL
- sql之26 using sql*plusSQL