在物化視圖查詢中是否可以有公共synonims?在oracle物化視圖中使用公有同義詞
1
A
回答
1
讓我們試試。您顯然需要被授予正確的權限,但似乎可行。我只能猜測你的問題是你的同義詞而不是物化視圖。
create table tmp_test as
select level as id, 'something' as blah
from dual
connect by level <= 100;
Table created.
alter table tmp_test
add constraint pk_tmp_test
primary key (id)
using index;
Table altered.
create materialized view log on tmp_test with primary key;
Materialized view log created.
create or replace public synonym testing123 for tmp_test;
Synonym created.
create materialized view working
refresh fast on demand
as
select *
from testing123;
Materialized view created.
select *
from working
where rownum < 11
;
ID BLAH
---------- ---------
1 something
2 something
3 something
4 something
5 something
6 something
7 something
8 something
9 something
10 something
10 rows selected.
2
「越來越:ERROR位於第1行:ORA-00980:同義詞轉換不再 有效;但如果我在同一個用戶查詢,它運行良好」
該消息意味着同義詞引用了一個不在範圍內的對象。這可能會在底層對象被刪除時發生,或者名稱拼寫錯誤。如果對象位於另一個模式中,並且所有者撤銷我們的權限,也會發生這種情況。
由於您的查詢運行正常,我們可以排除第一個原因。所以你的問題是同義詞指向對象的權限。
我認爲你的用戶已被授予通過角色的權利。這使我們能夠在查詢中使用該對象。但是,我們無法使用這些權限來構建數據庫對象 - 存儲過程,視圖和素材視圖。我們需要直接授予用戶的特權。這只是Oracle安全模型的工作方式。
相關問題
- 1. 物化視圖和同義詞
- 2. Oracle:私有和公共同義詞
- 3. 同義詞與實物視圖
- 4. ORACLE - 物化視圖日誌
- 5. Oracle - 更新物化視圖
- 6. Oracle TOAD和物化視圖
- 7. Oracle - 創建物化視圖
- 8. Oracle物化視圖錯誤
- 9. 公有同義詞創建
- 10. Oracle禁用物化視圖刷新
- 11. 如何刷新在Oracle物化視圖
- 12. Oracle實體化視圖VS物理表
- 13. oracle物化視圖並行性
- 14. Oracle物化視圖:分區策略
- 15. 表複製(物化視圖)Oracle
- 16. Oracle - 物化視圖alter structure so slow
- 17. Oracle物化視圖計算成本
- 18. oracle物化視圖刷新時間
- 19. Oracle:物化視圖上的result_cache
- 20. Oracle物化日誌上的多個物化視圖
- 21. 索引視圖似乎並不等同於Oracle物化
- 22. Oracle - 如何使用FAST REFRESH和JOINS創建物化視圖
- 23. 跟蹤Oracle中物化視圖的變化
- 24. 如何在Oracle中創建「部分物化」視圖?
- 25. 在oracle中每個月26號刷新物化視圖
- 26. 在Postgres中調用另一個物化視圖的物化視圖
- 27. 具有UNKNOWN陳舊性的物化視圖 - Oracle 11G
- 28. 化合物在Oracle
- 29. 物化視圖用例
- 30. DasbDB中的物化視圖
你試過了嗎? :) – 2012-03-07 08:00:10
是的,我做了,得到:錯誤在第1行:ORA-00980:同義詞翻譯不再有效;但如果我爲同一個用戶運行查詢,它運行良好。 – Balualways 2012-03-07 08:02:57