水煮oracle33---關於oracle中segment、schema和user區別
schema官方文件解釋:
官方文件中關於schema是這樣解釋的:
“A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user.
Schema objects are the logical structures that directly refer to the database's data. Schema objects include structures like tables,
views, and indexes.
(There is no relationship between a tablespace and a schema.
Objects in the same schema can be in different tablespaces, and a tablespace can hold objects from different schemas.)”
官方文件裡面說得比較明白,schema是資料物件的集合,包括像表、檢視、索引、同義詞等等都可以說是schema的物件。
但不夠生動,網上有篇文章裡面把schema和user的關係用一個形象的比喻闡述得非常透徹,引用如下:
“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=。”
segment是oracle資料庫中的分配單位,物件如表、索引等都是以段為單位進行分配。
當建立一個表時將建立一個表段,建立一個索引時就建立一個索引段。
每一個消耗儲存空間的物件最終被儲存到一個單一的段中。有回滾段、臨時段、聚簇段、索引段等。
方案(schema)又叫模式,是比表空間小一級的邏輯概念,它也是一個邏輯容器。
多個使用者可能共用一個表空間,那如何區分開每一個使用者?那麼在表空間中對每個使用者都有一個對應的方案,用於儲存單個使用者的資訊。
官方文件中關於schema是這樣解釋的:
“A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user.
Schema objects are the logical structures that directly refer to the database's data. Schema objects include structures like tables,
views, and indexes.
(There is no relationship between a tablespace and a schema.
Objects in the same schema can be in different tablespaces, and a tablespace can hold objects from different schemas.)”
官方文件裡面說得比較明白,schema是資料物件的集合,包括像表、檢視、索引、同義詞等等都可以說是schema的物件。
但不夠生動,網上有篇文章裡面把schema和user的關係用一個形象的比喻闡述得非常透徹,引用如下:
“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=。”
segment是oracle資料庫中的分配單位,物件如表、索引等都是以段為單位進行分配。
當建立一個表時將建立一個表段,建立一個索引時就建立一個索引段。
每一個消耗儲存空間的物件最終被儲存到一個單一的段中。有回滾段、臨時段、聚簇段、索引段等。
方案(schema)又叫模式,是比表空間小一級的邏輯概念,它也是一個邏輯容器。
多個使用者可能共用一個表空間,那如何區分開每一個使用者?那麼在表空間中對每個使用者都有一個對應的方案,用於儲存單個使用者的資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23890223/viewspace-773918/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- computed watcher和user watcher的區別
- 關於_rollback_segment_count
- Oracle中Date和Timestamp的區別Oracle
- oracle中distinct和group by的區別Oracle
- 關於gcc、make和CMake的區別GC
- oracle中schema指的是什麼?Oracle
- 不同於Oracle:SEQUENCE的區別Oracle
- MySQL和Oracle的區別MySqlOracle
- Oracle和MySQL的區別OracleMySql
- 關於stable_sort()和sort()的區別:
- Vuejs中關於computed、methods、watch的區別VueJS
- Oracle 中varchar2 和nvarchar2區別Oracle
- oracle user$Oracle
- http中session和cookie的區別和關係HTTPSessionCookie
- 關於java的引用和c++的區別JavaC++
- 關於PHP this 和 self 呼叫類方法的區別PHP
- Oracle中單引號和雙引號的區別Oracle
- 關於oracle中的undoOracle
- 關於Ajax和websocket的區別以及使用場景!Web
- 關於CATALINA_HOME 和 CATALINA_BASE 的區別
- Oracle dba角色和sysdba的區別Oracle
- Oracle 和 mysql的9點區別OracleMySql
- 關於Oracle的BLOB和CLOBOracle
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- Cookie 和 Session 關係和區別CookieSession
- 關於Vue和React區別的一些筆記VueReact筆記
- Oracle OCP(28):USEROracle
- 【ASK_ORACLE】Library cache pin 與 library load lock的關係和區別Oracle
- Oracle中select for update ...一些區別Oracle
- 關於 Go 中 Map 型別和 Slice 型別的傳遞Go型別
- postgresql關於postgresql.auto.conf和postgresql.conf的區別SQL
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- 關於C++中字串輸入get與getline的區別C++字串
- CV關於Mysql中ON與Where區別問題詳解buaMySql
- dg和ogg的區別--oracle資料庫Oracle資料庫
- NULL在oracle和mysql索引上的區別NullOracleMySql索引
- nginx關於root與alias的區別Nginx
- 關於C與C++的區別C++
- Android關於buildToolVersion與CompileSdkVersion的區別AndroidUICompile