1. 什麼是資料庫物理結構和存儲方式的描述
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位元組
2. 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是系統為實例分配的一組共享內存緩沖區,用於存放資料庫實例和控制信息,以實現對資料庫中數據的治理和操作。
3. Oracle資料庫的物理文件有哪幾種它們有什麼用
答:(1)數據文件:資料庫中的數據在物理上都保存在一些操作系統文件中,這些操作系統的文件就是數據文件,通常是後綴名為.dbf的文件。 (2)控制文件:每個Oracle資料庫都有相應的控制文件,是一個二進制文件,它定義了資料庫的狀態。 (3)重做日誌文件:用於記錄資料庫所做的全部變更(如增加、刪除、修改),以便在系統發生故障時,用它對資料庫進行恢復。
4. 下面哪一個不是資料庫屋物理存儲結構中的對象
1. (四)加強解題指導
1.審題要仔細,關鍵字眼不可疏忽
審題時一定要仔細,尤其要注意一些重要的關鍵字眼,不要以為是「容易題」「陳題」就一眼帶過,要注意「陳題」中可能有「新意」.也不要一眼看上去認為是「新題、難題」就畏難而放棄,要知道「難題」也只難在一點,「新題」只新在一處.由於疏忽看錯題或畏難輕易放棄都會造成很大的遺憾.
5. 下列哪個(些)不是資料庫軟體名稱( )不定項選擇
D.Outlook,(它是microsoft
日程安排軟體
)其它的都是資料庫軟體
6. 1資料庫的物理結構有哪幾種文件組成
Microsoft® SQL Server™ 2000
使用一組操作系統文件映射資料庫。資料庫中的所有數據和對象(如表、存儲過程、觸發器和視圖)都存儲在下列操作系統文件中:
主要
該文件包含資料庫的啟動信息,並用於存儲數據。每個資料庫都有一個主要數據文件。
次要
這些文件含有不能置於主要數據文件中的所有數據。如果主文件可以包含資料庫中的所有數據,那麼資料庫就不需要次要數據文件。有些資料庫可能足夠大故需要多個次要數據文件,或使用位於不同磁碟驅動器上的輔助文件將數據擴展到多個磁碟。
事務日誌
這些文件包含用於恢復資料庫的日誌信息。每個資料庫都必須至少有一個日誌文件。
例如,創建簡單的資料庫 sales
時,可以只使用一個包含所有數據和對象的主文件和一個包含事務日誌信息的日誌文件。另一種情況是,創建更復雜的資料庫 orders
時,可以使用一個主文件和五個輔助文件,資料庫內的數據和對象擴展到所有的六個文件中,另外有四個日誌文件包含事務日誌信息。
文件組允許對文件進行分組,以便於管理和數據的分配/放置。例如,可以分別在三個硬碟驅動器上創建三個文件(Data1.ndf、Data2.ndf
和 Data3.ndf),並將這三個文件指派到文件組 fgroup1 中。然後,可以明確地在文件組 fgroup1
上創建一個表。對表中數據的查詢將分散到三個磁碟上,因而性能得以提高。在
RAID(獨立磁碟冗餘陣列)條帶集上創建單個文件也可以獲得相同的性能改善。然而,文件和文件組使您得以在新磁碟上輕易地添加新文件。另外,如果資料庫超過單個
Microsoft Windows NT® 文件的最大大小,則可以使用次要數據文件允許資料庫繼續增長。
文件和文件組的設計規則
文件和文件組的設計規則包括:
文件或文件組不能由一個以上的資料庫使用。例如,文件 sales.mdf 和 sales.ndf 包含 sales
資料庫中的數據和對象,任何其它資料庫都不能使用這兩個文件。
文件只能是一個文件組的成員。
數據和事務日誌信息不能屬於同一文件或文件組。
事務日誌文件不能屬於任何文件組。
7. Oracle資料庫物理組建件的類型有什麼
Oracle兩部分:實例和資料庫
實例由以下組成:SGA,Sharedpool,Databasebuffercache,Redologbuffercache。資料庫由物理文件組成,其中必須有的文件是:數據文件,控制文件,重做日誌,另外還有:參數文件,口令文件,歸檔日誌文件(這三個不是必須的)。
用戶建立連接後,啟動一個伺服器進程,用來將來代替用戶進程完成SQLCOMMAND,再通過Oracle實例實現對資料庫的相關文件進行改變(數據進行讀取或修改)。
用戶進程不可以直接操作資料庫,而必須通過建立連接後,再通過伺服器進程來完成。
OracleSERVER由兩個部分組成,
1、INSTANCE:又由內存結構和後台進程。
2、DATABASE:又由數據文件,日誌文件和控制文件組成<這三個文件是必需的>。
CONTROLFILE是用來連接實例和DATABASE:
SQL>SHUTDOWNIMMEDIATE
SQL>STARTUPNOMOUNT
SQL>ALTERDATABASEMOUNT
以上三個過程就是通過CONTROLFILE來連接實例和資料庫。
SQL>ALTERDATABASEOPEN:在OPEN的過程對DATABASE的數據文件和重做日誌文件進行一次性的驗證,驗證它們的狀態。
OracleINSTANCE:存取資料庫的一個手段。
一個DATABASE與INSTANCE之間是1:N的關系,一個INSTANCE只能操作一個DATABASE,由內存結構(共享池,
BUFFERCACHE,REDOLOGBUFFERCACHE)及相應的進程結構組成(PMON<程序監控進程>,SMON<系統監控進程>,CKPT<檢查點進程>)。
SQL>SHOWSGA---顯示DATABASE內存結構信息
SQL>SETWRAPOFF
SQL>SETLINESIZE200
以上這兩個是設置行寬。
SQL>SELECT*FROMV$BGPROCESS;
將看到在這個系統中所有可能使用到的進程,其中PADDR並不每個進程都分配到有效的地址,即並不是每個進程都是必須的。
SQL>SELECT*FROMV$BGPROCESSWHEREPADDR<>''00''
將顯示所有必需的進程。
連接到Oracle實例包括建立一個用戶連接及創建會話。
SQL>SELECT*FROMV$CONTROLFILES;--顯示現系統下由幾個控制文件組成。
SQL>SELECT*FROMV$DATAFILE;--顯示由幾個數據文件組成。
SQL>SELECT*FROMV$LOGFILE;--顯示由幾個日誌文件組成。
OracleMEMORYSTRUCTURE(內存結構)
由兩部分組成:
1、SGA是動態的,其最大值由SGA_MAX_SIZE指定,SGA的內存由SGACOMPONENTS來動態調整。
2、PGA是不共享的,即其包含的信息是不一樣的,有兩個可享的內存可以由SGA配置:
<1>LARGEPOOL
<2>JAVAPOOL
SQL>SHOWPARAMETERSHARED
SQL>SHOWPARAMETERDB_CACHE
SQL>SHOWPARAMETERLOG
以上三個命令是用於查看相關內存信息。
SQL>ALTERSYSTEMSETDB_CACHE_SIZE=20M;
所有內存大小總和不能大於SGA_MAX_SIZE的值,當提示信息出現?號或亂碼時,是由於系統的語言問題。
可以通過ALTERSESSIONSETNLS_LANGUAGE=''AMERICAN''或ALTERSESSIONSETNLS_LANGUAGE="SIMPLE
CHINESE"。
SHAREDPOOL(共享池)
<1>LIBRARYCACHE庫緩存;
<2>DATADICTIONARYCACHE數據字典緩存,有的地方又稱行CACHE,由SHARED_POOL_SIZE指定大小。
SQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;
LIBRARYCACHE主要為提高代碼的共享,存儲的是最近使用的SQL和PL/SQL代碼。
<1>用最近最少使用(LRU)演算法;
<2>包括兩個結構1:共享SQL代碼2:共享PL/SQL代碼;
<3>不可直接定義,而由SHAREDPOOLSIZE決定。
DATADICTONARYCACHE。
如:SQL>SELECT*FROMAUTHORS;
執行此命令的過程是:首先確認是否存在AUTHORS,,然後確認欄位存不存在,再檢查語法,最後驗證許可權,而這些信息就屬於DATADICTIONARYCACHE的內容。其包含的信息有:DATABASEFILES,表,索引,欄位,用戶,許可權和其他資料庫對象。
<1>主要用來改變系統的感應時間和性能。
<2>通過改變SHAREDPOOL大小來設置,DATADICTIONARYCACHE不能單獨設置大小
8. 下面哪個不屬於關系型資料庫中通常包含的組件
A 客戶端應用程序肯定有,比如management studio,讓客戶通過圖形界面應用程序的方式管理資料庫。
B 資料庫伺服器這個肯定要有、本地的或者遠程,沒有伺服器就是空殼子。
C 資料庫DB肯定有,包括資料庫實例等等
D SQL語言怎能形容為組件呢?(R)DBMS支持查詢語言,只能說包含了支持SQL語言的程序或者組件。
畢竟你說的是關系型資料庫管理系統軟體,因此才有這四個選項。我認為是D。
9. 資料庫的物理結構設計指的是什麼
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位元組
10. 資料庫的物理存儲結構和數據的物理結構是一回事嗎
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位元組