-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
防疫期間 門市僅限取書, 不開放參觀
並提早到6點打烊, 星期日公休
7/20 新書到! 7/14 新書到! 7/6 新書到!6/30 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

SQL Server與Oracle遷移指南

( 簡體 字)
作者:梅濤,羅裕梅,葉瓊偉類別:1. -> 資料庫 -> SQL Server
   2. -> 資料庫 -> Oracle
譯者:
出版社:電子工業出版社SQL Server與Oracle遷移指南 3dWoo書號: 51221
詢問書籍請說出此書號!

有庫存
NT定價: 240
折扣價: 226

出版日:5/1/2019
頁數:312
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121363306
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

SQL Server與Oracle是世界上商業數據庫市場占有率較高的兩種通用型數據庫。其中,Oracle多年來是數據庫業界的領軍產品,在高端應用上有較大的占有率;而SQL Server在中低端應用上有較大的占有率。同時,通常Oracle給人以性能高、維護難度大的印象。長期以來,當面對大數據量的性能要求時,或者要求跨平臺的部署能力時,都會將應用遷移到Oracle數據庫上。并且一些行業和企業對Oracle也有著深厚的技術積累,也會要求將應用遷移到Oracle上。
近年來,雖然Oracle在數據庫維護上進行了很多簡化,但是SQL Server在功能和性能上卻有了更長足的進步。事務處理性能委員會(Transaction Processing Performance Council,www.tpc.org)的TPC-E(針對OLTP)和TPC-H(針對OLAP)的排名上,SQL Server在性能上的優勢與Oracle形成強烈反差,這表明Oracle在性能上也已經不像過去高高在上了。
隨著PC服務器相對小型機在性能上也有較大改善,以及硬件成本的降低,凸顯了Oracle數據庫的擁有成本過高,特別是維護成本以及對維護人員的要求較高,甚至在安全性上也乏善可陳。為降低成本,一些企業出現了去IOE(IBM、Oracle、EMC)的趨勢,出現了越來越多從Oracle數據庫向其他數據庫進行遷移的需求。
同時,在軟件的產品化開發中,也更多地出現不同的數據庫,以滿足不同客戶的需求。數據庫開發人員也面臨著多種數據庫之間的轉換和遷移工作。
作為常見的兩種商業數據庫,SQL Server與Oracle的底層原理是相同的,在基本功能上是一致的,都有著大致對應的實現方案,實施遷移的可行性是較高的。但是兩種數據庫在系統結構和功能實現上有巨大的差異,使得學習過程和遷移過程較為復雜。本書按照遷移時面臨的問題和實際遷移工作的步驟出發,逐步向讀者展示相關內容。通過本書,讀者可以處理好遷移時大部分需要考慮的相關細節,提高遷移的速度和成功率。
本書第 1 章首先從安裝開始進行介紹,讓讀者對兩種數據庫的運行環境有一個粗略的認識。
第2章著重介紹兩者體系架構的異同點。兩種數據庫的主要構成大體上可以對應,主要是名稱上的不一致。不同點主要在于SQL Server是多庫結構,架構、用戶、登錄名相分離。
第3章進一步介紹不同體系架構下用戶和授權的差異及遷移建議,演示了SQL Server架構、用戶分離為授權帶來的靈活性,以及兩種數據庫在模塊授權的不同之處,為遷移做好事前規劃和準備工作。
從第4章開始正式進入遷移的實際工作,從對象遷移開始,到第5章的數據遷移。這部分工作可能由一些遷移工具輔助完成。
遷移工作最為煩瑣的部分介紹在第6、7章,就是修改應用中的SQL語句。很多功能在TSQL和PLSQL實現的差異較大,需要有不同的方法來解決。
第8章主要考慮相關的事務差異,這部分工作也是今后數據庫調優的基礎。
最后一章即第9章介紹兩種數據庫常用擴展功能的遷移建議。這部分功能差異較大,必須重新開發和部署,涉及的范圍太大,本書僅做簡要介紹。
本書中table統一譯為表,schema統一譯為架構。文中SQL Server特指Microsoft SQL Server而不是Sybase SQL Server。SSMS為Microsoft SQL Server Management Studio的縮寫,OEM為Oracle Enterprise Manager的縮寫。如果命令行前有“OS>”的,表示此句是在操作系統的命令行shell下執行的,而不是在SQL環境中執行的。在SQL語句中,由“< >”界定的字符是需要根據實際情況進行替換的。本書中出現的SQL Server用戶特指數據庫用戶,而非實例登錄名。本書以SQL Server 2012和Oracle 11g R2為敘述主線,涉及最新的SQL server 2016 SP1和Oracle 12c的一些功能,早期版本也會有一定的涉及。
讀者閱讀本書前,需要對其中一種數據庫有所了解。本書主要針對數據庫開發人員,而非DBA(Database Administrator,數據庫管理員),僅對遷移過程中出現的常見問題進行對比說明,而其他問題僅做簡要介紹。
本書得到國家自然科學基金(71402159、71672013)、云南省應用基礎研究計劃重點項目(2017FA034)、云南省中青年學術和技術帶頭人后備人才培養項目(2018HB027)、2018年昆明市電子商務與互聯網金融重點實驗室項目(2017-1A-14684昆高發〔2018〕18號)、教育部產學合作協同育人項目(教高司函〔2017〕1號)、云科云財電商眾創空間項目(2017DS012)、云南省電子商務創新與創業重點實驗室(云教科2014[16])、云南省電子商務實驗教學示范中心(2015年高水平大學實踐教學能力提升工程項目)(云教高2015)的資助。在此一并表示衷心的感謝。
本書由筆者在近年來實際工作中獲得的經驗匯編而成,筆者盡最大的努力將這些經驗與讀者分享。鑒于水平有限,書中可能存在一些錯誤,歡迎廣大讀者朋友批評指正。

