oracle資料庫結構:邏輯結構和物理結構
資料塊為2K,4K,8K,16K,32K
Oracle建議選擇塊為8K
oracle資料塊尺寸應為磁碟尺寸的倍數
oracle資料塊: Contents
Block header
Free space
Row data
SYS@ora11g>show parameter block
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TYPICAL
db_block_size integer 8192
db_file_multiblock_read_count integer 89
SYS@ora11g>desc dba_extents
Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER VARCHAR2(30)
SEGMENT_NAME VARCHAR2(81)
PARTITION_NAME VARCHAR2(30)
SEGMENT_TYPE VARCHAR2(18)
TABLESPACE_NAME VARCHAR2(30)
EXTENT_ID NUMBER
FILE_ID NUMBER
BLOCK_ID NUMBER
BYTES NUMBER
BLOCKS NUMBER
RELATIVE_FNO NUMBER
SYS@ora11g>desc dba_segments
必備的預設表空間
1.system
2.sysaux
3.undo
4.temporary
5.預設參數列空間
同一資料庫可以有不同oracle塊尺寸的表空間
當物件需要擴充時,oracle將以區為單位分配新的空間,而不是以塊為單位
資料檔案(data file):儲存表和索引的資料
當表耗盡了初始分配的空間時,必須給表空間增加一個新資料檔案來擴大表空間,也可以重新定義已有的資料檔案的尺寸擴充表空間
控制檔案(control file):記錄所有資料庫結構的更改資訊,如資料檔案和重做日誌檔案的名字和位置、當前日誌序號、備份集詳細資訊、SCN
當資料庫寫控制檔案時,該檔案的所有副本一起寫入
SYS@ora11g>desc V$controlfile
Name Null? Type
----------------------------------------- -------- ----------------------------
STATUS VARCHAR2(7)
NAME VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
BLOCK_SIZE NUMBER
FILE_SIZE_BLKS NUMBER
SYS@ora11g>r
1* select STATUS,NAME,IS_RECOVERY_DEST_FILE from v$controlfile
STATUS NAME IS_RECOVERY_DEST_FILE
------- -------------------- -------------------------
+DATA/ora11g/control NO
file/current.256.823
205099
IS_RECOVERY_DEST_FILE顯示控制檔案是否在閃回恢復區
重做日誌檔案(redo log file):包含對錶資料所做的更改資訊
當前重做日誌檔案通常稱為聯機重做日誌
oracle寫一個重做日誌檔案直到該重做檔案末尾,然後進行日誌切換並開始寫第二個日誌檔案(然後寫第三個,如果有的話)
spfile(server parameter file)伺服器引數檔案
spfile是二進位制檔案,始終存在資料庫伺服器中
SYS@ora11g>show parameter spfile
NAME TYPE
------------------------------------ --------------------
VALUE
------------------------------
spfile string
+DATA/ora11g/spfileora11g.ora
SYS@ora11g>Select isspecified,count(*) from v$spparameter group by isspecified;
ISSPEC COUNT(*)
------ ----------
TRUE 17
FALSE 327
[oracle@gc ~]$ find /u02/app -name alert_ora11g.log
/u02/app/diag/rdbms/ora11g/ora11g/trace/alert_ora11g.log
grep ORA- alert_ora11g.log
SYS@ora11g>show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ -------------------- ------------------------------
background_dump_dest string /u02/app/diag/rdbms/ora11g/ora
11g/trace
ADR(Automatic Diagnostic Repository)自動診斷資訊庫
程式實質是執行作業系統任務或作業的連線或執行緒。
使用者程式:負責執行連線使用者與資料庫例項的應用
伺服器程式
後臺程式
oracle會話:使用者通過oracle使用者程式與oracle例項的特定連線。
----------------------------------------------------------------------------------------
後臺程式 功能
----------------------------------------------------------------------------------------
資料庫寫入器(DBWn) 將更改的資料從緩衝區快取記憶體寫入磁碟(資料檔案)
日誌寫入器(LGWR) 將重做日誌緩衝區內容寫入聯機重做日誌檔案
檢查點(CKPT) 更新所有資料檔案的頭以記錄檢查點的詳細資訊
程式監控器(PMON) 清除完成後的程式和失敗的程式
系統監控器(SMON) 執行崩潰恢復併合並區
歸檔器(ARCn) 歸檔填滿的聯機重做日誌檔案
------------------------------------------------------------------------------------------
ps -ef|grep ora_
SQL>desc v$bgprocess
Name Null? Type
----------------------------------------------------------------------------------- -------- --------------------------------------------------------
PADDR RAW(8)
PSERIAL# NUMBER
NAME VARCHAR2(5)
DESCRIPTION VARCHAR2(64)
ERROR NUMBER
SQL>set linesize 1000
SQL>select * from v$bgprocess;
PADDR PSERIAL# NAME DESCRIPTION
---------------- ---------- ---------- ---------------------------------------
000000009107EB78 1 PMON process cleanup
0000000091080C78 1 VKTM Virtual Keeper of TiMe process
0000000091081CF8 1 GEN0 generic0
0000000091082D78 1 DIAG diagnosibility process
0000000091083DF8 1 DBRM DataBase Resource Manager
oracle記憶體結構:SGA PGA