oracle USER 与 Schema 的关系与区别
生活随笔
收集整理的這篇文章主要介紹了
oracle USER 与 Schema 的关系与区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
user即Oracle中的用戶,和所有系統的中用戶概念類似,用戶所持有的是系統的權限及資源;
而schema所涵蓋的是各種對象,它包含了表、函數、 包等等對象的“所在地”,并不包括對他們的權限控制。
?
好比一個房子,里面放滿了家具,對這些家具有支配權的是房子的主人(user),而不是房子 (schema)。
你可以也是一個房子的主人(user),擁有自己的房子(schema).可以通過alter?session的方式進入別人的房子。
如果你沒有特別指定的話,你所做的操作都是針對你當前所在房子中的東西。
至于你是否有權限使用(select)、搬動(update)或者拿走 (delete)這些家具就看這個房子的主人有沒有給你這樣的權限了,或者你是整個大廈(DB)的老大(DBA)。
?
alter?session?set?schema可以用來代替synonyms。
?
如果你想調用其他schema的對象(有權限的前提下),
但并沒有建 synonym,同時又不想把其他schema名字放入代碼中,
?
就可以首先使用alter?session?set?schema=<其他 schema名字>?!?
?
?
用戶【trip]如果有權限訪問【crm】下的表:employee.
?
關于當前schema 的轉換代碼如下:
?
| 1 | conn trip/trip |
| 2 | Connected. |
| 3 | ? select * from crm.employee; |
?
?
| 1 | alter session set current_schema=crm;? |
| 2 | Session altered.? |
| 3 | ? select * from employee; |
總結
以上是生活随笔為你收集整理的oracle USER 与 Schema 的关系与区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle SQL性能优化技巧大总结
- 下一篇: ORACLE 数据库性能 与裸设备