Oracle 和 SqlServer 的區(qū)別
操作的平臺(tái)不同
Oracle可在所有主流平臺(tái)上運(yùn)行,Oracle數(shù)據(jù)庫(kù)采用開(kāi)放的策略目標(biāo),它使得客戶可以選擇一種最適合他們特定需要的解決方案??蛻艨梢岳煤芏喾N第三方應(yīng)用程序、工具。而SQL Server卻只能在Windows上運(yùn)行了。
但SQL Sever在Window平臺(tái)上的表現(xiàn),和Windows操作系統(tǒng)的整體結(jié)合程度,使用方便性,和Microsoft開(kāi)發(fā)平臺(tái)的整合性都比Oracle強(qiáng)的很多。但Windows操作系統(tǒng)的穩(wěn)定性及可靠性大家是有目共睹的,再說(shuō)Microsoft公司的策略目標(biāo)是將客戶都鎖定到Windows平臺(tái)的環(huán)境當(dāng)中,只有隨著Windows性能的改善,SQL Server才能進(jìn)一步提高。從操作平臺(tái)這點(diǎn)上Oracle是完全優(yōu)勝于SQL Server的了。
也就是說(shuō)Oracle支持多種操作系統(tǒng),sql server支持window系統(tǒng)
文體結(jié)構(gòu)不同
oracle的文件體系結(jié)構(gòu)為:
-
數(shù)據(jù)文件 .dbf(真實(shí)數(shù)據(jù))
-
日志文件 .rdo
-
控制文件 .ctl
-
參數(shù)文件 .ora
sql server的文件體系結(jié)構(gòu)為:
-
.mdf (數(shù)據(jù)字典)
-
.ndf (數(shù)據(jù)文件)
-
.ldf (日志文件)
存儲(chǔ)結(jié)構(gòu)不同
oracle存儲(chǔ)結(jié)構(gòu):
-
在oracle里有兩個(gè)塊參數(shù)pctfree(填充因子)和pctused(復(fù)用因子),可控制塊確定塊本身何時(shí)有,何時(shí)沒(méi)有足夠的空間接受新信息(對(duì)塊的存儲(chǔ)情況的分析機(jī)制)
-
這樣可降低數(shù)據(jù)行連接與行遷移的可能性。塊的大小可設(shè)置(oltp塊和dss塊)
-
在oracle中,將連續(xù)的塊組成區(qū),可動(dòng)態(tài)分配區(qū)(區(qū)的分配可以是等額的也可以是自增長(zhǎng)的)可減少空間分配次數(shù)
-
在oraclel里表可以分為多個(gè)段,段由多個(gè)區(qū)組成,每個(gè)段可指定分配在哪個(gè)表空間里(段的類(lèi)型分為:數(shù)據(jù)段、索引段、回滾段、臨時(shí)段、cash段。oracle里還可對(duì)表進(jìn)行分區(qū),可按照用戶定義的業(yè)務(wù)規(guī)則、條件或規(guī)范,物理的分開(kāi)磁盤(pán)上的數(shù)據(jù)。
-
這樣大大降低了磁盤(pán)爭(zhēng)用的可能性。
oracle有七個(gè)基本表空間:
-
·system表空間(存放數(shù)據(jù)字典和數(shù)據(jù)管理自身所需的信息)
-
·rbs回滾表空間
-
·temp臨時(shí)表空間
-
·tools交互式表空間
-
·users用戶默認(rèn)表空間
-
·indx索引表空間
-
·dbsys福數(shù)據(jù)表空間
不同的數(shù)據(jù)分別放在不同的表空間(數(shù)據(jù)字典與真實(shí)數(shù)據(jù)分開(kāi)存放),在oracle里基表(存儲(chǔ)系統(tǒng)參數(shù)信息)是加密存儲(chǔ),任何人都無(wú)法訪問(wèn)。只能通過(guò)用戶可視視圖查看。
sql server 存儲(chǔ)結(jié)構(gòu)
以頁(yè)為最小分配單位,每個(gè)頁(yè)為8k(不可控制,缺乏對(duì)頁(yè)的存儲(chǔ)情況的分析機(jī)制),可將8個(gè)連續(xù)的頁(yè)的組成一個(gè)‘?dāng)U展’,以進(jìn)一步減少分配時(shí)所耗用的資源。(分配缺乏靈活性),在sql server里數(shù)據(jù)以表的方式存放,而表是存放在數(shù)據(jù)庫(kù)里。
sql server有五個(gè)基本數(shù)據(jù)庫(kù):
-
·master(數(shù)據(jù)字典)
-
·mode(存放樣版)
-
·tempdb(臨時(shí)數(shù)據(jù)庫(kù))
-
·msdb(存放調(diào)度信息和日志信息)
-
·pubs(示例數(shù)據(jù)庫(kù))
真實(shí)數(shù)據(jù)與數(shù)據(jù)字典存放在一起。對(duì)系統(tǒng)參數(shù)信息無(wú)安全機(jī)制。
安全性
Oracle的安全認(rèn)證獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證,而SQL Server并沒(méi)有獲得什么安全認(rèn)證。這方面證明了Oracle的安全性是高于SQL Server的。
性能不同
SQL Server 多用戶時(shí)性能不佳
Oracle 性能最高, 保持windowsNT下的TPC-D和TPC-C的世界記錄。
開(kāi)放性
SQL Server 只能在windows 上運(yùn)行,沒(méi)有絲毫的開(kāi)放性,操作系統(tǒng)的系統(tǒng)的穩(wěn)定對(duì)數(shù)據(jù)庫(kù)是十分重要的。Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用,NT server只適合中小型企業(yè)。而且windows平臺(tái)的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經(jīng)考驗(yàn),尤其是在處理大數(shù)據(jù)量的關(guān)鍵業(yè)務(wù)時(shí)。
Oracle 能在所有主流平臺(tái)上運(yùn)行(包括 windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開(kāi)放策略。可以使客戶選擇最適合的解決方案。對(duì)開(kāi)發(fā)商全力支持
客戶端支持及應(yīng)用模式
SQL Server C/S結(jié)構(gòu),只支持windows客戶,可以用ADO,DAO,OLEDB ,ODBC連接.
Oracle 多層次網(wǎng)絡(luò)計(jì)算,支持多種工業(yè)標(biāo)準(zhǔn),可以用ODBC, JDBC,OCI等網(wǎng)絡(luò)客戶連接
推薦教程:《PHP教程》《Oracle教程》