區(qū)別:1、oracle默認不自動提交,Sql Server默認是自動提交;2、Oracle完全支持事務(wù),Sql Server在非自動提交時才可支持事務(wù);3、Oracle邏輯備份時不鎖定數(shù)據(jù),Sql Server邏輯備份時要鎖定數(shù)據(jù)等等。
本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。
oracle和sql server的區(qū)別
-
所屬公司:
Oracle是由美國ORACLE公司(甲骨文)開發(fā)的一組核心軟件產(chǎn)品;
SqlServer是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,目前主屬Microsoft;
-
sql語句的靈活性:
oracle對sql語句的感覺更加穩(wěn)重傳統(tǒng)一些;
SqlServer對sql語句那絕了,兩個成語概括:腳踏實地,步步為營;
-
保存數(shù)據(jù)的持久性:
Oracle把提交的sql操作線寫入了在線聯(lián)機日志文件中,保持到了磁盤上,可以隨時恢復(fù);
SqlServer從2014之后,也擁有了完全持久和延遲持久特性;
-
提交方式:
oracle默認不自動提交,需要用戶手動提交(commit);
Sql Server默認是自動提交,用戶可手動停止(KILL);
-
對事務(wù)的支持:
Oracle完全支持事務(wù);
SqlServer在非自動提交時才可支持事務(wù);
-
對并發(fā)性的支持:
Oracle使用行級鎖,對資源鎖定的粒度要小很多,并且不依賴索引,對并發(fā)性的支持要好很多,即“樂觀并發(fā)控制”;
SqlServer在表、表的分頁、索引鍵以及單獨的數(shù)據(jù)行上支配共享鎖、排它鎖、以及更新鎖,簡單地說:讀取時用共享鎖,修改時用排它鎖,更新鎖則是共享鎖和排他鎖的一種混合;
-
邏輯備份:
Oracle邏輯備份時不鎖定數(shù)據(jù),且備份的數(shù)據(jù)是一致;
SqlServer邏輯備份時要鎖定數(shù)據(jù),才能保證備份的數(shù)據(jù)是一致的,會影響正常業(yè)務(wù);
-
復(fù)制備份:
Oracle既有推或拉式的傳統(tǒng)數(shù)據(jù)復(fù)制,也有dataguard的雙機或多機容災(zāi)機制,還有成熟的熱備工具rman,主庫出現(xiàn)問題時,可以自動切換備庫到主庫,但配置管理較復(fù)雜;
Sql Server的僅復(fù)制備份是獨立于常規(guī)SQL Server備份序列的SQL Server備份。通常,進行備份會更改數(shù)據(jù)庫并影響其后備份的還原方式。只用于:在不影響數(shù)據(jù)庫總體備份和還原過程的情況下,為特殊目的而進行的備份。
-
性能診斷:
Oracle有各種成熟的性能診斷調(diào)優(yōu)工具,能實現(xiàn)很多自動分析、診斷功能。比如awr、addm、sqltrace、tkproof等;
SqlServer性能檢測工具有sql server profiler,性能調(diào)優(yōu)工具有數(shù)據(jù)庫引擎優(yōu)化顧問,簡單好用還炫酷;
-
權(quán)限與安全:
Oracle的用戶和root用戶權(quán)限彼此分離,權(quán)限與安全概念比較傳統(tǒng),中規(guī)中矩;
SqlServer本機可用windows驗證登錄,遠程則用SqlServer驗證登錄(即sa登錄);
-
相關(guān)服務(wù):
MySQL是輕量型數(shù)據(jù)庫,并且免費開源,沒有服務(wù)恢復(fù)數(shù)據(jù);
Oracle是重量型數(shù)據(jù)庫,收費,Oracle公司對Oracle數(shù)據(jù)庫有任何服務(wù);
SqlServer是重量型數(shù)據(jù)庫,收費(與Java有合作),也有支持供應(yīng)商;
總結(jié)得出:
Oracle優(yōu)點:使用方便、功能強大,可靠性好、安全性好、可移植性好、適應(yīng)高吞吐量,適用于各類大、中、小、微機環(huán)境。
SqlServer優(yōu)點:圖形化用戶界面,豐富的編程接口工具,與Windows NT完全集成,支持分布式的分區(qū)視圖,適用于Win的Web技術(shù)的開發(fā)。
推薦教程:《Oracle教程》