oracle USER 与 Schema 的关系与区别
user即Oracle中的用戶,和所有系統(tǒng)的中用戶概念類似,用戶所持有的是系統(tǒng)的權(quán)限及資源;
而schema所涵蓋的是各種對象,它包含了表、函數(shù)、 包等等對象的“所在地”,并不包括對他們的權(quán)限控制。
?
好比一個(gè)房子,里面放滿了家具,對這些家具有支配權(quán)的是房子的主人(user),而不是房子 (schema)。
你可以也是一個(gè)房子的主人(user),擁有自己的房子(schema).可以通過alter?session的方式進(jìn)入別人的房子。
如果你沒有特別指定的話,你所做的操作都是針對你當(dāng)前所在房子中的東西。
至于你是否有權(quán)限使用(select)、搬動(update)或者拿走 (delete)這些家具就看這個(gè)房子的主人有沒有給你這樣的權(quán)限了,或者你是整個(gè)大廈(DB)的老大(DBA)。
?
alter?session?set?schema可以用來代替synonyms。
?
如果你想調(diào)用其他schema的對象(有權(quán)限的前提下),
但并沒有建 synonym,同時(shí)又不想把其他schema名字放入代碼中,
?
就可以首先使用alter?session?set?schema=<其他 schema名字>。”?
?
?
用戶【trip]如果有權(quán)限訪問【crm】下的表:employee.
?
關(guān)于當(dāng)前schema 的轉(zhuǎn)換代碼如下:
?
| 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; |
總結(jié)
以上是生活随笔為你收集整理的oracle USER 与 Schema 的关系与区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle SQL性能优化技巧大总结
- 下一篇: 安装ORACLE 11G R2 +red