下記のようにOracleのDBでPLUSTRACEロールの権限が付与されていないユーザなのに、実行計画が取得できるように見えるのは何故なのでしょうか?
この実行計画の情報は偽物?なのでしょうか。
[vagrant@ ~]$ sqlplus usr01/usr01@XE SQL*Plus: Release 11.2.0.2.0 Production on Sat Feb 24 02:26:32 2018 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> !echo "ユーザ権限確認" ユーザ権限確認 SQL> select * from user_role_privs; no rows selected SQL> SQL> SQL> !echo "autotrace off"の場合 autotrace offの場合 SQL> set autotrace off SQL> select * from emp where rownum = 1; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------- ---------- ---------- DEPTNO ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 SQL> SQL> SQL> !echo "autotrace on"の場合 autotrace onの場合 SQL> set autotrace on SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled SP2-0611: Error enabling STATISTICS report SQL> SQL> select * from emp where rownum = 1; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------- ---------- ---------- DEPTNO ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 Execution Plan ---------------------------------------------------------- Plan hash value: 1973284518 --------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 38 | 2 (0)| 00:00:01 | |* 1 | COUNT STOPKEY | | | | | | | 2 | TABLE ACCESS FULL| EMP | 1 | 38 | 2 (0)| 00:00:01 | --------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter(ROWNUM=1) SQL> exit Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production [vagrant@ ~]$
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/24 02:58
2018/02/24 03:04
2018/02/24 03:10
退会済みユーザー
2018/02/24 03:20