『壹』 寫出數據結構中包含的物理結構和邏輯結構分別有哪些
邏輯結構有:集合結構、線性結構、樹形結構和圖狀結構.
物理結構有:線性存儲結構和非線性存儲結構,線性存儲結構有順序、鏈接、索引和散列4種結構;非線性存儲結構有樹形存儲結構、圖形存儲結構.
呵呵,自己學校的,還認識你呢.~~
『貳』 資料庫的物理結構設計指的是什麼
Log File物理結構
log block結構分為日誌頭段、日誌記錄、日誌尾部
Block Header,佔用12位元組
Data部分
Block tailer,佔用4位元組
Block Header
這個部分是每個Block的頭部,主要記錄的塊的信息
Block Number,表示這是第幾個block,佔用4位元組,是通過LSN計算得來的,佔用4位元組
Block data len,表示該block中有多少位元組已經被使用了,佔用2位元組
First Rec offet,表示該block中作為第一個新的mtr開始的偏移量,佔用2位元組
Checkpoint number,表示該log block最後被寫入時的檢查點的值,佔用4位元組
『叄』 數據的物理結構包括哪兩種表示
數據結構在計算機中的表示稱為數據的物理結構。它包括數據元素的表示和關系的表示。
資料庫的物理結構文件按其作用可以分為三類:數據文件、日誌文件、控制文件。重做日誌文件記錄對資料庫的所有修改信息。它是三類文件中最復雜的一類文件,也是保證資料庫安全與資料庫備份與恢復有直接關系的文件。
『肆』 Oracle資料庫的物理結構有哪些
Oracle資料庫的體系結構包括四個方面:資料庫的物理結構、邏輯結構、內存結構及進程。
1. 物理結構
物理資料庫結構是由構成資料庫的操作系統文件所決定,Oracle資料庫文件包括:
數據文件(Data File)
數據文件用來存儲資料庫中的全部數據,例如資料庫表中的數據和索引數據.通常以為*.dbf格式,例如:userCIMS.dbf 。
日誌文件(Redo Log File)
日誌文件用於記錄資料庫所做的全部變更(如增加、刪除、修改)、以便在系統發生故障時,用它對資料庫進行恢復。名字通常為Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。
控制文件(Control File)
每個Oracle資料庫都有相應的控制文件,它們是較小的二進制文件,用於記錄資料庫的物理結構,如:資料庫名、資料庫的數據文件和日誌文件的名字和位置等信息。用於打開、存取資料庫。名字通常為Ctrl*ctl 格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle資料庫運行時的一些重要參數,如:數據塊的大小,內存結構的配置等。名字通常為init*.ora 格式,如:initCIMS.ora 。
2 邏輯結構
Oracle資料庫的邏輯結構描述了資料庫從邏輯上如何來存儲資料庫中的數據。邏輯結構包括表空間、段、區、數據塊和模式對象。資料庫的邏輯結構將支配一個資料庫如何使用系統的物理空間.模式對象及其之間的聯系則描述了關系資料庫之間的設計.
一個資料庫從邏輯上說是由一個或多個表空間所組成,表空間是資料庫中物理編組的數據倉庫,每一個表空間是由段(segment)組成,一個段是由一組區(extent)所組成,一個區是由一組連續的資料庫塊(database block)組成,而一個資料庫塊對應硬碟上的一個或多個物理塊。一個表空間存放一個或多個資料庫的物理文件(即數據文件).一個資料庫中的數據被邏輯地存儲在表空間上。
表空間(tablespace)
Oracle資料庫被劃分為一個或多個稱為表空間的邏輯結構,它包括兩類表空間,System表空間和非System表空間,其中,System表空間是安裝資料庫時自動建立的,它包含資料庫的全部數據字典,存儲過程、包、函數和觸發器的定義以及系統回滾段。除此之外,還能包含用戶數據。。
一個表空間包含許多段,每個段有一些可以不連續的區組成,每個區由一組連續的數據塊組成,數據塊是資料庫進行操作的最小單位。
每個表空間對應一個或多個數據文件,每個數據文件只能屬於一個表空間。
資料庫塊(database block)
資料庫塊也稱邏輯塊或ORACLE塊,它對應磁碟上一個或多個物理塊,它的大小由初始化參數db-block-size(在文件init.ora中)決定,典型的大小是2k。Pckfree 和pctused 兩個參數用來優化數據塊空間的使用。
區(extent)
區是由一組連續的數據塊所組成的資料庫存儲空間分配的邏輯單位。
段(segment)
段是一個或多個不連續的區的集合,它包括一個表空間內特定邏輯結構的所有數據,段不能跨表空間存放。Oracle資料庫包括數據段、索引段、臨時段、回滾段等。
模式對象(schema object)
Oracle資料庫的模式對象包括表、視圖、序列、同意詞、索引、觸發器、存儲.過程等,關於它們將重點在後面章節介紹。
3.Oracle Server系統進程與內存結構
當在計算機伺服器上啟動Oracle資料庫後,稱伺服器上啟動了一個Oracle實例(Instance)。ORACLE 實例(Instance)是存取和控制資料庫的軟體機制,它包含系統全局區(SGA)和ORACLE進程兩部分。SGA是系統為實例分配的一組共享內存緩沖區,用於存放資料庫實例和控制信息,以實現對資料庫中數據的治理和操作。
『伍』 輕松掌握什麼是數據的物理(存儲)結構
數據結構在計算機中的表示(映像)稱為數據的物理(存儲)結構 它包括數據元素的表示和關系的表示
物理結構 即oracle資料庫使用的操作系統文件結構 對於資料庫物理結構文件 不同的oracle版本 不同的操作系統平台上有不同的存儲目錄結構
winnt| d:oracleproct oradataDB_NAME * *(oracle g);d:orantdatabase* *(oracle oracle ) Unix | /home/app/oracle/proct/ /oradata/DB_NAME/* * ( g);/home/app/oradata/db_name/* *( i i)
資料庫的物理結構文件按其作用可以分為三類
數據文件
日誌文件
控制文件
一 數據文件
數據文件用來存儲資料庫的數據 如表 索引等 讀取數據時 系統首先從資料庫文件中讀取數據 並存儲到SGA的數據緩沖區中 這是為了減少I/O 如果讀取數據時 緩沖區中已經有要讀取的數據 就不需要再從磁碟中讀取了 存儲數據時也是一樣 事務提交時改變的數據先存儲到內存緩沖區中 再由oracle後台進程DBWR決定如何將其寫入到數據文件中
查詢數據文件的信息
sql>select * from dba_data_files或 sql>select * from v$datafile (此數據字典包含文件的動態信息)
一個數據文件只與一個資料庫相聯系 數據文件的大小是可以改變的 可以通過以下語句查詢表空間的空間空閑量
sql>select * from dba_free_space
修改數據文件的大小
sql>alter database datafile "d: df dbf" resize m
資料庫文件的自動擴展特性 請看下面的例子:
sql>alter tablespace tbs add datafile "d: df dbf" size m autoextend on next m maxsize m sql>alter database mydb datafile "d: df dbf" "d: df dbf" autoexetend off sql>alter database mydb datafile "d: df dbf" "d: df dbf" autoexetend on next m maxsize unlimited
二 重做日誌文件
重做日誌文件記錄對資料庫的所有修改信息 它是三類文件中最復雜的一類文件 也是保證資料庫安全與資料庫備份與恢復有直接關系的文件
日誌文件組與日誌成員
在每一個oracle資料庫中 至少有兩個重做日誌文件組 每組有一個個或多個重做日誌文件 即日誌成員 同一組中的成員是鏡像關系 它們存儲的內容是一模一樣的 Oracle在寫日誌時 以一個日誌組為邏輯單位寫入 只在將日誌都寫入日誌組中的每個成員文件中後 寫日誌才完成
日誌工作原理
Oracle有多個日誌文件組 當一個日誌文件組中所有的成員所有的成員同時被寫滿數據時 系統自動轉換到下一個日誌文件組 這個轉換過程稱為日誌切換
當日誌切換後 會給前一個日誌組編一個號 用於歸檔日誌的編號 這個編號稱為日誌序列號 此編號由 開始 每切換一次 序列號自動加 最大值受參數MAXLOGHISTORY限制 該參數的最大值為
當oracle把最後一個日誌組寫滿了以後 自動轉向第一個日誌組 這時 再向第一個日誌組寫日誌的時候 如果資料庫運行在非歸檔模式下 這個日誌組中的原有日誌信息就會被覆蓋
使用以下語句查詢日誌文件信息
sql>select * from v$log
相關欄位說明如下
GROUP#:日誌文件組號
THREAD#:日誌文件線程號 一般為 雙機容時為
SEQUENCE#:日誌序列號
BYTES:日誌文件大小
MEMBERS:該組的日誌成員個數
ARC:該組日誌信息是否已經完成歸檔
STATUS:該組狀態(CURRENT:表示當前正在使用的組 NACTIVE:表示非活動組 ACTIVE:表示歸檔未完成)
FIRST_CHANGE#:系統改變號SCN 也叫檢查點號
FIRST_TIME:系統改變時間
DBA可以使用下列命令進行強制日誌切換
sql>alter system switch logfile
NOARCHIVELOG/ARCHIVELOG
NOARCHIVELOG是非歸檔模式 如果資料庫運行在這種模式下 當日誌切換時 新切換到的日誌組中的日誌信息會被覆蓋 ARCHIVELOG:歸檔模式 如果資料庫運行在這種模式下 日誌會被歸檔存儲 產生歸檔日誌 且在未歸檔之前 日誌不允許被覆蓋寫入
要確認資料庫的歸檔方式 可以查詢數據字典v$database:
sql>select log_mode from v$database
要了解歸檔日誌的信息 可以查詢數據字典v$archived_log
要將資料庫改為歸檔模式
a alter database archivelog
b 設置初始化參數LOG_ARCHIVE_START=TRUE
c 設置歸檔文件目標存儲路徑 LOG_ARCHIVE_DEST=C:ORAARCHIVE
d 設置歸檔文件命名格式參數 LOG_ARCHIVE_FORMAT="ORCK%T%S ARC" 這個格式中的%S表示日誌序列號 自動左邊補零 %s表示日誌序列號 自動左邊不補零 %T表示日誌線程號 左邊補零 %t表示日誌線程號不補零
e 重新啟動資料庫
CKPT進程(檢查點進程)
CKPT進程保證有修改過的資料庫緩沖區中的數據都被寫入到數據文件 日誌文件 數據文件 資料庫頭和控制文件中都有寫入檢查點標記 資料庫在恢復時 只需提供自上一個檢查以來所做的修改 檢查點完成時系統將更新資料庫資料庫頭和控制文件
參數LOG_CHECKPOINT_TIMEOUT決定一個檢查點發生的時間間隔 LOG_CHECKPOINT_INTERVAL決定一個檢查需要填充的日誌文件塊的數量 檢查點號 也稱系統改變號(SCN) 它標識一個檢查點 可以通過v$log查詢日誌文件的檢查點信息 通過v$datafile查詢數據文件的檢查點信息 通過v$database查詢資料庫頭的檢查點信息 三個地方的檢查點號相同 如果不同 說明發明資料庫不同步 此時資料庫肯定無法正常啟動
增加與刪除日誌文件組 日誌成員(詳細語法請參考oracle文檔)
alter database [database] add logfile [group integer] filespec[ [group alter database [database] add logfile ( ) alter database [database] drop logfile [grout integer] alter database[database] add logfile member "filespec" [reuse] to group integer alter database [database] drop logfile member "filename" "filename" alter database [database] rename file "filename" to "filename
"
清除日誌文件數據
alter database [database] clear [unarchived] logfile group integer|filespec
三 控制文件
控制文件是一個二進制文件 用來描述資料庫的物理結構 一個資料庫只需要一個控制文件 控制文件的內容包括
資料庫名及資料庫唯一標識
數據文件和日誌文件標識
資料庫恢復所需的同步信息 即檢查點號
控制文件由參數control_files指定 格式如下
control_files=("home/app/ /control ctl" "home/app/ /control ctl")
參數中各個文件是鏡像關系 也就是說 幾個文件中只要有一個文件完好 資料庫就可以正常運行
以下語句查詢控制文件的信息
sql>select * from v$controlfile
如果控制文件損壞或丟失 資料庫將終止並且無法啟動 所以 要對控制文件進行鏡象 手工鏡像步驟如下
a 關閉資料庫
b 復制控制文件
c 修改參數文件 加入新增的控制文件位置描述
d 重新啟動資料庫
另外注意 控制文件中還包含幾個伺服器參數的設置 如果修改這些參數的值 剛需要重新創建控制文件 這些參數是
MAXLOGFILES:最大日誌文件個數
MAXLOGMEMBERS:最大日誌成員個數
MAXLOGHISTORY:最大歷史日誌個數
MAXDATAFILES:最大數據文件個數
MAXINSTANCES:最大實例文件個數
所有修改資料庫結構的命令都會引起控制文件的改變 同時出會記錄在oracle跟蹤文件中 跟蹤文件的名稱為alter_SID log 路徑如下
d:oracleproct adminDB_NAMEmpSIDALRT log(unix是alter_SID ora)
也可以在參數文件中指定跟蹤文件的存儲路徑 後台進程跟蹤文件目錄由參數background_mp_dest指定 用戶跟蹤文件位置由參數user_bmp_dest指定 如
lishixin/Article/program/SQL/201405/30847
『陸』 請問Oracle的資料庫體系的物理結構是怎樣的
物理結構,即Oracle資料庫使用的操作系統文件結構。
對於資料庫物理結構文件,不同的oracle版本,不同的操作系統平台上有不同的存儲目錄結構.
資料庫的物理結構文件按其作用可以分為三類:
數據文件
日誌文件
控制文件
一、數據文件
數據文件用來存儲資料庫的數據,如表、索引等。讀取數據時,系統首先從資料庫文件中讀取數據,並存儲到SGA的數據緩沖區中。
二、重做日誌文件
重做日誌文件記錄對資料庫的所有修改信息。它瞎耐是虛神旦三類文件中最復雜的一類文件,也是保證資料庫安全與資料庫備份與恢復有直接關系的文件。
三、控制文件
控制文件是一個二進制文件,用來描述資料庫的物理結構,一個資料庫只需要一個控制文件,控制文件的內容包括:
資料庫差擾名及資料庫唯一標識
數據文件和日誌文件標識
資料庫恢復所需的同步信息,即檢查點號
.
Oracle資料庫的體系結構包括四個方面:資料庫的物理結構、邏輯結構、內存結構及進程。
『柒』 資料庫邏輯結構和物理結構的區別
邏輯結構反應資料庫中各數據之間的邏輯關系;物理結構,是數據的存儲方式,能不能快速訪問、所需數據,與此有關。