導航:首頁 > 數據處理 > 數據物理存儲結構是什麼

數據物理存儲結構是什麼

發布時間:2023-05-28 09:02:31

『壹』 什麼叫數據的物理結構和邏輯結構

物理結構,就是在計算機內存中的存儲關系。
比如數組,在計算機上的存儲是一段連續的內存塊。鏈式存儲,是在計算機中不連續的內存使用間接尋找方式連接的,是物理內存的表現。

邏輯結構是指數據的邏輯關系,比如二叉樹,我們知道內存是不會分叉的。那麼二叉是什麼哪。是我們對數據的邏輯關系。物理上就是個指針(間接定址)

『貳』 輕松掌握什麼是數據的物理(存儲)結構

數據結構在計算機中的表示(映像)稱為數據的物理(存儲)結構 它包括數據元素的表示和關系的表示

物理結構 即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

『叄』 數據的存儲結構

存儲結構就是物理結構,這沒有錯
存儲結構是邏輯結構的存放方式,這沒有錯

邏輯結構是看不見摸不著的,但是計算機又要對數據進行邏輯結構的操作,那這就很尷尬了,咋辦。
這時候存儲結構(也就是數據的物理結構)挺身而出,「哥來給你表示你的位置」
存儲結構的位置可以用數組或指針具體表示的

這時候就可以根據物理結構的存儲位置來對數據的邏輯結構進行操作
那麼二者肯定是要有聯系的
聯系:
邏輯結果是存儲結構(物理結構)的映射
存儲結構(物理結構)是邏輯結構的映像

就好比風是邏輯機構,縹緲見不著
那要把控它的位置,進行風向預測
那麼氣象台就根據某些手段進行控制,把風的具體位置給彰顯出來了。

閱讀全文

與數據物理存儲結構是什麼相關的資料

熱點內容
比起不回信息收到在忙哪個更傷心 瀏覽:657
龍華市場到深圳西站坐什麼車 瀏覽:657
怎麼回復百合信息 瀏覽:613
隨州東興市場哪裡有修摩托車的 瀏覽:102
怎麼看下個交易日的開盤價位 瀏覽:782
交警走程序抽血檢驗什麼 瀏覽:897
成都建材市場前景怎麼樣 瀏覽:5
神州技術學院有哪些專業 瀏覽:462
代理國庫稅收收繳什麼時候生效 瀏覽:278
為什麼做趨勢交易很多人都沒錢 瀏覽:122
小程序的diy是什麼意思 瀏覽:330
產品經理ppt怎麼寫 瀏覽:253
技術培訓機構如何做 瀏覽:725
揚州駕駛求職市場前景如何 瀏覽:999
信息經營在哪個類目下 瀏覽:942
貼牌產品如何分類 瀏覽:399
產品被判定為受限產品怎麼解決 瀏覽:30
汽車漂移技術要多少錢 瀏覽:214
為什麼產品排名始終靠後 瀏覽:939
健身膠囊如何建立身體數據檔案 瀏覽:890