成人免费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-05-06 09:09:13

Oracle同義詞

2010-04-22 14:55:39

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技術棧公眾號

主站蜘蛛池模板: 日韩一区二区三区在线 | 国产乱码精品一区二区三区五月婷 | 国产日韩欧美二区 | 视频精品一区 | 日韩区| 日韩在线观看中文字幕 | 成人av网站在线观看 | 国产成人精品一区二区三区四区 | 欧美高清视频一区 | 美女视频黄色的 | 五月婷婷激情网 | 男女爱爱网站 | 国产1区2区3区 | 国产成人精品一区二区三区视频 | 91精品国产乱码久久久久久久久 | 欧美成人精品一区二区三区 | 国产一区精品 | 羞羞视频网站免费观看 | 精品美女久久久 | 午夜寂寞福利视频 | 亚洲视频免费 | 欧美视频中文字幕 | 国产成人精品午夜视频免费 | 精品久久国产视频 | 日本a级大片 | 国产一区二区三区www | 成人网在线看 | 精品无码三级在线观看视频 | 国产a爽一区二区久久久 | 中文字幕第一页在线 | 三级黄视频在线观看 | 完全免费在线视频 | 欧美久久一区二区三区 | 日韩免费网站 | 伊人导航 | 国产精品久久亚洲 | 国产精品69毛片高清亚洲 | 久久偷人| 久久91 | 亚洲精品免费在线 | 国产一区二 |