Oracle體系結(jié)構(gòu)之-邏輯結(jié)構(gòu)
作者:team 日期:2011-05-09
很多人在學(xué)習(xí)Oracle體系結(jié)構(gòu)的時候會遇到各種各樣的問題,我們在這里給大家簡單的介紹一下Oracle體系結(jié)構(gòu)之邏輯結(jié)構(gòu),那么什么是邏輯結(jié)構(gòu);邏輯結(jié)構(gòu)中分為哪些結(jié)構(gòu)呢?讓我們一起來學(xué)習(xí)Oracle 邏輯結(jié)構(gòu)。
一、Oracle 邏輯結(jié)構(gòu)簡介
oracle的邏輯結(jié)構(gòu)包括表空間(tablespace),段(segment),數(shù)據(jù)塊(data block)以及模式對象(schema)。
oracle數(shù)據(jù)庫在邏輯上是由多個表間組成的,表空間中存儲的對象叫段,比如數(shù)據(jù)段,索引段,和回退段。段由區(qū)組成,區(qū)是磁盤分配的最小單位。段的增大是通過增加區(qū)的個數(shù)來實(shí)現(xiàn)的。每個區(qū)的大小是數(shù)據(jù)塊大小的整數(shù)倍,區(qū)的大小可以不相同;數(shù)據(jù)塊是數(shù)據(jù)庫中最小的I/O單位,同時也是內(nèi)存數(shù)據(jù)緩沖區(qū)的單位,及數(shù)據(jù)文件存儲空間單位。塊的大小由參數(shù)DB_BLOCK_SIZE設(shè)置,其值應(yīng)設(shè)置為操作系統(tǒng)塊大小的整數(shù)倍。
表空間在物理上包含一個或多個數(shù)據(jù)文件。而數(shù)據(jù)文件大小是塊大小的整數(shù)倍;
二、表空間
表空間是Oracle數(shù)據(jù)庫最大的邏輯結(jié)構(gòu),一個Oracle數(shù)據(jù)庫在邏輯上由多個表空間組成,一個表空間只隸屬于一個數(shù)據(jù)庫。Oracle中有一個稱為SYSTEM的表空間,這個表空間是在創(chuàng)建或安裝數(shù)據(jù)庫時自動創(chuàng)建的。主要用于存儲系統(tǒng)的數(shù)據(jù)字典,過程,函數(shù),觸發(fā)器等;也可以存儲用戶的表,索引等。
前面我們說過要查詢表空間可以通過
SQL>select * form dba_data_files;
要查詢表空間的空閑信息可以通過
SQL>select * from dba_free_space;
表空間有在線(online)或離線(offline)之說,一旦我們將表空間設(shè)置成離線的狀態(tài),則所有對該表空間內(nèi)對象的修改將無法同步到數(shù)據(jù)文件中。我們可以將除SYSTEM和RBS表空間之外的其它表空間設(shè)置成離線狀態(tài)。命令如下:
SQL>alter tablespace *** offline;
如果我們想限制某個用戶能夠使用的表空間的大小,則我們可以通過命令:
SQL>alter user *** quota ***m on ***
這表示我們要限制某個指定用戶的表空間使用限額為***M,on之后的參數(shù)就是要限制的表空間
臨時表空間用于為用戶排序的ORDER BY語句使用。創(chuàng)建數(shù)據(jù)庫時可以指定數(shù)據(jù)庫的默認(rèn)臨時表空間。在創(chuàng)建用戶的時候可以指定用戶的默認(rèn)臨時表空間。例如下句就指定temp為用戶的臨時表空間。
SQL>Create USER *** IDENTIFIED BY **** TEMPORARY TABLESPACE temp;
三、段
oracle中的段可以分成4種類型:數(shù)據(jù)段、索引段、回滾段、臨時段。
數(shù)據(jù)段用來存儲用戶的數(shù)據(jù),每個表都有一個對應(yīng)的回滾段,其名稱和數(shù)據(jù)表的名字相同。我們可以用下列的SQL語句來查詢用戶的數(shù)據(jù)段信息:
SQL>select * from user_extents;
索引段用來存儲系統(tǒng)、用戶的索引信息:
SQL>select * from all_indexs / user_indexs;
回滾段用來存儲用戶數(shù)據(jù)修改前的值,回退段與事務(wù)是一對多的關(guān)系,一個事務(wù)只能使用一個回退段,而一個回退段可存放一個或多個事務(wù)的回退數(shù)據(jù)。
臨時段用于order by語句的排序以及一些匯總。四、區(qū)
區(qū)是磁盤空間分配的最小單位。磁盤按區(qū)劃分,每次至少分配一個區(qū)。區(qū)存儲于段中,它由連續(xù)的數(shù)據(jù)塊組成。
區(qū)的分配過程中,每次至分配5個區(qū)。如果所剩的空閑空間不夠5個區(qū),就會出現(xiàn)錯誤:ORA-01653。
可以通過字典dba_tablespaces查詢表空間中區(qū)的信息。可以通過字典user_tables查詢段中區(qū)的信息。可以通過字典user_extents查詢區(qū)的分配狀況。
SQL>select * from dba_tablespaces;
通過這個查詢我們可以看到各個表空間的:
·BLOCK_SIZE :數(shù)據(jù)塊的大小
·INITIAL_EXTENT :初始化時分配的區(qū)的大小,其值為BLOCK_SIZE的整數(shù)倍
·NEXT_EXTENT:當(dāng)初始化時分配的區(qū)不夠時,下一次擴(kuò)展的區(qū)的大小
·MIN_EXTENTS:區(qū)大小的下限
·MAX_EXTENTS:區(qū)大小的上限
我們可以通過以下SQL語句分別查詢表空間、段、區(qū)中區(qū)的分配信息
SQL>select * from dba_tablespaces;
SQL>select table_name, tablespace_name, min_extents, max_extents from user_tables;
SQL>select * from user_extents;
五、數(shù)據(jù)塊
數(shù)據(jù)塊是數(shù)據(jù)中中最小的數(shù)據(jù)組織單位與管理單位,是數(shù)據(jù)文件磁盤存儲空間單位,也是數(shù)據(jù)庫I/O 的最小單位,數(shù)據(jù)塊大小由DB_BLOCK_SIZE參數(shù)決定,不同的oracle版本DB_BLOCK_SIZE的默認(rèn)值是不同的。
六、模式對象(Schema Object)
oracle 模式對象包括了表,索引,約束,過程,函數(shù),觸發(fā)器等等應(yīng)用結(jié)構(gòu)。我們可以通過以下語句查詢表空間或當(dāng)前用戶下的所有schema對象:
SQL>select * from dba_source;
SQL>select * from user_source;
以上就是Oracle體系結(jié)構(gòu)之邏輯結(jié)構(gòu)的一個介紹,希望能幫助到你們。
一、Oracle 邏輯結(jié)構(gòu)簡介
oracle的邏輯結(jié)構(gòu)包括表空間(tablespace),段(segment),數(shù)據(jù)塊(data block)以及模式對象(schema)。
oracle數(shù)據(jù)庫在邏輯上是由多個表間組成的,表空間中存儲的對象叫段,比如數(shù)據(jù)段,索引段,和回退段。段由區(qū)組成,區(qū)是磁盤分配的最小單位。段的增大是通過增加區(qū)的個數(shù)來實(shí)現(xiàn)的。每個區(qū)的大小是數(shù)據(jù)塊大小的整數(shù)倍,區(qū)的大小可以不相同;數(shù)據(jù)塊是數(shù)據(jù)庫中最小的I/O單位,同時也是內(nèi)存數(shù)據(jù)緩沖區(qū)的單位,及數(shù)據(jù)文件存儲空間單位。塊的大小由參數(shù)DB_BLOCK_SIZE設(shè)置,其值應(yīng)設(shè)置為操作系統(tǒng)塊大小的整數(shù)倍。
表空間在物理上包含一個或多個數(shù)據(jù)文件。而數(shù)據(jù)文件大小是塊大小的整數(shù)倍;
二、表空間
表空間是Oracle數(shù)據(jù)庫最大的邏輯結(jié)構(gòu),一個Oracle數(shù)據(jù)庫在邏輯上由多個表空間組成,一個表空間只隸屬于一個數(shù)據(jù)庫。Oracle中有一個稱為SYSTEM的表空間,這個表空間是在創(chuàng)建或安裝數(shù)據(jù)庫時自動創(chuàng)建的。主要用于存儲系統(tǒng)的數(shù)據(jù)字典,過程,函數(shù),觸發(fā)器等;也可以存儲用戶的表,索引等。
前面我們說過要查詢表空間可以通過
SQL>select * form dba_data_files;
要查詢表空間的空閑信息可以通過
SQL>select * from dba_free_space;
表空間有在線(online)或離線(offline)之說,一旦我們將表空間設(shè)置成離線的狀態(tài),則所有對該表空間內(nèi)對象的修改將無法同步到數(shù)據(jù)文件中。我們可以將除SYSTEM和RBS表空間之外的其它表空間設(shè)置成離線狀態(tài)。命令如下:
SQL>alter tablespace *** offline;
如果我們想限制某個用戶能夠使用的表空間的大小,則我們可以通過命令:
SQL>alter user *** quota ***m on ***
這表示我們要限制某個指定用戶的表空間使用限額為***M,on之后的參數(shù)就是要限制的表空間
臨時表空間用于為用戶排序的ORDER BY語句使用。創(chuàng)建數(shù)據(jù)庫時可以指定數(shù)據(jù)庫的默認(rèn)臨時表空間。在創(chuàng)建用戶的時候可以指定用戶的默認(rèn)臨時表空間。例如下句就指定temp為用戶的臨時表空間。
SQL>Create USER *** IDENTIFIED BY **** TEMPORARY TABLESPACE temp;
三、段
oracle中的段可以分成4種類型:數(shù)據(jù)段、索引段、回滾段、臨時段。
數(shù)據(jù)段用來存儲用戶的數(shù)據(jù),每個表都有一個對應(yīng)的回滾段,其名稱和數(shù)據(jù)表的名字相同。我們可以用下列的SQL語句來查詢用戶的數(shù)據(jù)段信息:
SQL>select * from user_extents;
索引段用來存儲系統(tǒng)、用戶的索引信息:
SQL>select * from all_indexs / user_indexs;
回滾段用來存儲用戶數(shù)據(jù)修改前的值,回退段與事務(wù)是一對多的關(guān)系,一個事務(wù)只能使用一個回退段,而一個回退段可存放一個或多個事務(wù)的回退數(shù)據(jù)。
臨時段用于order by語句的排序以及一些匯總。四、區(qū)
區(qū)是磁盤空間分配的最小單位。磁盤按區(qū)劃分,每次至少分配一個區(qū)。區(qū)存儲于段中,它由連續(xù)的數(shù)據(jù)塊組成。
區(qū)的分配過程中,每次至分配5個區(qū)。如果所剩的空閑空間不夠5個區(qū),就會出現(xiàn)錯誤:ORA-01653。
可以通過字典dba_tablespaces查詢表空間中區(qū)的信息。可以通過字典user_tables查詢段中區(qū)的信息。可以通過字典user_extents查詢區(qū)的分配狀況。
SQL>select * from dba_tablespaces;
通過這個查詢我們可以看到各個表空間的:
·BLOCK_SIZE :數(shù)據(jù)塊的大小
·INITIAL_EXTENT :初始化時分配的區(qū)的大小,其值為BLOCK_SIZE的整數(shù)倍
·NEXT_EXTENT:當(dāng)初始化時分配的區(qū)不夠時,下一次擴(kuò)展的區(qū)的大小
·MIN_EXTENTS:區(qū)大小的下限
·MAX_EXTENTS:區(qū)大小的上限
我們可以通過以下SQL語句分別查詢表空間、段、區(qū)中區(qū)的分配信息
SQL>select * from dba_tablespaces;
SQL>select table_name, tablespace_name, min_extents, max_extents from user_tables;
SQL>select * from user_extents;
五、數(shù)據(jù)塊
數(shù)據(jù)塊是數(shù)據(jù)中中最小的數(shù)據(jù)組織單位與管理單位,是數(shù)據(jù)文件磁盤存儲空間單位,也是數(shù)據(jù)庫I/O 的最小單位,數(shù)據(jù)塊大小由DB_BLOCK_SIZE參數(shù)決定,不同的oracle版本DB_BLOCK_SIZE的默認(rèn)值是不同的。
六、模式對象(Schema Object)
oracle 模式對象包括了表,索引,約束,過程,函數(shù),觸發(fā)器等等應(yīng)用結(jié)構(gòu)。我們可以通過以下語句查詢表空間或當(dāng)前用戶下的所有schema對象:
SQL>select * from dba_source;
SQL>select * from user_source;
以上就是Oracle體系結(jié)構(gòu)之邏輯結(jié)構(gòu)的一個介紹,希望能幫助到你們。
上一篇: 成都打造“中國軟件名城”
下一篇: T-DM裝飾管理軟件 7月隆重推出2.0版本
文章來自: 本站原創(chuàng)
引用通告: 查看所有引用 | 我要引用此文章
Tags: Oracle 邏輯結(jié)構(gòu) 邏輯結(jié)構(gòu) Oracle 邏輯結(jié)構(gòu)
相關(guān)日志:
下一篇: T-DM裝飾管理軟件 7月隆重推出2.0版本
文章來自: 本站原創(chuàng)
引用通告: 查看所有引用 | 我要引用此文章
Tags: Oracle 邏輯結(jié)構(gòu) 邏輯結(jié)構(gòu) Oracle 邏輯結(jié)構(gòu)
相關(guān)日志:
評論: 0 | 引用: 0 | 查看次數(shù): -
發(fā)表評論