10g sqlplus的一個bug
今天測試一個儲存過程的時候無意發現了一個10g sqlplus 的bug.
資料庫版本資訊:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
先建立一個過程,證明許可權是沒問題的:
SQL> create or replace procedure p_test is
2 begin
null;
3 4 end;
5 /
Procedure created.
--開啟autotrace,執行後關閉autotrace
SQL> set autotrace trace
SQL> select 1 from dual;
Execution Plan
----------------------------------------------------------
Plan hash value: 1388734953
-----------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-----------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | FAST DUAL | | 1 | 2 (0)| 00:00:01 |
-----------------------------------------------------------------
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
0 consistent gets
0 physical reads
0 redo size
508 bytes sent via SQL*Net to client
468 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> set autotrace off
--此時再次建立過程會提示許可權不足
SQL> create or replace procedure p_test is
2 begin
3 null;
4 null;
5 end;
6 /
create or replace procedure p_test is
*
ERROR at line 1:
ORA-01031: insufficient privileges
遇到這種情況,只能重新連線,否則執行什麼都會報許可權不足。
--查了一下,後來修改的過程並沒有成功
SQL> select text from user_source where name='P_TEST';
TEXT
--------------------------------------------------------------------------------
procedure p_test is
begin
null;
end;
SQL> show user
USER is "SYS"
簡單總結一下出發這個bug的條件:
1、以sys使用者登入
2、在開啟、並關閉autotrace開關後執行SQL
3、資料庫版本是10g(只在10201測試過)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63857/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle的一個bugOracle
- TestHome 的一個 Bug
- Snakeyaml的一個bugYAML
- 一個奇怪的 Bug
- [BUG反饋]AdminController類的一個小bugController
- 發現Mapstruct的一個bugStruct
- 一個排序引發的BUG排序
- SpringBoot讀取yml的一個bugSpring Boot
- onethink安裝時的一個bug
- 一個與CONNECT BY相關的BUG
- 遭遇ORA-07445 的一個BUG
- 找到Intel手冊裡的一個bugIntel
- NDK clang編譯器的一個bug編譯
- 發現 ORM 方法 MorphToMany 的一個 BugORM
- java log4j 的一個bugJava
- 碰到一個latch free相關的BUG
- 一個價值8.7億刀的bug
- 一個bug造就的經典遊戲....遊戲
- oracle系列(一)sqlplus命令OracleSQL
- 一個系統BUG引發的血案 -- FKDownloader
- 我好像發現了一個Go的Bug?Go
- 這不會又是一個Go的BUG吧?Go
- iOS layoutMargins 的坑:一個活久見的 bugiOS
- 我們被一個 kong 的效能 bug 折騰了一個通宵
- 【SQLPLUS】sqlplus 客戶端所需的檔案列表SQL客戶端
- [20190215]那個更快(10g).txt
- 記錄一個前端bug的解決過程前端
- 一個由public關鍵字引發的bug
- 一個bug肝一週...忍不住提了issue
- 面試題-python 如何讀取一個大於 10G 的txt檔案?面試題Python
- 一個bug引發的Android分割槽儲存的思考Android
- 遇到ASM的兩個BUGASM
- 記php-fpm重啟導致的一個bugPHP
- 從一個跨二十年的glibc bug說起
- 發現了一個關於 gin 1.3.0 框架的 bug框架
- [BUG反饋]兩個關於釋出文章的BUG
- 踩到一個關於分散式鎖的非比尋常的BUG!分散式
- 一個寧靜祥和沒有bug的下午和SqlSession的故事SQLSession