oracle中的Schema__oracle

來源:互聯網
上載者:User

在一個資料庫中可以有多個應用的資料表,這些不同應用的表可以放在不同的schema之中,同時,每一個schema對應一個使用者,不同的應用可以以不同的使用者串連資料庫,這樣,一個大資料庫就可以根據應用把其表分開來管理。
不同的schema之間它們沒有直接的關係,不同的shcema之間的表可以同名,也可以互相引用(但必須有許可權),在沒有操作別的schema的操作根權下,每個使用者只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的資料(即schema使用者自己的資料)。

Oracle裡schema幾乎和user/使用者是通用的。schema是指一組資料庫object(比如:表,視圖,包,序列,等等),而這些object是屬於使用者的,屬於一個使用者的所有object就叫schema。
如果你使用Oracle的企業管理器Enterprise Manager,你會發現裡面的使用者就叫schema。

Schema 中文意思是 方案.   
     "方案"只是 Oracle 一個分類,不同使用者有不同的方案.
拿 DBA Studio 來說吧,在左邊分了四大類:(常式,儲存,安全,方案)
常式: 是管理庫的啟動...之類的.
儲存: 管理資料表空間,資料檔案之類.
安全: 就是系統管理使用者(密碼,資料表空間分配...)
方案: 有(表,視圖,預存程序...),不同使用者有不同的案.
如: 在"方案"->選你的"使用者名稱"之後,才會出現使用者名稱相關的表.  

----------------------------兩個不容易理解的概念──user和schema

user是控制許可權的,而schema則是一個容器,非所有者如果需要訪問這個容器下的對象就需要在對象前面寫上schema(owner)的名字,如果不想寫而又沒有建立synonym,此時可以通過alter session set current_schema=schema_name來改變當前session的schema從而在訪問對象時省去schema(owner);最終能否訪問對象還是要看是否有訪問這個對象的許可權而和schema無關。

深入理解user和schema的區別:

user即Oracle中的使用者,和所有系統的中使用者概念類似,使用者所持有的是系統的許可權及資源;

而schema所涵蓋的是各種對象,它包含了表、函數、包等等對象的“所在地”,並不包括對他們的許可權控制。

好比一個房子,裡面放滿了傢具,對這些傢具有支配權的是房子的主人(user),而不是房子(schema)。

你可以也是一個房子的主人(user),擁有自己的房子(schema)。可以通過alter session的方式進入別人的房子。

這個時候,你可以看到別人房子裡的傢具(desc)。

如果你沒有特別指定的話,你所做的操作都是針對你當前所在房子中的東西。

至於你是否有許可權使用(select)、搬動(update)或者拿走(delete)這些傢具就看這個房子的主人有沒有給你這樣的許可權了,或者你是整個大廈(DB)的老大(DBA)。alter session set schema可以用來代替synonyms。

如果你想調用其他schema的對象(有許可權的前提下),但並沒有建synonym,同時又不想把其他schema名字放入代碼中,就可以首先使用alter session set schema=<其他schema名字>。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.