著 者
內容簡介:

本書主要對SQL Server與Oracle兩種數據庫功能間的相互遷移進行對比講解,向開發人員提供有針對性的參考建議。全書由9章組成,包括安裝準備、數據庫體系結構、用戶及授權、對象遷移、數據遷移、SQL語句遷移(1)和(2)、事務差異及其他功能。每章均采用大量討論與實例對兩種數據庫進行翔實比較,有利于開發人員更好地理解遷移過程。


目錄:

第1章 安裝準備 1
1.1 服務器硬件及運行環境 1
1.2 版本選擇 1
1.2.1 SQL Server的版本選擇 1
1.2.2 Oracle的版本選擇 2
1.3 安裝注意事項 2
1.3.1 SQL Server的安裝
注意事項 2
1.3.2 Oracle的安裝注意事項 3
1.4 客戶端 3
1.4.1 安裝 3
1.4.2 圖形界面 4
1.5 命令行 4
1.5.1 SQL Server的命令行 4
1.5.2 Oracle的命令行 5
1.6 創建和刪除實例 6
1.6.1 SQL Server的創建和
刪除實例 6
1.6.2 Oracle的創建和刪除實例 6
1.7 卸載 7
1.7.1 SQL Server的卸載 7
1.7.2 Oracle的卸載 7
1.8 參數配置 7
1.9 補丁安裝 8
1.9.1 SQL Server的補丁安裝 8
1.9.2 Oracle的補丁安裝 8
1.10 32位系統內存使用 9
1.11 防火椐鴷~端口 10
1.11.1 SQL Server的防火
對外端口配置 10
1.11.2 Oracle的防火椐鴷~
端口配置 10
1.12 幫助文件及售后服務 11
1.12.1 SQL Server的幫助
文件及售后服務 11
1.12.2 Oracle的幫助文件
及售后服務 11
1.13 異步I/O和裸設備 11
1.14 數據庫的啟動和停止 12
1.14.1 SQL Server的啟動
和停止 12
1.14.2 Oracle的啟動和停止 14
第2章 數據庫體系結構 15
2.1 DBMS體系結構圖 15
2.2 架構和所有者 16
2.2.1 SQL Server的架構和
所有者 16
2.2.2 Oracle的架構和所有者 20
2.2.3 遷移建議 20
2.3 塊(Block)/頁(Page) 20
2.3.1 塊/頁的大小 20
2.3.2 管理可用空間 21
2.3.3 行鏈接/行溢出 21
2.3.4 行遷移/轉接行 22
2.4 區(Extent) 22
2.4.1 區的大小和分布 22
2.4.2 最大讀寫量 23
2.4.3 對象初始分配的區 23
2.5 段(Segment)/堆(Heap)、
索引(Index) 23
2.5.1 SQL Server堆和索引 23
2.5.2 Oracle段 23
2.6 數據文件 23
2.6.1 文件尺寸 23
2.6.2 自動增長 24
2.6.3 文件收縮/刪除/脫機 25
2.6.4 移動物理文件位置 26
2.6.5 系統數據庫改目錄 27
2.6.6 裸設備 27
2.7 表空間(Table Space)/
文件組(File Group) 28
2.7.1 在表空間/文件組中
創建多個文件 28
2.7.2 Oracle表空間管理方式 28
2.7.3 默認表空間 29
2.7.4 表空間塊尺寸 29
2.7.5 數據庫收縮 29
2.7.6 刪除表空間/文件組 29
2.7.7 只讀文件組 31
2.7.8 只讀數據庫 31
2.7.9 脫機 32
2.7.10 表空間/數據庫的傳輸 32
2.7.11 磁盤I/O壓力分布 36
2.8 會話(Session)與進程/線程 37
2.8.1 Oracle會話與進程 37
2.8.2 SQL Server會話與線程 39
2.9 內存管理 43
2.9.1 Oracle的內存管理 43
2.9.2 SQL Server的內存管理 46
2.10 在線日志 49
2.10.1 Oracle的在線日志 49
2.10.2 SQL Server的在線日志 50
第3章 用戶及授權 53
3.1 用戶和登錄名 53
3.1.1 SQL Server的用戶和
登錄名 53
3.1.2 Oracle的用戶 57
3.2 密碼策略 59
3.2.1 SQL Server的密碼策略 59
3.2.2 Oracle的密碼策略 61
3.3 重命名 63
3.3.1 SQL Server的管理員
重命名 63
3.3.2 Windows的管理員重命名 64
3.3.3 修改計算機名 64
3.3.4 Oracle:修改用戶名 66
3.4 防止遠程登錄 66
3.4.1 SQL Server防止遠程登錄 66
3.4.2 Oracle防止遠程登錄 67
3.5 限制同一用戶的并發登錄 68
3.6 最高權限用戶 69
3.7 角色及權限 69
3.7.1 相關語法 69
3.7.2 SQL Server中的
預定義角色 70
3.7.3 Oracle中的預定義角色 74
3.7.4 自定義角色 77
3.8 權限管理示例 78
3.8.1 SQL Server架構權限 78
3.8.2 在SQL Server用戶中
模擬Oracle用戶 78
3.8.3 與其他用戶共享一個架構 79
3.8.4 讓一個只讀用戶可以
創建自己的視圖 80
3.9 模塊授權 80
3.9.1 SQL Server中的模塊授權 81
3.9.2 Oracle中的模塊授權 82
第4章 對象遷移 84
4.1 表 84
4.1.1 堆表 84
4.1.2 聚集索引表/索引組織表 84
4.1.3 聚簇表(Clustered Table)/
稀疏列(Sparse Columns) 86
4.1.4 計算列/虛擬列 87
4.1.5 外部擴展表(Organization
External)和文件流/表
(FileStream/FileTable) 88
4.1.6 臨時表 88
4.1.7 表變量 90
4.1.8 表移動到其他表空間/
文件組 91
4.1.9 表的重建 93
4.1.10 check和default約束 94
4.1.11 刪除表 94
4.1.12 按列授權 94
4.2 索引 94
4.2.1 索引名 95
4.2.2 函數索引和計算列 95
4.2.3 索引視圖/視圖索引 95
4.2.4 聚集索引/索引組織表上的
非聚集索引 95
4.2.5 位圖索引和反向索引 96
4.2.6 在線創建索引 96
4.2.7 包含性列(Included
Columns) 96
4.2.8 重建索引,優化性能 96
4.2.9 將索引移動到其他
表空間/文件組 97
4.2.10 篩選索引(Filtered
Index) 98
4.2.11 NULL值處理 99
4.2.12 唯一值索引(Unique
Index) 99
4.2.13 優化索引的使用 100
4.3 分區表 101
4.3.1 Oracle的分區方案 101
4.3.2 Oracle分區表的索引 103
4.3.3 在Oracle中將已有
表轉化為分區表 103
4.3.4 在Oracle中訪問指定
分區 104
4.3.5 Oracle中的分區維護 104
4.3.6 SQL Server的分區方案 105
4.3.7 SQL Server中分區表的
建立 105
4.3.8 在SQL Server中查看
分區表所有分區對應
的文件組 107
4.3.9 SQL Server分區表的
索引 107
4.3.10 SQL Server中將已有表
轉化為分區表 107
4.3.11 在SQL Server中訪問
指定分區 108
4.3.12 SQL Server的分區
維護操作 109
4.3.13 滑動窗口方案 111
4.3.14 討論 113
4.4 存儲過程 113
4.4.1 編譯 113
4.4.2 授權 113
4.4.3 事務 114
4.4.4 DDL語句 115
4.4.5 在線修改存儲過程代碼 116
4.4.6 出錯處理 116
4.4.7 返回結果集 116
4.4.8 自治事務(Autonomous
Transaction) 117
4.4.9 傳輸參數及變量定義 119
4.5 函數 119
4.5.1 使用DML語句 119
4.5.2 表值函數 120
4.6 物化視圖/索引視圖 123
4.6.1 Oracle物化視圖 123
4.6.2 SQL Server索引視圖 123
4.6.3 視圖的刷新 124
4.7 觸發器 124
4.7.1 DML觸發器 124
4.7.2 語句級觸發器 125
4.7.3 行級觸發器 127
4.7.4 before/instead of型
觸發器 128
4.7.5 DDL觸發器 128
4.7.6 數據庫事件觸發器 129
4.8 同義詞 130
4.9 序列/自增長列 130
4.9.1 Oracle序列 130
4.9.2 SQL Server自增長列 131
4.9.3 SQL Server中的序列 132
第5章 數據遷移 135
5.1 字符類型 135
5.1.1 SQL Server和Oracle
字符類型長度的比較 135
5.1.2 varchar 2和varchar 135
5.1.3 字符串的 ’ ’ 值與NULL 136
5.1.4 本地字符集 136
5.1.5 Unicode編碼 139
5.1.6 相關函數 140
5.2 數據類型 140
5.2.1 Oracle中的數據類型 140
5.2.2 SQL Server中的數據
類型 141
5.2.3 遷移建議 142
5.3 日期型 142
5.3.1 日期型的遷移 142
5.3.2 內部存儲 143
5.3.3 日期常量 144
5.4 大對象字段 146
5.4.1 SQL Server中的
大對象字段 146
5.4.2 Oracle中的大對象字段 147
5.4.3 大對象字段的遷移 148
5.5 其他特殊類型 148
5.6 對象遷移工具 148
5.6.1 SQL Server的對象
遷移工具 148
5.6.2 Oracle的對象遷移工具 149
5.7 數據遷移工具 150
5.7.1 SQL Server的數據
遷移工具 150
5.7.2 Oracle的數據遷移工具 150
5.8 用戶自定義數據類型 150
5.8.1 SQL Server中的自定義
數據類型 150
5.8.2 Oracle中的自定義
數據類型 152
5.9 where條件中數據類型的
隱式轉換 155
5.9.1 SQL Server中數據類型的
隱式轉換 156

