day06:02oracle体系结构_存储结构
?存儲結構
一? 邏輯結構
?段、區、塊
?Segments/Extents/DataBlocks
? 從存儲的角度只有段
? ?記錄到數據字典
? ?創建段
1、表空間 tablespace
? 表空間是數據庫的最大邏輯存儲結構,和物理數據文件相對應,一個表空間可以由多個數據文件組成,一個數據文件只能屬于一個表空間
? 主要的幾個表空間:
SYSAUX: 系統輔助表空間,由ORACLE自行維護
UNDO: 存放撤銷信息的表空間
USERS; 建議用戶使用的表空間,scott用戶的表就在這個表空間上
建議:不同應用系統存放在不同的表空間上,不同的表空間的文件放在不同的磁盤上,減少并發,提高性能。
??
?段 一個獨立的邏輯存儲結構,用于存儲表、索引或簇等占用空間的對象,一個段只能屬于一個數據庫對象
? 有以下幾種段:
? ?數據段
? ? 數據段存放的是數據表中的數據,數據段的增大時向數據段增加區,創建表時,系統自動創建一個同名的段
? ?索引段
? ? 包含了用于提高系統性能的索引,一旦建立索引,系統自動創建一個同名的索引段
? ?回滾段
? ? 也叫撤銷段,該段保存了回滾的條目,oracle將修改前的舊數據存放在回滾段中,利用這個,可以撤銷未提交的操作
? ?臨時段
? ? 當執行創建索引、查詢等操作時,系統會使用一些臨時空間用來保存解析過的查詢語句以及在排序過程中產生的臨時數據
?區: 段空間分配時最小的單位,由連續的數據塊組成
?塊 :組成區的最小單位,通常是操作系統數據塊的整數倍,ORACLE支持同時使用多種大小
SQL> col name for a30; SQL> col value for a30; SQL> select name,value from v$parameter where name='db_block_size'; NAME VALUE ------------------------------ ------------------------------ db_block_size 8192
塊組成部分:
? ?塊頭 存放數據塊的基本信息,如塊的物理地址,塊所屬段的類型
? ?表目錄 如果是數據表,存放數據表的相關信息
? ?行目錄 如果有行數據,那么存儲行信息
? ?空余空間 新行插入和存在行的更新
? ?行數據 存放表數據和索引數據
表空間: 大于數據文件的邏輯概念
分類:
?基本表空間: 一般為用戶使用的永久性表空間,存儲用戶永久性數據
?臨時表空間: 臨時表空間是一個磁盤空間,存儲用戶在執行ORDER BY等語句進行排序或匯總時產生的臨時數據,默認情況下所有用戶都使用temp作為默認的臨時表空間,也允許使用其他臨時表空間作為默認臨時表空間,需要在創建用戶時指定
?大文件表空間: 存儲大型數據
?非標準數據塊表空間:在一個實例中創建數據庫大小不同的表空間
?撤銷表空間:存儲事務的撤銷數據,在數據恢復時使用,一個數據庫中可以有多個撤銷表空間,但是數據庫一次只能使用一個,默認使用自動創建的undotbs撤銷表空間。
默認:
?SYSTEM: 數據字典
?SYSAUX: 輔助系統表空間
?UNDOTBS1: UNDO回滾段,存儲修改前的數據
?TEMP: 臨時表空間,會話使用
?USERS:?
狀態屬性:
?ONLINE: ?在線,允許訪問該表空間中的數據
?OFFLINE: 離線,不允許訪問該表空間的數據
?READ ONLY: 只讀,只允許讀
? 必須處于ONLINE狀態
? 不能包含任何事務的回滾段
? 不能處于在線備份期間
?READ WRITE: 讀寫,可以讀寫
? 必須處于ONLINE狀態
2、段管理
?使用自動段管理,使用位圖進行管理
3、區管理
?區管理方法為每個表空間設置,應用于表空間中的所有段,可使用字典管理或者本地管理,但是請不要使用字典管理。
?字典管理:
? 使用兩張表對區進行管理
?本地管理:
? 使用位圖來管理區
使用uniform size指定每次分配的區大小
#創建一個區大小為150m的表空間dabiao SQL> create tablespace dabiao datafile '/u01/app/oracle/oradata/orcl/dabiao_01.dbf' size 1g extent management local uniform size 150m;#查看創建好的表空間中數據文件的大小 SQL> select name,bytes/1024/1024 from v$datafile;#查看表空間的信息 SQL> select tablespace_name, next_extent,min_extlen from dba_tablespaces;#創建一個區大小為150k的表空間xiaobiao SQL> create tablespace xiaobiao datafile '/u01/app/oracle/oradata/orcl/xiaobiao_01.dbf' size 2g extent management local uniform size 150k;#查看創建好的表空間中數據文件的大小 SQL> select name,bytes/1024/1024 from v$datafile;#查看表空間信息 SQL> select tablespace_name,next_extent,min_extlen from dba_tablespaces;#OEACLE公司建議使用autoallcate關鍵字 SQL> create tablespace xiaobiao1 datafile '/u01/app/oracle/oradata/orcl/all_01.dbf' size 2g extent management local autoallocate;?
二 物理結構
數據文件
?操作系統塊 os blocks
數據庫的幾類文件
?CONTROL FILE ?控制文件 ?在線
?DATA FILE ? 數據文件 ?在線
?REDO LOG FILE ?重做日志文件 在線
?PARAMETER FILE ?參數文件 ?在線
?
?ARCHIVE LOG FILE 歸檔日志文件 離線
?PASSWORD FILE ?密碼文件 ?離線
?alert file ? 告警文件
?trace file ? ?追蹤文件
?
?在線文件 文件實時改變,不能進行操作
?離線文件 文件生成后不會改變
?安全:
? 復用:一個不行就兩個
? 分散:一個地方不保險就整兩個地方
1、控制文件 (control file)
==========================
?? ?每個數據庫都有一個唯一的控制文件,其中包含關于數據庫本身的數據,可以維護多個副本以防止完全丟失,還可以包含與備份相關的元數據,控制文件對數據庫至關重要,沒有控制文件,數據庫無法打開
作用:
?用于記錄數據庫的物理結構,屬于重要角色,沒有控制文件,實例立即崩潰,數據庫的啟動和正常運行都離不開控制文件。
包含的內容:
?數據庫物理結構信息
?數據庫歸檔歷史信息
?各個數據文件的SCN號和系統檢查點信息
?RMAN元數據
?
性質:
?控制文件是一個二進制文件,不可以通過文本編輯器編輯,該文件由oracle自行維護,oracle建議至少有兩份冗余,并且放在不同的磁盤上。
2、數據文件
=====================================================
?? ?包含數據庫的用戶或應用程序數據,以及元數據和數據字典
作用:
?用來存儲實際數據,數據文件是存儲數據的物理概念。
數據文件的狀態
?ONLINE: ?聯機狀態
?OFFLINE: 脫機狀態
?OFFLINE DROP: 刪除數據文件
?
?將數據文件OFFLINE時,不影響表空間的狀態,但是表空間的狀態會影響到數據文件的狀態。
3、 日志文件 (redo??log)
============================================================
?? ?允許數據庫實例恢復,如果數據庫服務器崩潰并且沒有丟失任何數據文件,實例可以用這些文件中的信息恢復數據庫
作用:記錄數據文件的每一個變化過程,保證數據庫一致性
包含:
?三組redo log
?每組中有多個成員
?成員和成員之間是完全相同的關系
?無需備份,無法備份
?使用復用來保護
?
狀態:
?unused ?剛啟用的時候,還沒有循環過來
?inactive 沒有啟用
?active ?啟用
?current ?當前
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的day06:02oracle体系结构_存储结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: day06 : 01 Oracle 体
- 下一篇: 06day 03cdbpdb也成为 多租