racle數據庫:Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。
它是在數據庫領域一直處于領先地位的產品??梢哉fOracle數據庫系統是目前世界上流行的關系數據庫管理系統,系統可移植性好、使用方便、功能強,適用于各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。
sql server數據庫:美國Microsoft公司推出的一種關系型數據庫系統。SQL Server是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數據庫管理系統,實現了與WindowsNT的有機結合,提供了基于事務的企業級信息管理系統方案
兩者的區別:
(1)操作的平臺不同
- Oracle可在所有主流平臺上運行,Oracle數據庫采用開放的策略目標,它使得客戶可以選擇一種最適合他們特定需要的解決方案。客戶可以利用很多種第三方應用程序、工具。而SQL Server卻只能在Windows上運行了。
- 但SQL Sever在Window平臺上的表現,和Windows操作系統的整體結合程度,使用方便性,和Microsoft開發平臺的整合性都比Oracle強的很多。但Windows操作系統的穩定性及可靠性大家是有目共睹的,再說Microsoft公司的策略目標是將客戶都鎖定到Windows平臺的環境當中,只有隨著Windows性能的改善,SQL Server才能進一步提高。從操作平臺這點上Oracle是完全優勝于SQL Server的了。
- 也就是說Oracle支持多種操作系統,sql server支持window系統
(2)文體結構不同
- oracle的文件體系結構為:
- 數據文件 .dbf(真實數據)
- 日志文件 .rdo
- 控制文件 .ctl
- 參數文件 .ora
- sql server的文件體系結構為:
- .mdf (數據字典)
- .ndf (數據文件)
- .ldf (日志文件)
(3)存儲結構不同
- oracle存儲結構:
- 在oracle里有兩個塊參數pctfree(填充因子)和pctused(復用因子),可控制塊確定塊本身何時有,何時沒有足夠的空間接受新信息(對塊的存儲情況的分析機制)
- 這樣可降低數據行連接與行遷移的可能性。塊的大小可設置(oltp塊和dss塊)
- 在oracle中,將連續的塊組成區,可動態分配區(區的分配可以是等額的也可以是自增長的)可減少空間分配次數
- 在oraclel里表可以分為多個段,段由多個區組成,每個段可指定分配在哪個表空間里(段的類型分為:數據段、索引段、回滾段、臨時段、cash段。oracle里還可對表進行分區,可按照用戶定義的業務規則、條件或規范,物理的分開磁盤上的數據。
- 這樣大大降低了磁盤爭用的可能性。
- oracle有七個基本表空間:
- ·system表空間(存放數據字典和數據管理自身所需的信息)
- ·rbs回滾表空間
- ·temp臨時表空間
- ·tools交互式表空間
- ·users用戶默認表空間
- ·indx索引表空間
- ·dbsys福數據表空間
- 不同的數據分別放在不同的表空間(數據字典與真實數據分開存放),在oracle里基表(存儲系統參數信息)是加密存儲,任何人都無法訪問。只能通過用戶可視視圖查看。
- sql server 存儲結構
- 以頁為最小分配單位,每個頁為8k(不可控制,缺乏對頁的存儲情況的分析機制),可將8個連續的頁的組成一個‘擴展’,以進一步減少分配時所耗用的資源。(分配缺乏靈活性),在sql server里數據以表的方式存放,而表是存放在數據庫里。
- sql server有五個基本數據庫: www.2cto.com
- ·master(數據字典)
- ·mode(存放樣版)
- ·tempdb(臨時數據庫)
- ·msdb(存放調度信息和日志信息)
- ·pubs(示例數據庫)
- 真實數據與數據字典存放在一起。對系統參數信息無安全機制。
(4)安全性
Oracle的安全認證獲得最高認證級別的ISO標準認證,而SQL Server并沒有獲得什么安全認證。這方面證明了Oracle的安全性是高于SQL Server的。
(5)性能不同
SQL Server 多用戶時性能不佳
Oracle 性能最高, 保持windowsNT下的TPC-D和TPC-C的世界記錄。
(6)開放性
SQL Server 只能在windows 上運行,沒有絲毫的開放性,操作系統的系統的穩定對數據庫是十分重要的。Windows9X系列產品是偏重于桌面應用,NT server只適合中小型企業。而且windows平臺的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大數據量的關鍵業務時。
Oracle 能在所有主流平臺上運行(包括 windows)。完全支持所有的工業標準。采用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持
(7)客戶端支持及應用模式
SQL Server C/S結構,只支持windows客戶,可以用ADO,DAO,OLEDB ,ODBC連接.
Oracle 多層次網絡計算,支持多種工業標準,可以用ODBC, JDBC,OCI等網絡客戶連接
意見:
SQL server 完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需要時間來證明。并不十分兼容早期產品。使用需要冒一定風險。
Oracle 長時間的開發經驗,完全向下兼容。得到廣泛的應用。完全沒有風險。
1、建立數據源
- 找到oracle 11g的菜單----->點擊配置和移植工具----->點擊Microsoft ODBC管理員
注:上述操作一定要顯示測試成功
2、配置oracle數據庫監聽及TNS文件
- 找到oracle主目錄..\app\Rom\product.2.0\dbhome_1\hs\admin下的initdg4odbc.ora文件
- 找到initdg4odbc.ora文件后進行拷貝,然后進行重命名,命名規則為:init+自定義.ora 如:initdg4bct.ora(dg4bct為自定義) 然后進行修改,修改內容如下:
HS_FDS_CONNECT_INFO = bct #配置成ODBC數據源的名稱
HS_FDS_TRACE_LEVEL = 0
- 找到oracle主目錄..\app\Rom\product.2.0\dbhome_1\NETWORK\ADMIN下tnsnames.ora文件,新增下面內容:
DG4MSQL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = oracle服務器IP地址)(PORT = 1522))
(CONNECT_DATA =
(SID = dg4bct) #此處名稱應為 --initdg4bct--出自定義的名稱
)
(HS = OK) #注意:此行代碼位置別放錯了
)
- 找到oracle主目錄..\app\Rom\product.2.0\dbhome_1\NETWORK\ADMIN下listener.ora文件,然后在SID_LIST_LISTENER中SID_LIST 下新增下面代碼:
(SID_DESC =
(SID_NAME =dg4mssql)--配置成initdg4mssql.ora文件init后面的字符串
(ORACLE_HOME = ..\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = dg4odbc)
)
3、重啟oracle監聽及創建DBlink進行測試
- 打開計算機服務界面,找到OracleOraDb11g_home1TNSListener進行重啟
- 在oracle數據庫創建DBlink:
create public database link dblink名稱 connect to "所鏈SQL數據登錄名" identified by “所鏈數據庫登錄密碼” --雙引號不能少