5.9.2 Oracle中數據類型的
隱式轉換 157
第6章 SQL語句遷移(1) 158
6.1 SQL語法 158
6.1.1 SQL語句結尾的分號 158
6.1.2 "/"和go 158
6.1.3 標識符和別名 159
6.1.4 單步調試及信息輸出 160
6.1.5 賦值 160
6.1.6 多字段匹配/賦值 161
6.1.7 CTE 162
6.1.8 指定使用索引 165
6.1.9 SQL語句的并行處理 165
6.1.10 模塊加密 167
6.1.11 獲得DML影響行數 168
6.1.12 獲得客戶端IP地址 168
6.1.13 Oracle偽列 169
6.1.14 僅獲取部分輸出/分頁 172
6.1.15 動態(拼接)SQL 173
6.1.16 參數及綁定 174
6.1.17 修改對象的定義 176
6.2 字符串與函數 177
6.2.1 字符串的比較 177
6.2.2 排序 180
6.2.3 ’ ’ 值與null值 181
6.2.4 轉義字符 182
6.2.5 內置函數遷移 182
6.3 常用語句 185
6.3.1 insert 185
6.3.2 DML同時返回結果集 186
6.3.3 Delete數據后釋放
存儲空間 188
6.3.4 分批delete大量數據 188
6.3.5 多表關聯 190
6.3.6 刪除表中所有行
(truncate table) 192
6.3.7 層次查詢子句
(connect by) 193
6.3.8 合并(merge) 197
6.3.9 分組統計 198
6.3.10 透視和逆透視 200
6.3.11 批加載(bulk load) 202
第7章 SQL語句遷移(2) 203
7.1 編程 203
7.1.1 If語句 203
7.1.2 循環語句 203
7.1.3 游標 204
7.1.4 出錯處理和拋出異常 206
7.1.5 程序包/程序集 208
7.1.6 與其他開發語言的集成 209
7.1.7 自定義聚合函數 217
7.1.8 合并多條記錄中的
同一個字符串字段 221
7.1.9 分解字符串為一張表 222
7.1.10 正則表達式 224
7.1.11 數據加密 230
7.2 維護 232
7.2.1 查看表的列信息 232
7.2.2 顯示SQL的執行計劃 232
7.2.3 統計信息的更新 233
7.2.4 管理視圖 235
7.2.5 鏈接服務器(DBlink) 236
第8章 事務差異 244
8.1 事務級別標準 244
8.2 默認事務級別 244
8.2.1 無阻塞查詢/快照事務 244
8.2.2 SQL Server設置快照
事務為默認事務級別 245
8.2.3 SQL Server模擬Oracle
默認事務操作 246
8.3 事務操作 246
8.3.1 顯式事務/隱性事務 246
8.3.2 DDL語句與事務 247
8.3.3 語句塊在語句出錯時
停止 248
8.3.4 匿名語句塊 248
8.3.5 事務提交和回滾 249
8.3.6 事務保存點 250
8.3.7 鎖等待(阻塞) 250
8.4 未能實現的事務等級 251
8.4.1 Oracle中實現一致讀
事務級別 251
8.4.2 自治事務 251
8.4.3 SQL Server利用臟讀
獲得事務發起者的IP 252
8.5 鎖 253
8.5.1 鎖內存管理和鎖升級 253
8.5.2 顯式指定加鎖的方式 256
8.5.3 查看會話、對象、SQL、
事務和鎖 257
8.5.4 跟蹤鎖分配 258
8.5.5 死鎖檢測 259
8.6 日志 261
8.6.1 SQL Server日志 261
8.6.2 SQL Server中日志
最小化 261
8.6.3 Oracle日志 262
8.6.4 Oracle中日志最小化 262
第9章 其他功能 263
9.1 性能監控 263
9.1.1 SQL Server的性能監控 263
9.1.2 Oracle的性能監控 265
9.2 資源管理 267
9.2.1 SQL Server的資源管理 267
9.2.2 Oracle的資源管理 268
9.3 數據壓縮/列存儲 269
9.3.1 Oracle中的數據壓縮 269
9.3.2 SQL Server中的
數據壓縮 270
9.4 數據快速恢復 272
9.4.1 Oracle:閃回(Flashback) 272
9.4.2 Oracle的四種閃回方式 275
9.4.3 SQL Server的數據庫快照
(Database Snapshots) 276
9.4.4 優勢對比 279
9.5 定時任務 279
9.5.1 Oracle中的定時任務 279
9.5.2 SQL Server中的定時任務 282
9.6 開發接口 292
9.6.1 ODBC/ OCI 292
9.6.2 OLE DB 293
9.6.3 .NET 293
9.6.4 Java 293
9.6.5 PHP 294
9.7 存儲管理 294
9.7.1 Oracle的存儲管理 294
9.7.2 SQL Server的存儲管理 294
9.8 高可用性方案 294
9.8.1 SQL Server的高可用性
方案 295
9.8.2 Oracle的高可用性方案 295
9.9 高性能方案(內存數據庫) 296
9.9.1 SQL Server的高性能
方案 296
9.9.2 Oracle的高性能方案 296
9.10 備份方案 296
9.10.1 SQL Server的備份方案 297
9.10.2 Oracle的備份方案 297
9.11 變更數據捕獲 297
9.11.1 SQL Server的變更數據
捕獲 297
9.11.2 Oracle的變更數據捕獲 298
9.12 郵件通知 298
9.12.1 SQL Server的郵件通知 298
9.12.2 Oracle的郵件通知 300
9.12.3 Buffer Pool Extension 301
參考文獻 302
序: