成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle重編譯同義詞(Synonym)遇到ORA-01031總結

數據庫 Oracle
我們在編譯INVALID的同義詞(synonym)的時候,可能在某些版本會遇到一些特殊權限問題,具體來說是遇到ORA-01031錯誤。

[[409302]]

本文轉載自微信公眾號「DBA閑思雜想錄」,作者瀟湘隱者。轉載本文請聯系DBA閑思雜想錄公眾號。

我們在編譯INVALID的同義詞(synonym)的時候,可能在某些版本會遇到一些特殊權限問題,具體來說是遇到ORA-01031錯誤。下面構造這樣一個例子:

如下所示,scott用戶下面創建了一個公共同義詞emp(下面測試環境為Oracle 10.2.0.5)

  1. SQL> show user
  2. USER is "SCOTT" 
  3. SQL> create public synonym emp for scott.emp; 
  4.  
  5. Synonym created. 
  6.  
  7. SQL>  

假設我們需要重新編譯同義詞,在system用戶下去編譯同義詞時,就會遇到ORA-01031

  1. SQL> show user
  2. USER is "SYSTEM" 
  3. SQL> alter public synonym emp compile; 
  4. alter public synonym emp compile 
  5. ERROR at line 1: 
  6. ORA-01031: insufficient privileges 

另外一種情況也會遇到這個錯誤,UserA 去編譯UserB下的同義詞的話,也會遇到這個錯誤。按照我的理解,如果用戶擁有CREATE ANY SYNONYM和DROP ANY SYNONYM權限的話,應該是可以編譯其它SCHEMA下的同義詞。而且SYSTEM用戶被授予了DBA角色,DBA角色擁有CREATE ANY SYNONYM 或DROP ANY SYNONYM的權限。

  1. SQL>  SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE IN('CREATE ANY SYNONYM','DROP ANY SYNONYM'AND GRANTEE='DBA'
  2.  
  3. GRANTEE                        PRIVILEGE                                ADM 
  4. ------------------------------ ---------------------------------------- --- 
  5. DBA                            DROP ANY SYNONYM                         YES 
  6. DBA                            CREATE ANY SYNONYM                       YES 
  7.  
  8.  
  9. SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='SYSTEM'
  10.  
  11. GRANTEE                        GRANTED_ROLE                   ADM DEF 
  12. ------------------------------ ------------------------------ --- --- 
  13. SYSTEM                         AQ_ADMINISTRATOR_ROLE          YES YES 
  14. SYSTEM                         DBA                            YES YES 
  15. SYSTEM                         MGMT_USER                      NO  YES 

但是metalink上的文檔Doc ID 1299001.1提示:同義詞的編譯時,要么是sys用戶或者同義詞的OWNER才能編譯,也就是說,你要編譯同義詞emp,必須是scott用戶或sys用戶。

  1. SQL> show user 
  2. USER is "SYS" 
  3. SQL> alter public synonym emp compile; 
  4.  
  5. Synonym altered. 

所以在Oracle 10g下要編譯其它schema下的同義詞,必須是sys用戶。Ora-01031 When Compiling A Synonym (Doc ID 1299001.1)的介紹如下:

文檔Ora-01031 When Executing Alter Synonym Compile For Other Schema (Doc ID 1435898.1)中也有相關簡單闡述

在Oracle 11.2.0.4.0中測試也是如此。但是后續官方文檔中將這個現象視為一個Bug,官方文檔4189542 - Only SYS can "alter synonym... compile" for another users's synonym (Doc ID 4189542.8)中有簡單介紹,并且在后面的一些版本中修復了這個Bug,Doc ID 4189542.8的具體信息如下如下:

  1. Only SYS can "alter synonym... compile" for another users's synonym. 
  2.  
  3. Other users get ORA-1031 attempting to compile another users synonym. 
  4.   
  5.   
  6.  
  7. With this fix a user with both CREATE ANY SYNONYM and DROP ANY SYNONYM  
  8.  
  9. privilege is allowed to issue ALTER SYNONYM .. COMPILE for another users synonym. 

相同的現象在不同文檔中有不同闡述,確實有點讓人迷惑,如果獲取的信息不全或比較片面的話,可能會對這個問題和現象有不同的理解。

參考資料:

Ora-01031 When Compiling A Synonym (Doc ID 1299001.1)

Ora-01031 When Executing Alter Synonym Compile For Other Schema (Doc ID 1435898.1)

Bug 4189542 - Only SYS can "alter synonym... compile" for another users's synonym (Doc ID 4189542.8)

 

責任編輯:武曉燕 來源: DBA閑思雜想錄
相關推薦

2011-04-13 16:39:43

2010-04-22 14:29:12

Oracle同義詞

2010-04-22 14:26:00

Oracle創建同義詞

2021-01-19 08:09:04

Oracle數據庫權限

2010-04-22 14:55:39

2010-05-06 09:09:13

Oracle同義詞

2010-05-04 14:02:53

Oracle同義詞

2011-08-12 12:59:33

Oracle數據庫同義詞

2011-08-02 17:06:29

Oracle遠程數據庫創建DB Link

2010-10-28 10:37:54

Oracle批量賦權

2023-03-08 15:38:56

Linux命令dict

2010-10-12 13:55:41

MySQL EXPLA

2021-04-17 23:10:59

Python微軟Word

2020-07-07 10:50:19

Python丄則表達文本

2010-04-22 11:32:57

Lvs負載均衡

2010-02-02 10:33:22

C++引用

2011-07-21 16:10:11

button按鈕jQuery Mobi

2025-03-28 03:20:00

MySQL數據庫搜索

2017-11-13 13:39:24

SparkHadoop大數據

2013-05-20 10:56:35

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人国产乱 | 午夜影院| 99看片网| 国产一级片 | 国产日韩一区 | 二区精品 | a爱视频| 一区二区不卡视频 | 久久久久久亚洲 | 噜噜噜噜狠狠狠7777视频 | 国产一区二区三区亚洲 | 亚洲欧美一区二区三区1000 | 日韩精品一区二区三区免费观看 | 成人在线电影在线观看 | 精品国产欧美一区二区 | 中文字幕人成乱码在线观看 | 欧美激情精品久久久久久 | 91观看| 日韩精品视频在线观看一区二区三区 | 国产亚洲精品精品国产亚洲综合 | av福利网站 | 成人在线免费观看 | 中文字幕乱码一区二区三区 | 粉嫩一区二区三区国产精品 | 成人在线观看免费视频 | www.亚洲.com | 最新免费黄色网址 | 日韩在线小视频 | 国产精品jizz在线观看老狼 | 国产日韩欧美一区二区在线播放 | 网站黄色在线 | 精品熟人一区二区三区四区 | 亚洲一区中文字幕在线观看 | 狠狠色狠狠色综合系列 | 国产精品永久久久久久久www | 综合婷婷| 97精品国产97久久久久久免费 | 国产极品粉嫩美女呻吟在线看人 | 99久久婷婷国产综合精品电影 | 中文字幕一区在线 | 国产精品无码久久久久 |