《深入理解Oracle 12c資料庫管理》是2014年7月1日人民郵電出版社出版的圖書,作者是庫恩 (Darl Kuhn)。
基本介紹
- 外文名:Pro Oracle Database 12c Administration, Second Edition
- 書名:深入理解Oracle 12c資料庫管理
- 作者:庫恩 (Darl Kuhn)
- 類型:計算機與網際網路
- 出版日期:2014年7月1日
- 語種:簡體中文
- ISBN:9787115355409
- 譯者:蘇寶龍
- 出版社:人民郵電出版社
- 頁數:651頁
- 開本:16
內容簡介,編輯推薦,作者簡介,媒體推薦,圖書目錄,
內容簡介
Oracle DBA的工作複雜,數據遷移、複製、SQL編碼、調試等樣樣涉及,極具挑戰性。那么,如何輕鬆應對日常工作,達到專業級DBA的水平呢?
資深DBA Darl Kuhn在這本書里總結了自己十餘年的Oracle實踐經驗,透徹展示了DBA管理多面資料庫環境的方法。書中沒有介紹最複雜最尖端的資料庫管理技術,而是爭取在足以解決任何等級的混亂和複雜問題的前提下,使技術儘可能簡單。
資深DBA Darl Kuhn在這本書里總結了自己十餘年的Oracle實踐經驗,透徹展示了DBA管理多面資料庫環境的方法。書中沒有介紹最複雜最尖端的資料庫管理技術,而是爭取在足以解決任何等級的混亂和複雜問題的前提下,使技術儘可能簡單。
編輯推薦
《深入理解Oracle 12c資料庫管理》全面覆蓋DBA行業知識,深入細緻地介紹了Oracle 12c資料庫管理工作,並將理論與實踐相結合,旨在提供高效運行資料庫所需的方方面面的知識,適合各個層次的Oracle資料庫套用開發人員或DBA。
作者簡介
Darl Kuhn Oracle公司DBA,資深資料庫專家,兼職在瑞吉斯大學教授Oracle課程。曾著有多本IT技術圖書,包括《Oracle Database 11g性能最佳化攻略》(升級版《Oracle Database 12c性能最佳化攻略》也即將推出中文版)、《Oracle索引技術》等。
媒體推薦
“本書縮小了理論與實踐的差距,介紹的都是DBA日常具體工作,讓DBA能夠以高效方式創建資料庫,並使之得到最佳維護。”
——Ahmed Baraka
——Ahmed Baraka
圖書目錄
第1章 安裝Oracle 1
1.1 了解OFA 1
1.1.1 Oracle清單目錄 2
1.1.2 Oracle基礎目錄 3
1.1.3 Oracle主目錄 3
1.1.4 Oracle網路檔案目錄 4
1.1.5 自動診斷信息庫 4
1.2 安裝Oracle 5
1.2.1 步驟1:創建OS組和用戶 5
1.2.2 步驟2:確保充分配置了OS 7
1.2.3 步驟3:獲取Oracle安裝軟體 8
1.2.4 步驟4:解壓縮檔案 8
1.2.5 步驟5:創建oraInst.loc檔案 9
1.2.6 步驟6:配置應答檔案,然後運行安裝程式 9
1.2.7 步驟7:解決任何疑難問題 13
1.3 使用已安裝程式的副本安裝Oracle 14
1.3.1 步驟1:使用OS實用程式複製已安裝的程式 14
1.3.2 步驟2:附加Oracle主目錄 15
1.4 升級Oracle軟體 16
1.5 安裝失敗後的重新安裝 17
1.6 安裝臨時補丁 18
1.7 使用圖形界面的安裝程式執行遠程安裝 19
1.7.1 步驟1:在本地計算機上安裝XWindow系統和網路實用程式 20
1.7.2 步驟2:在本地計算機上啟動XWindow系統會話 20
1.7.3 步驟3:將Oracle安裝檔案複製到遠程伺服器上 20
1.7.4 步驟4:運行xhost命令 21
1.7.5 步驟5:通過XWindow系統登錄遠程計算機 21
1.7.6 步驟6:確保在遠程計算機上正確設定DISPLAY變數 21
1.7.7 步驟7:運行runInstaller實用程式 22
1.7.8 步驟8:解決問題 23
1.8 小結 23
第2章 實現資料庫 24
2.1 設定OS變數 24
2.1.1 手動加強方法 25
2.1.2 使用Oracle的方法設定OS變數 25
2.1.3 我最喜歡的設定OS變數的方法 27
2.2 創建資料庫 28
2.2.1 步驟1:設定OS變數 29
2.2.2 步驟2:配置初始化檔案 29
2.2.3 步驟3:創建必需的目錄 31
2.2.4 步驟4:創建資料庫 31
2.2.5 步驟5:創建數據目錄 35
2.3 配置和實現監聽器 36
2.3.1 手動配置監聽器 36
2.3.2 使用NetConfigurationAssistant實現監聽器 37
2.3.3 通過網路連線資料庫 38
2.4 創建密碼檔案 39
2.5 啟動和停止資料庫 40
2.5.1 了解OS認證 40
2.5.2 啟動資料庫 41
2.5.3 停止資料庫 43
2.6 使用dbca創建資料庫 44
2.7 刪除資料庫 46
2.8 一台伺服器上運行多少個資料庫 47
2.9 了解Oracle體系結構 49
2.10 小結 51
第3章 配置高效環境 52
3.1 自定義OS命令提示符 53
3.2 自定義SQL提示符 54
3.3 為常用命令創建捷徑 56
3.3.1 使用別名 56
3.3.2 使用函式 57
3.4 快速再次運行命令 58
3.4.1 使用向上箭頭鍵和向下箭頭鍵滾動 59
3.4.2 使用Ctrl+P和Ctrl+N組合鍵 59
3.4.3 列出命令的歷史記錄 59
3.4.4 反向搜尋 60
3.4.5 設定命令編輯器 60
3.5 開發標準腳本 61
3.5.1 dba_setup 61
3.5.2 dba_fcns 62
3.5.3 tbsp_chk.bsh 62
3.5.4 conn.bsh 64
3.5.5 filesp.bsh 65
3.5.6 login.sql 67
3.5.7 top.sql 67
3.5.8 lock.sql 68
3.5.9 users.sql 70
3.6 組織腳本 70
3.6.1 步驟1:創建目錄 71
3.6.2 步驟2:將檔案複製到目錄 71
3.6.3 步驟3:配置啟動檔案 71
3.7 小結 72
第4章 表空間和數據檔案 73
4.1 最初創建的5個表空間 74
4.2 了解更多需求 74
4.3 創建表空間 75
4.4 重命名表空間 78
4.5 控制重做日誌 79
4.6 更改表空間的寫入模式 80
4.7 刪除表空間 80
4.8 使用Oracle管理的檔案 82
4.9 創建大檔案表空間 83
4.10 在表空間中啟用默認的表壓縮 83
4.11 顯示錶空間的尺寸 84
4.12 更改表空間尺寸 86
4.13 切換數據檔案的在線上狀態 87
4.14 重命名和移動數據檔案 89
4.14.1 執行數據檔案在線上操作 89
4.14.2 執行數據檔案脫機操作 89
4.15 小結 93
第5章 管理控制檔案、在線上重做日誌和歸檔 94
5.1 管理控制檔案 94
5.1.1 查看控制檔案的名稱和位置 96
5.1.2 增加控制檔案 97
5.1.3 移動控制檔案 99
5.1.4 刪除控制檔案 100
5.2 管理在線上重做日誌 101
5.2.1 顯示在線上重做日誌信息 103
5.2.2 確定在線上重做日誌組的最優尺寸 104
5.2.3 確定重做日誌組的最優數量 106
5.2.4 增加在線上重做日誌組 107
5.2.5 調整在線上重做日誌組的尺寸和刪除在線上重做日誌組 107
5.2.6 向日誌組增加在線上重做日誌檔案 109
5.2.7 從日誌組刪除在線上重做日誌檔案 109
5.2.8 移動或重命名重做日誌檔案 110
5.3 實現歸檔模式 111
5.3.1 體系結構決策 111
5.3.2 設定歸檔重做日誌檔案的存儲位置 112
5.3.3“非Oracle模式”的FRA思想 115
5.3.4 啟用歸檔日誌模式 116
5.3.5 禁用歸檔日誌模式 117
5.3.6 歸檔日誌的存儲位置缺少可用空間時的應對方法 117
5.3.7 備份歸檔重做日誌檔案 119
5.4 小結 119
第6章 用戶賬號和基本安全 120
6.1 管理默認用戶 120
6.1.1 鎖定賬號和密碼過期 121
6.1.2 區分DBA創建的賬號 123
6.1.3 檢查默認密碼 124
6.2 創建用戶賬號 125
6.2.1 選擇用戶名和驗證方式 125
6.2.2 分配默認的永久和臨時表空間 128
6.3 修改密碼 130
6.4 使用其他用戶賬號登錄 130
6.5 修改用戶 132
6.6 刪除用戶 133
6.7 提高密碼安全性和資源使用限制 134
6.7.1 密碼的基本安全性 134
6.7.2 密碼長度 136
6.7.3 限制資料庫資源的使用 138
6.8 管理許可權 139
6.8.1 分配資料庫系統許可權 139
6.8.2 分配資料庫對象許可權 140
6.8.3 以集中方式分配許可權 141
6.9 小結 142
第7章 表和約束 144
7.1 表的類型 144
7.2 數據類型 145
7.2.1 字元型 146
7.2.2 數值型 147
7.2.3 日期型 148
7.2.4 RAW 149
7.2.5 ROWID 149
7.2.6 大對象 150
7.2.7 可擴展的字元類型 150
7.3 創建表 151
7.3.1 創建堆組織表 152
7.3.2 實現虛擬列 154
7.3.3 實現隱藏列 156
7.3.4 創建唯讀表 157
7.3.5 創建延遲段 157
7.3.6 創建含有自動增長(標識)列的表 158
7.3.7 默認的SQL並行執行方式 160
7.3.8 壓縮表數據 161
7.3.9 減少重做日誌 163
7.3.10 通過查詢結果創建表 165
7.4 修改表 167
7.4.1 獲得必需的鎖機制 167
7.4.2 重命名表 168
7.4.3 增加列 168
7.4.4 更改列 168
7.4.5 重命名列 170
7.4.6 刪除列 170
7.5 顯示錶的DDL代碼 171
7.6 刪除表 172
7.7 恢復已刪除的表 172
7.8 刪除表中的數據 174
7.8.1 使用DELETE語句 174
7.8.2 使用TRUNCATE語句 174
7.9 查看和調整高水位線標記 175
7.10 與高水位線有關的性能問題 175
7.10.1 跟蹤檢測高水位線標記下方的空間 176
7.10.2 使用DBMS_SPACE軟體包檢查高水位線標記下方的空間 176
7.10.3 查看數據字典的分區視圖 178
7.10.4 降低高水位線標記 178
7.11 創建臨時表 180
7.12 創建索引組織表 181
7.13 管理約束 182
7.13.1 創建主鍵約束 182
7.13.2 強制套用唯一鍵 184
7.13.3 創建外鍵約束 185
7.13.4 檢查特定的數據條件 186
7.13.5 強制套用NOTNULL約束 187
7.13.6 禁用約束 187
7.13.7 啟用約束 189
7.14 小結 191
第8章 索引 192
8.1 創建索引的時機 193
8.1.1 以積極方式創建索引 193
8.1.2 以消極方式創建索引 193
8.2 規劃健壯性 194
8.2.1 索引的類型 195
8.2.2 估算索引的尺寸 196
8.2.3 為索引創建獨立表空間 197
8.2.4 創建便攜腳本 199
8.2.5 創建命名標準 199
8.3 創建索引 200
8.3.1 創建二叉樹索引 200
8.3.2 創建組合索引 202
8.3.3 實現基於函式的索引 204
8.3.4 創建唯一索引 205
8.3.5 實現點陣圖索引 206
8.3.6 創建點陣圖連線索引 207
8.3.7 實現反向鍵索引 208
8.3.8 創建壓縮鍵索引 208
8.3.9 以並行方式創建索引 209
8.3.10 減少創建索引時生成的重做日誌 209
8.3.11 實現隱藏索引 210
8.4 維護索引 212
8.4.1 重命名索引 212
8.4.2 顯示重新創建索引的代碼 212
8.4.3 重建索引 213
8.4.4 將索引標記為不可用 214
8.4.5 監控索引的使用情況 215
8.4.6 刪除索引 216
8.5 在外鍵列上創建索引 216
8.5.1 在外鍵列上創建索引 216
8.5.2 確定是否在外鍵列上創建了索引 217
8.6 小結 220
第9章 視圖、同義詞和序列 222
9.1 實現視圖 222
9.1.1 創建視圖 222
9.1.2 檢查更新數據 224
9.1.3 創建唯讀視圖 225
9.1.4 可更新的連線視圖 225
9.1.5 創建INSTEADOF觸發器 226
9.1.6 實現隱藏列 227
9.1.7 修改視圖定義 229
9.1.8 顯示用於創建視圖的SQL代碼 230
9.1.9 重命名視圖 230
9.1.10 刪除視圖 231
9.2 管理同義詞 231
9.2.1 創建同義詞 232
9.2.2 創建公有同義詞 233
9.2.3 以動態方式創建同義詞 233
9.2.4 顯示同義詞元數據 234
9.2.5 重命名同義詞 234
9.2.6 刪除同義詞 235
9.3 管理序列 235
9.3.1 創建序列 235
9.3.2 使用序列偽列 236
9.3.3 自動增長列 237
9.3.4 實現生成唯一值的多重序列 238
9.3.5 創建一個或多個序列 239
9.3.6 查看序列元數據 239
9.3.7 重命名序列 239
9.3.8 刪除序列 240
9.3.9 重置序列 240
9.4 小結 241
第10章 數據字典的基礎結構 243
10.1 數據字典的結構 243
10.1.1 靜態視圖 244
10.1.2 動態性能視圖 245
10.2 元數據的其他視圖 247
10.3 數據字典的幾種靈活用法 249
10.3.1 溯源文檔 249
10.3.2 顯示用戶信息 250
10.3.3 顯示錶的行數 253
10.3.4 顯示主鍵和外鍵關係 255
10.3.5 顯示對象的依賴關係 256
10.4 小結 258
第11章 大對象 259
11.1 描述大對象類型 259
11.2 大對象定位器、索引和塊 260
11.3 區分BasicFiles和SecureFiles 262
11.3.1 BasicFiles 262
11.3.2 SecureFiles 262
11.4 創建含有大對象列的表 263
11.4.1 創建BasicFiles大對象列 263
11.4.2 在指定表空間中實現大對象 265
11.4.3 創建SecureFiles大對象列 265
11.4.4 實現分區表大對象 266
11.5 管理大對象列 267
11.5.1 移動大對象列 267
11.5.2 添加大對象列 268
11.5.3 刪除大對象列 268
11.5.4 快取大對象 269
11.5.5 大對象的內嵌和行外存儲方式 269
11.6 實現SecureFiles高級功能 270
11.6.1 壓縮大對象 270
11.6.2 對大對象套用刪除重複數據功能 271
11.6.3 加密大對象 272
11.6.4 從BasicFiles遷移到SecureFiles 274
11.7 載入大對象 276
11.7.1 載入CLOB數據 276
11.7.2 載入BLOB數據 277
11.8 測量大對象占用的空間 278
11.8.1 BasicFiles大對象占用的空間 278
11.8.2 SecureFiles大對象占用的空間 279
11.9 讀取BFILE數據 280
11.10 小結 281
第12章 分區:分而治之 282
12.1 應對哪種表套用分區功能 283
12.2 創建分區表 284
12.2.1 按範圍分區 284
12.2.2 使用表空間存儲分區 287
12.2.3 根據列表值分區 290
12.2.4 散列分區 291
12.2.5 組合使用多種分區方法 292
12.2.6 根據需要創建分區 293
12.2.7 根據父表分區 296
12.2.8 虛擬列分區 298
12.2.9 賦予套用控制分區的能力 299
12.3 管理分區 299
12.3.1 查看分區的元數據 299
12.3.2 移動分區 300
12.3.3 自動移動更新的行 301
12.3.4 為現存的表創建分區 302
12.3.5 增加分區 303
12.3.6 通過現存的表交換分區 305
12.3.7 重命名分區 306
12.3.8 拆分分區 307
12.3.9 合併分區 307
12.3.10 刪除分區 308
12.3.11 統計分區數據 309
12.3.12 刪除分區中的行 309
12.3.13 操作分區中的數據 310
12.4 索引分區 311
12.4.1 使用表分區策略創建索引分區 311
12.4.2 使用與表不同的分區策略創建索引分區 314
12.4.3 部分索引 315
12.5 分區修剪 316
12.6 小結 317
第13章 數據泵 319
13.1 數據泵的結構 319
13.2 入門 322
13.2.1 執行導出操作 323
13.2.2 導入表 325
13.2.3 使用參數檔案 325
13.3 深入了解導出和導入操作 326
13.3.1 全資料庫級 326
13.3.2 方案級 327
13.3.3 表級 328
13.3.4 表空間級 329
13.4 傳輸數據 329
13.4.1 直接通過網路執行導出和導入操作 329
13.4.2 複製數據檔案 331
13.5 管理存儲方式的功能 333
13.5.1 導出表空間元數據 333
13.5.2 設定不同的數據檔案路徑和名稱 333
13.5.3 向結構與源資料庫不相同的目的資料庫導入表空間 334
13.5.4 更改數據檔案的尺寸 334
13.5.5 更改段和存儲屬性 335
13.6 過濾數據和對象 335
13.6.1 設定QUERY參數 336
13.6.2 按百分比導出數據 337
13.6.3 從導出檔案排除對象 337
13.6.4 排除統計數據 338
13.6.5 僅在導出檔案中包含指定對象 339
13.6.6 導出表、索引、約束和觸發器DDL 339
13.6.7 從導入檔案中排除對象 339
13.6.8 在導入內容中包含對象 340
13.7 常見的數據泵任務 340
13.7.1 估算導出作業的尺寸 340
13.7.2 列出數據泵檔案的內容 341
13.7.3 克隆用戶 341
13.7.4 創建一致的導出檔案 342
13.7.5 在對象已經存在的情況下執行導入操作 343
13.7.6 重命名表 344
13.7.7 重新映射數據 345
13.7.8 不創建日誌檔案 346
13.7.9 使用並行機制 346
13.7.10 設定額外的數據泵檔案 347
13.7.11 重用導出檔案名稱稱 347
13.7.12 創建處理日常任務的DDL檔案 348
13.7.13 壓縮導出檔案 348
13.7.14 在導入時更改表的壓縮屬性 349
13.7.15 加密數據 349
13.7.16 將視圖導出為表 350
13.7.17 在導入時禁用重做日誌功能 351
13.8 命令行互動模式 351
13.8.1 進入命令行互動模式 351
13.8.2 附加正在運行的作業 353
13.8.3 停止和重啟作業 353
13.8.4 終止數據泵作業 354
13.9 監控數據泵作業 354
13.9.1 數據泵日誌檔案 355
13.9.2 數據字典視圖 355
13.9.3 數據泵警告日誌 355
13.9.4 狀態表 356
13.9.5 命令行互動模式STATUS命令 356
13.9.6 OS實用程式 357
13.10 數據泵傳統模式 357
13.10.1 將數據泵映射到exp實用程式上 357
13.10.2 將數據泵映射到imp實用程式上 358
13.11 小結 359
第14章 外部表 361
14.1 SQL*Loader和外部表 361
14.2 向資料庫載入CSV檔案 362
14.2.1 創建目錄對象並分配訪問許可權 363
14.2.2 創建外部表 364
14.2.3 生成用於創建外部表的SQL代碼 364
14.2.4 查看外部表元數據 366
14.2.5 通過外部表為普通表載入數據 367
14.3 執行高級轉換任務 368
14.4 通過SQL查看文本檔案 369
14.5 使用外部表卸載、載入數據 371
14.5.1 啟用並行機制加快處理速度 373
14.5.2 壓縮數據泵檔案 373
14.5.3 加密數據泵檔案 374
14.6 小結 375
第15章 物化視圖 376
15.1 MV簡介 376
15.1.1 MV的術語 377
15.1.2 參考有用的視圖 378
15.2 創建基本物化視圖 379
15.2.1 創建完全刷新MV 379
15.2.2 創建快速刷新的MV 382
15.3 MV進階 386
15.3.1 創建MV並為MV和索引設定表空間 386
15.3.2 在MV上創建索引 387
15.3.3 分區MV 387
15.3.4 壓縮MV 388
15.3.5 加密MV列 388
15.3.6 使用預建表創建MV 389
15.3.7 創建不含數據的MV 390
15.3.8 創建在提交時刷新的MV 391
15.3.9 創建從不刷新的MV 391
15.3.10 為查詢重寫創建MV 392
15.3.11 使用複雜查詢操作創建快速刷新MV 393
15.3.12 查看MV的DDL代碼 395
15.3.13 刪除MV 395
15.4 修改MV 396
15.4.1 修改主表的DDL代碼並使MV反映這些更改 396
15.4.2 觸發MV上的重做日誌功能 399
15.4.3 更改並行機制 400
15.4.4 移動MV 400
15.5 管理MV日誌 400
15.5.1 創建MV日誌 401
15.5.2 索引MV日誌列 402
15.5.3 查看MV日誌占用的空間 403
15.5.4 縮小MV日誌占用的空間 403
15.5.5 檢查MV日誌的行數 404
15.5.6 移動MV日誌 404
15.5.7 刪除MV日誌 405
15.6 刷新MV 405
15.6.1 利用SQL*Plus手動刷新MV 406
15.6.2 使用Shell腳本和調度實用程式執行自動刷新 407
15.6.3 使用Oracle內置的作業調度程式自動刷新MV 408
15.6.4 高效執行完全刷新操作 409
15.6.5 處理ORA—12034錯誤 409
15.7 監控MV的刷新操作 410
15.7.1 查看上次刷新時間 410
15.7.2 確定刷新作業是否正在進行 410
15.7.3 監控刷新操作的進度 410
15.7.4 檢查MV是否按計畫刷新 411
15.8 創建遠程MV 412
15.8.1 了解遠程刷新操作的結構 413
15.8.2 查看MV主表的信息 414
15.8.3 確定中心MV日誌被多少個MV引用 415
15.9 管理MV組 416
15.9.1 創建MV組 417
15.9.2 更改MV組 417
15.9.3 刷新MV組 418
15.9.4 DBMS_MVIEW和DBMS_REFRESH 418
15.9.5 確定MV組中的MV 419
15.9.6 向MV組中添加MV 419
15.9.7 從MV組刪除MV 419
15.9.8 刪除MV組 420
15.10 小結 420
第16章 用戶管理的備份與恢復 421
16.1 為沒有處於歸檔日誌模式的資料庫實現冷備份策略 422
16.1.1 冷備份非歸檔模式資料庫 422
16.1.2 使用含有在線上重做日誌的冷備份恢復非歸檔日誌模式的資料庫 424
16.1.3 使用不含有在線上重做日誌的冷備份恢復非歸檔日誌模式的資料庫 425
16.1.4 編寫執行冷備份與恢復的腳本 426
16.2 冷備份處於歸檔日誌模式的資料庫 428
16.3 熱備份策略 429
16.3.1 創建熱備份 430
16.3.2 使用腳本執行熱備份 432
16.3.3 了解分割塊問題 434
16.3.4 了解在備份過程中生成重做日誌的必要性 437
16.3.5 了解數據檔案的更新情況 438
16.4 對處於歸檔重做日誌模式的資料庫執行完全恢復 439
16.4.1 在脫機情況下恢複數據庫 439
16.4.2 恢復在線上資料庫 443
16.4.3 恢復控制檔案 444
16.5 對處於歸檔日誌模式的資料庫執行不完全恢復 447
16.6 小結 449
第17章 配置RMAN 450
17.1 了解RMAN 451
17.2 啟動RMAN 453
17.3 RMAN結構決策 454
17.3.1 以遠程或本地方式運行RMAN客戶端 456
17.3.2 設定備份用戶 457
17.3.3 使用在線上或脫機備份 457
17.3.4 設定歸檔重做日誌的存儲位置和檔案格式 457
17.3.5 配置RMAN備份的存儲位置和檔案格式 458
17.3.6 設定自動備份控制檔案的功能 460
17.3.7 設定控制檔案自動備份的存儲位置 461
17.3.8 備份歸檔重做日誌 461
17.3.9 確定控制檔案快照的存儲位置 462
17.3.10 使用恢複目錄 462
17.3.11 使用介質管理器 463
17.3.12 設定初始化參數CONTROL_FILE_RECORD_KEEP_TIME 463
17.3.13 配置RMAN備份的保留策略 464
17.3.14 配置歸檔重做日誌的刪除策略 465
17.3.15 設定並行度 466
17.3.16 使用備份集或鏡像副本 467
17.3.17 使用增量備份 468
17.3.18 使用增量更新備份 468
17.3.19 使用塊修改跟蹤功能 468
17.3.20 配置二進制檔案壓縮功能 469
17.3.21 配置加密功能 470
17.3.22 配置各種設定 471
17.3.23 配置輸出信息 471
17.4 後續決策 472
17.5 小結 476
第18章 RMAN備份和報告 477
18.1 運行RMANBACKUP命令的準備工作 477
18.1.1 設定NLS_DATE_FORMAT變數 478
18.1.2 設定ECHO參數 478
18.1.3 查看RMAN變數 479
18.2 運行備份操作 479
18.2.1 備份整個資料庫 479
18.2.2 備份表空間 481
18.2.3 備份數據檔案 481
18.2.4 備份控制檔案 481
18.2.5 備份spfile 482
18.2.6 備份歸檔重做日誌 482
18.2.7 備份FRA 483
18.2.8 從備份中去除表空間的備份 483
18.2.9 備份還未備份的數據檔案 484
18.2.10 跳過唯讀表空間 484
18.2.11 跳過脫機檔案和無法訪問的檔案 484
18.2.12 以並行方式備份大型檔案 485
18.2.13 向RMAN倉庫中添加RMAN備份信息 486
18.3 備份可插拔資料庫 486
18.3.1 連線根容器資料庫 487
18.3.2 連線可插拔資料庫 487
18.4 創建增量備份 488
18.4.1 創建分級增量備份 489
18.4.2 創建增量更新備份 490
18.4.3 使用塊修改跟蹤功能 490
18.5 檢查數據檔案和備份檔案中的壞塊 491
18.5.1 使用VALIDATE命令 492
18.5.2 使用BACKUP
18.5.3 使用RESTORE
18.6 使用恢複目錄 493
18.6.1 創建恢複目錄 493
18.6.2 註冊目標資料庫 495
18.6.3 備份恢複目錄 495
18.6.4 同步恢複目錄 495
18.6.5 創建恢複目錄的Oracle版本 496
18.6.6 刪除恢複目錄 496
18.7 記錄RMAN的輸出結果 496
18.7.1 將輸出結果重定向到檔案 497
18.7.2 使用Linux/UNIX的記錄日誌命令捕捉輸出信息 497
18.7.3 將輸出信息記錄到檔案中 498
18.7.4 通過數據字典查詢輸出信息 498
18.8 RMAN報告 499
18.8.1 使用LIST命令 499
18.8.2 使用REPORT命令 500
18.8.3 使用SQL查詢命令 500
18.9 小結 503
第19章 RMAN恢復操作 504
19.1 確定是否需要執行介質恢復操作 505
19.2 確定需要恢復的內容 506
19.2.1 恢復操作的運作過程 506
19.2.2 使用DataRecoveryAdvisor 507
19.3 使用RMAN關閉或啟動資料庫 510
19.3.1 關閉資料庫 510
19.3.2 啟動資料庫 511
19.4 完全恢復 511
19.4.1 測試恢復操作 511
19.4.2 恢復整個資料庫 513
19.4.3 恢復表空間 514
19.4.4 恢復唯讀表空間 515
19.4.5 恢復臨時表空間 516
19.4.6 恢複數據檔案 516
19.4.7 將數據檔案恢復到非默認位置 518
19.4.8 執行數據塊級恢復操作 519
19.4.9 恢復容器資料庫和與其關聯的可插拔資料庫 520
19.5 恢復歸檔日誌檔案 522
19.5.1 將備份恢復到默認位置 522
19.5.2 將備份恢復到非默認位置 523
19.6 恢復控制檔案 523
19.6.1 使用恢複目錄 523
19.6.2 使用自動備份 524
19.6.3 指定備份檔案的名稱 524
19.7 恢復spfile檔案 524
19.8 不完全恢復 525
19.8.1 如何選擇不完全恢復操作 527
19.8.2 基於時間的恢復操作 528
19.8.3 基於日誌序列號的恢復操作 528
19.8.4 基於SCN的恢復操作 529
19.8.5 恢復到還原點 529
19.8.6 將表恢復到過去的時間點 530
19.9 閃回表 531
19.9.1 FLASHBACKTABLETOBEFOREDROP命令 531
19.9.2 將表閃回到過去的時間點 533
19.10 閃回資料庫 534
19.11 將備份恢復到其他伺服器 535
19.12 小結 545
第20章 Oracle安全備份 546
20.1 OSB的版本和功能 546
20.2 OSB術語 547
20.2.1 OSB管理域和伺服器 547
20.2.2 OSB的界面 548
20.2.3 OSB用戶和等級 549
20.2.4 OSB守護進程 549
20.3 下載和安裝 549
20.4 通過命令行界面訪問OSB 552
20.5 配置OSB 553
20.5.1 配置用戶和等級 553
20.5.2 配置介質家族 555
20.5.3 配置資料庫備份存儲選擇器 555
20.6 資料庫備份 556
20.7 恢複數據庫操作 557
20.8 檔案系統備份 558
20.8.1 創建數據集檔案 559
20.8.2 配置備份視窗 560
20.8.3 配置備份時間表和觸發器 560
20.8.4 根據需要執行檔案系統備份操作 561
20.9 檔案系統恢復操作 562
20.9.1 執行基於目錄的恢復操作 562
20.9.2 執行原始數據恢復操作 562
20.9.3 執行obtar命令 563
20.10 監控OSB作業 564
20.10.1 列出作業 564
20.10.2 顯示作業的腳本 566
20.10.3 監控OSB日誌 567
20.11 虛擬測試設備 568
20.12 雲計算中的Oracle資料庫備份 569
20.13 升級OSB軟體 571
20.14 小結 571
第21章 作業自動化 572
21.1 使用OracleScheduler實現自動化作業 573
21.1.1 創建和調度作業 573
21.1.2 查看作業的細節 574
21.1.3 修改作業的日誌歷史記錄 574
21.1.4 修改作業 575
21.1.5 停止作業 575
21.1.6 暫停作業 575
21.1.7 啟動作業 575
21.1.8 複製作業 576
21.1.9 手動運行作業 576
21.1.10 刪除作業 576
21.2 OracleScheduler和cron 576
21.3 通過cron使作業自動化 577
21.3.1 cron的運作方式 577
21.3.2 啟用cron 579
21.3.3 了解cron表條目 579
21.3.4 使作業自動運行 580
21.3.5 重定向cron輸出結果 583
21.3.6 處理cron問題 584
21.4 自動化DBA作業的示例 584
21.4.1 啟動和停止資料庫與監聽器 585
21.4.2 檢查歸檔重做日誌存儲位置的可用空間 588
21.4.3 跟蹤大型日誌檔案 590
21.4.4 檢查鎖定的產品資料庫賬號 591
21.4.5 檢查某個時間點前的檔案 592
21.4.6 檢查是否存在過多的進程 592
21.4.7 檢查RMAN備份的完整性 593
21.5 小結 594
第22章 資料庫疑難解答 595
22.1 快速分類 595
22.1.1 檢查資料庫的可用性 595
22.1.2 檢查可用空間 597
22.1.3 檢查警告日誌 599
22.2 通過OS實用程式找出瓶頸問題 602
22.2.1 尋找系統瓶頸 603
22.2.2 將作業系統進程與SQL命令對應起來 606
22.3 尋找資源密集型SQL命令 608
22.3.1 實時監控SQL命令的執行情況 608
22.3.2 運行Oracle診斷實用程式 610
22.4 檢測和解決鎖定問題 613
22.5 解決最大打開游標數量問題 615
22.6 撤銷表空間疑難解答 616
22.6.1 確定撤銷表空間尺寸是否正確 616
22.6.2 檢查使用撤銷表空間的SQL命令 618
22.7 處理臨時表空間問題 619
22.7.1 確定臨時表空間的尺寸是否正確 619
22.7.2 檢查使用臨時表空間的SQL命令 621
22.8 小結 621
第23章 可插拔資料庫 623
23.1 了解可插拔體系結構 624
23.1.1 轉換範例 626
23.1.2 對備份與恢復操作的意義 627
23.1.3 細微調優 628
23.2 創建CDB 629
23.2.1 使用SQL命令手動創建CDB 629
23.2.2 使用DBCA 631
23.2.3 通過DBCA生成創建CDB的腳本 632
23.2.4 檢查是否已經創建了CDB 632
23.3 管理根容器 633
23.3.1 連線根容器 634
23.3.2 顯示當前連線容器的信息 635
23.3.3 啟動和停止根容器 635
23.3.4 創建公用用戶 636
23.3.5 創建公用角色 636
23.3.6 報告容器空間的相關信息 637
23.3.7 切換容器 638
23.4 在CDB中創建可插拔資料庫 638
23.4.1 克隆種子容器 639
23.4.2 克隆現存的可插拔資料庫 640
23.4.3 克隆非CDB資料庫 641
23.4.4 從CDB中拔出可插拔資料庫 643
23.4.5 將拔出的可插拔資料庫插入CDB 643
23.4.6 使用DBCA通過種子容器創建可插拔資料庫 644
23.4.7 檢查可插拔資料庫的狀態 645
23.5 管理可插拔資料庫 645
23.5.1 連線可插拔資料庫 645
23.5.2 在可插拔環境中管理監聽器 646
23.5.3 查看當前連線的可插拔資料庫 647
23.5.4 啟動和停止可插拔資料庫 648
23.5.5 修改套用於可插拔資料庫的初始化參數 649
23.5.6 重命名可插拔資料庫 649
23.5.7 限定可插拔資料庫使用空間的尺寸 649
23.5.8 查看可插拔資料庫的歷史記錄 650
23.5.9 刪除可插拔資料庫 650
23.6 小結 651
1.1 了解OFA 1
1.1.1 Oracle清單目錄 2
1.1.2 Oracle基礎目錄 3
1.1.3 Oracle主目錄 3
1.1.4 Oracle網路檔案目錄 4
1.1.5 自動診斷信息庫 4
1.2 安裝Oracle 5
1.2.1 步驟1:創建OS組和用戶 5
1.2.2 步驟2:確保充分配置了OS 7
1.2.3 步驟3:獲取Oracle安裝軟體 8
1.2.4 步驟4:解壓縮檔案 8
1.2.5 步驟5:創建oraInst.loc檔案 9
1.2.6 步驟6:配置應答檔案,然後運行安裝程式 9
1.2.7 步驟7:解決任何疑難問題 13
1.3 使用已安裝程式的副本安裝Oracle 14
1.3.1 步驟1:使用OS實用程式複製已安裝的程式 14
1.3.2 步驟2:附加Oracle主目錄 15
1.4 升級Oracle軟體 16
1.5 安裝失敗後的重新安裝 17
1.6 安裝臨時補丁 18
1.7 使用圖形界面的安裝程式執行遠程安裝 19
1.7.1 步驟1:在本地計算機上安裝XWindow系統和網路實用程式 20
1.7.2 步驟2:在本地計算機上啟動XWindow系統會話 20
1.7.3 步驟3:將Oracle安裝檔案複製到遠程伺服器上 20
1.7.4 步驟4:運行xhost命令 21
1.7.5 步驟5:通過XWindow系統登錄遠程計算機 21
1.7.6 步驟6:確保在遠程計算機上正確設定DISPLAY變數 21
1.7.7 步驟7:運行runInstaller實用程式 22
1.7.8 步驟8:解決問題 23
1.8 小結 23
第2章 實現資料庫 24
2.1 設定OS變數 24
2.1.1 手動加強方法 25
2.1.2 使用Oracle的方法設定OS變數 25
2.1.3 我最喜歡的設定OS變數的方法 27
2.2 創建資料庫 28
2.2.1 步驟1:設定OS變數 29
2.2.2 步驟2:配置初始化檔案 29
2.2.3 步驟3:創建必需的目錄 31
2.2.4 步驟4:創建資料庫 31
2.2.5 步驟5:創建數據目錄 35
2.3 配置和實現監聽器 36
2.3.1 手動配置監聽器 36
2.3.2 使用NetConfigurationAssistant實現監聽器 37
2.3.3 通過網路連線資料庫 38
2.4 創建密碼檔案 39
2.5 啟動和停止資料庫 40
2.5.1 了解OS認證 40
2.5.2 啟動資料庫 41
2.5.3 停止資料庫 43
2.6 使用dbca創建資料庫 44
2.7 刪除資料庫 46
2.8 一台伺服器上運行多少個資料庫 47
2.9 了解Oracle體系結構 49
2.10 小結 51
第3章 配置高效環境 52
3.1 自定義OS命令提示符 53
3.2 自定義SQL提示符 54
3.3 為常用命令創建捷徑 56
3.3.1 使用別名 56
3.3.2 使用函式 57
3.4 快速再次運行命令 58
3.4.1 使用向上箭頭鍵和向下箭頭鍵滾動 59
3.4.2 使用Ctrl+P和Ctrl+N組合鍵 59
3.4.3 列出命令的歷史記錄 59
3.4.4 反向搜尋 60
3.4.5 設定命令編輯器 60
3.5 開發標準腳本 61
3.5.1 dba_setup 61
3.5.2 dba_fcns 62
3.5.3 tbsp_chk.bsh 62
3.5.4 conn.bsh 64
3.5.5 filesp.bsh 65
3.5.6 login.sql 67
3.5.7 top.sql 67
3.5.8 lock.sql 68
3.5.9 users.sql 70
3.6 組織腳本 70
3.6.1 步驟1:創建目錄 71
3.6.2 步驟2:將檔案複製到目錄 71
3.6.3 步驟3:配置啟動檔案 71
3.7 小結 72
第4章 表空間和數據檔案 73
4.1 最初創建的5個表空間 74
4.2 了解更多需求 74
4.3 創建表空間 75
4.4 重命名表空間 78
4.5 控制重做日誌 79
4.6 更改表空間的寫入模式 80
4.7 刪除表空間 80
4.8 使用Oracle管理的檔案 82
4.9 創建大檔案表空間 83
4.10 在表空間中啟用默認的表壓縮 83
4.11 顯示錶空間的尺寸 84
4.12 更改表空間尺寸 86
4.13 切換數據檔案的在線上狀態 87
4.14 重命名和移動數據檔案 89
4.14.1 執行數據檔案在線上操作 89
4.14.2 執行數據檔案脫機操作 89
4.15 小結 93
第5章 管理控制檔案、在線上重做日誌和歸檔 94
5.1 管理控制檔案 94
5.1.1 查看控制檔案的名稱和位置 96
5.1.2 增加控制檔案 97
5.1.3 移動控制檔案 99
5.1.4 刪除控制檔案 100
5.2 管理在線上重做日誌 101
5.2.1 顯示在線上重做日誌信息 103
5.2.2 確定在線上重做日誌組的最優尺寸 104
5.2.3 確定重做日誌組的最優數量 106
5.2.4 增加在線上重做日誌組 107
5.2.5 調整在線上重做日誌組的尺寸和刪除在線上重做日誌組 107
5.2.6 向日誌組增加在線上重做日誌檔案 109
5.2.7 從日誌組刪除在線上重做日誌檔案 109
5.2.8 移動或重命名重做日誌檔案 110
5.3 實現歸檔模式 111
5.3.1 體系結構決策 111
5.3.2 設定歸檔重做日誌檔案的存儲位置 112
5.3.3“非Oracle模式”的FRA思想 115
5.3.4 啟用歸檔日誌模式 116
5.3.5 禁用歸檔日誌模式 117
5.3.6 歸檔日誌的存儲位置缺少可用空間時的應對方法 117
5.3.7 備份歸檔重做日誌檔案 119
5.4 小結 119
第6章 用戶賬號和基本安全 120
6.1 管理默認用戶 120
6.1.1 鎖定賬號和密碼過期 121
6.1.2 區分DBA創建的賬號 123
6.1.3 檢查默認密碼 124
6.2 創建用戶賬號 125
6.2.1 選擇用戶名和驗證方式 125
6.2.2 分配默認的永久和臨時表空間 128
6.3 修改密碼 130
6.4 使用其他用戶賬號登錄 130
6.5 修改用戶 132
6.6 刪除用戶 133
6.7 提高密碼安全性和資源使用限制 134
6.7.1 密碼的基本安全性 134
6.7.2 密碼長度 136
6.7.3 限制資料庫資源的使用 138
6.8 管理許可權 139
6.8.1 分配資料庫系統許可權 139
6.8.2 分配資料庫對象許可權 140
6.8.3 以集中方式分配許可權 141
6.9 小結 142
第7章 表和約束 144
7.1 表的類型 144
7.2 數據類型 145
7.2.1 字元型 146
7.2.2 數值型 147
7.2.3 日期型 148
7.2.4 RAW 149
7.2.5 ROWID 149
7.2.6 大對象 150
7.2.7 可擴展的字元類型 150
7.3 創建表 151
7.3.1 創建堆組織表 152
7.3.2 實現虛擬列 154
7.3.3 實現隱藏列 156
7.3.4 創建唯讀表 157
7.3.5 創建延遲段 157
7.3.6 創建含有自動增長(標識)列的表 158
7.3.7 默認的SQL並行執行方式 160
7.3.8 壓縮表數據 161
7.3.9 減少重做日誌 163
7.3.10 通過查詢結果創建表 165
7.4 修改表 167
7.4.1 獲得必需的鎖機制 167
7.4.2 重命名表 168
7.4.3 增加列 168
7.4.4 更改列 168
7.4.5 重命名列 170
7.4.6 刪除列 170
7.5 顯示錶的DDL代碼 171
7.6 刪除表 172
7.7 恢復已刪除的表 172
7.8 刪除表中的數據 174
7.8.1 使用DELETE語句 174
7.8.2 使用TRUNCATE語句 174
7.9 查看和調整高水位線標記 175
7.10 與高水位線有關的性能問題 175
7.10.1 跟蹤檢測高水位線標記下方的空間 176
7.10.2 使用DBMS_SPACE軟體包檢查高水位線標記下方的空間 176
7.10.3 查看數據字典的分區視圖 178
7.10.4 降低高水位線標記 178
7.11 創建臨時表 180
7.12 創建索引組織表 181
7.13 管理約束 182
7.13.1 創建主鍵約束 182
7.13.2 強制套用唯一鍵 184
7.13.3 創建外鍵約束 185
7.13.4 檢查特定的數據條件 186
7.13.5 強制套用NOTNULL約束 187
7.13.6 禁用約束 187
7.13.7 啟用約束 189
7.14 小結 191
第8章 索引 192
8.1 創建索引的時機 193
8.1.1 以積極方式創建索引 193
8.1.2 以消極方式創建索引 193
8.2 規劃健壯性 194
8.2.1 索引的類型 195
8.2.2 估算索引的尺寸 196
8.2.3 為索引創建獨立表空間 197
8.2.4 創建便攜腳本 199
8.2.5 創建命名標準 199
8.3 創建索引 200
8.3.1 創建二叉樹索引 200
8.3.2 創建組合索引 202
8.3.3 實現基於函式的索引 204
8.3.4 創建唯一索引 205
8.3.5 實現點陣圖索引 206
8.3.6 創建點陣圖連線索引 207
8.3.7 實現反向鍵索引 208
8.3.8 創建壓縮鍵索引 208
8.3.9 以並行方式創建索引 209
8.3.10 減少創建索引時生成的重做日誌 209
8.3.11 實現隱藏索引 210
8.4 維護索引 212
8.4.1 重命名索引 212
8.4.2 顯示重新創建索引的代碼 212
8.4.3 重建索引 213
8.4.4 將索引標記為不可用 214
8.4.5 監控索引的使用情況 215
8.4.6 刪除索引 216
8.5 在外鍵列上創建索引 216
8.5.1 在外鍵列上創建索引 216
8.5.2 確定是否在外鍵列上創建了索引 217
8.6 小結 220
第9章 視圖、同義詞和序列 222
9.1 實現視圖 222
9.1.1 創建視圖 222
9.1.2 檢查更新數據 224
9.1.3 創建唯讀視圖 225
9.1.4 可更新的連線視圖 225
9.1.5 創建INSTEADOF觸發器 226
9.1.6 實現隱藏列 227
9.1.7 修改視圖定義 229
9.1.8 顯示用於創建視圖的SQL代碼 230
9.1.9 重命名視圖 230
9.1.10 刪除視圖 231
9.2 管理同義詞 231
9.2.1 創建同義詞 232
9.2.2 創建公有同義詞 233
9.2.3 以動態方式創建同義詞 233
9.2.4 顯示同義詞元數據 234
9.2.5 重命名同義詞 234
9.2.6 刪除同義詞 235
9.3 管理序列 235
9.3.1 創建序列 235
9.3.2 使用序列偽列 236
9.3.3 自動增長列 237
9.3.4 實現生成唯一值的多重序列 238
9.3.5 創建一個或多個序列 239
9.3.6 查看序列元數據 239
9.3.7 重命名序列 239
9.3.8 刪除序列 240
9.3.9 重置序列 240
9.4 小結 241
第10章 數據字典的基礎結構 243
10.1 數據字典的結構 243
10.1.1 靜態視圖 244
10.1.2 動態性能視圖 245
10.2 元數據的其他視圖 247
10.3 數據字典的幾種靈活用法 249
10.3.1 溯源文檔 249
10.3.2 顯示用戶信息 250
10.3.3 顯示錶的行數 253
10.3.4 顯示主鍵和外鍵關係 255
10.3.5 顯示對象的依賴關係 256
10.4 小結 258
第11章 大對象 259
11.1 描述大對象類型 259
11.2 大對象定位器、索引和塊 260
11.3 區分BasicFiles和SecureFiles 262
11.3.1 BasicFiles 262
11.3.2 SecureFiles 262
11.4 創建含有大對象列的表 263
11.4.1 創建BasicFiles大對象列 263
11.4.2 在指定表空間中實現大對象 265
11.4.3 創建SecureFiles大對象列 265
11.4.4 實現分區表大對象 266
11.5 管理大對象列 267
11.5.1 移動大對象列 267
11.5.2 添加大對象列 268
11.5.3 刪除大對象列 268
11.5.4 快取大對象 269
11.5.5 大對象的內嵌和行外存儲方式 269
11.6 實現SecureFiles高級功能 270
11.6.1 壓縮大對象 270
11.6.2 對大對象套用刪除重複數據功能 271
11.6.3 加密大對象 272
11.6.4 從BasicFiles遷移到SecureFiles 274
11.7 載入大對象 276
11.7.1 載入CLOB數據 276
11.7.2 載入BLOB數據 277
11.8 測量大對象占用的空間 278
11.8.1 BasicFiles大對象占用的空間 278
11.8.2 SecureFiles大對象占用的空間 279
11.9 讀取BFILE數據 280
11.10 小結 281
第12章 分區:分而治之 282
12.1 應對哪種表套用分區功能 283
12.2 創建分區表 284
12.2.1 按範圍分區 284
12.2.2 使用表空間存儲分區 287
12.2.3 根據列表值分區 290
12.2.4 散列分區 291
12.2.5 組合使用多種分區方法 292
12.2.6 根據需要創建分區 293
12.2.7 根據父表分區 296
12.2.8 虛擬列分區 298
12.2.9 賦予套用控制分區的能力 299
12.3 管理分區 299
12.3.1 查看分區的元數據 299
12.3.2 移動分區 300
12.3.3 自動移動更新的行 301
12.3.4 為現存的表創建分區 302
12.3.5 增加分區 303
12.3.6 通過現存的表交換分區 305
12.3.7 重命名分區 306
12.3.8 拆分分區 307
12.3.9 合併分區 307
12.3.10 刪除分區 308
12.3.11 統計分區數據 309
12.3.12 刪除分區中的行 309
12.3.13 操作分區中的數據 310
12.4 索引分區 311
12.4.1 使用表分區策略創建索引分區 311
12.4.2 使用與表不同的分區策略創建索引分區 314
12.4.3 部分索引 315
12.5 分區修剪 316
12.6 小結 317
第13章 數據泵 319
13.1 數據泵的結構 319
13.2 入門 322
13.2.1 執行導出操作 323
13.2.2 導入表 325
13.2.3 使用參數檔案 325
13.3 深入了解導出和導入操作 326
13.3.1 全資料庫級 326
13.3.2 方案級 327
13.3.3 表級 328
13.3.4 表空間級 329
13.4 傳輸數據 329
13.4.1 直接通過網路執行導出和導入操作 329
13.4.2 複製數據檔案 331
13.5 管理存儲方式的功能 333
13.5.1 導出表空間元數據 333
13.5.2 設定不同的數據檔案路徑和名稱 333
13.5.3 向結構與源資料庫不相同的目的資料庫導入表空間 334
13.5.4 更改數據檔案的尺寸 334
13.5.5 更改段和存儲屬性 335
13.6 過濾數據和對象 335
13.6.1 設定QUERY參數 336
13.6.2 按百分比導出數據 337
13.6.3 從導出檔案排除對象 337
13.6.4 排除統計數據 338
13.6.5 僅在導出檔案中包含指定對象 339
13.6.6 導出表、索引、約束和觸發器DDL 339
13.6.7 從導入檔案中排除對象 339
13.6.8 在導入內容中包含對象 340
13.7 常見的數據泵任務 340
13.7.1 估算導出作業的尺寸 340
13.7.2 列出數據泵檔案的內容 341
13.7.3 克隆用戶 341
13.7.4 創建一致的導出檔案 342
13.7.5 在對象已經存在的情況下執行導入操作 343
13.7.6 重命名表 344
13.7.7 重新映射數據 345
13.7.8 不創建日誌檔案 346
13.7.9 使用並行機制 346
13.7.10 設定額外的數據泵檔案 347
13.7.11 重用導出檔案名稱稱 347
13.7.12 創建處理日常任務的DDL檔案 348
13.7.13 壓縮導出檔案 348
13.7.14 在導入時更改表的壓縮屬性 349
13.7.15 加密數據 349
13.7.16 將視圖導出為表 350
13.7.17 在導入時禁用重做日誌功能 351
13.8 命令行互動模式 351
13.8.1 進入命令行互動模式 351
13.8.2 附加正在運行的作業 353
13.8.3 停止和重啟作業 353
13.8.4 終止數據泵作業 354
13.9 監控數據泵作業 354
13.9.1 數據泵日誌檔案 355
13.9.2 數據字典視圖 355
13.9.3 數據泵警告日誌 355
13.9.4 狀態表 356
13.9.5 命令行互動模式STATUS命令 356
13.9.6 OS實用程式 357
13.10 數據泵傳統模式 357
13.10.1 將數據泵映射到exp實用程式上 357
13.10.2 將數據泵映射到imp實用程式上 358
13.11 小結 359
第14章 外部表 361
14.1 SQL*Loader和外部表 361
14.2 向資料庫載入CSV檔案 362
14.2.1 創建目錄對象並分配訪問許可權 363
14.2.2 創建外部表 364
14.2.3 生成用於創建外部表的SQL代碼 364
14.2.4 查看外部表元數據 366
14.2.5 通過外部表為普通表載入數據 367
14.3 執行高級轉換任務 368
14.4 通過SQL查看文本檔案 369
14.5 使用外部表卸載、載入數據 371
14.5.1 啟用並行機制加快處理速度 373
14.5.2 壓縮數據泵檔案 373
14.5.3 加密數據泵檔案 374
14.6 小結 375
第15章 物化視圖 376
15.1 MV簡介 376
15.1.1 MV的術語 377
15.1.2 參考有用的視圖 378
15.2 創建基本物化視圖 379
15.2.1 創建完全刷新MV 379
15.2.2 創建快速刷新的MV 382
15.3 MV進階 386
15.3.1 創建MV並為MV和索引設定表空間 386
15.3.2 在MV上創建索引 387
15.3.3 分區MV 387
15.3.4 壓縮MV 388
15.3.5 加密MV列 388
15.3.6 使用預建表創建MV 389
15.3.7 創建不含數據的MV 390
15.3.8 創建在提交時刷新的MV 391
15.3.9 創建從不刷新的MV 391
15.3.10 為查詢重寫創建MV 392
15.3.11 使用複雜查詢操作創建快速刷新MV 393
15.3.12 查看MV的DDL代碼 395
15.3.13 刪除MV 395
15.4 修改MV 396
15.4.1 修改主表的DDL代碼並使MV反映這些更改 396
15.4.2 觸發MV上的重做日誌功能 399
15.4.3 更改並行機制 400
15.4.4 移動MV 400
15.5 管理MV日誌 400
15.5.1 創建MV日誌 401
15.5.2 索引MV日誌列 402
15.5.3 查看MV日誌占用的空間 403
15.5.4 縮小MV日誌占用的空間 403
15.5.5 檢查MV日誌的行數 404
15.5.6 移動MV日誌 404
15.5.7 刪除MV日誌 405
15.6 刷新MV 405
15.6.1 利用SQL*Plus手動刷新MV 406
15.6.2 使用Shell腳本和調度實用程式執行自動刷新 407
15.6.3 使用Oracle內置的作業調度程式自動刷新MV 408
15.6.4 高效執行完全刷新操作 409
15.6.5 處理ORA—12034錯誤 409
15.7 監控MV的刷新操作 410
15.7.1 查看上次刷新時間 410
15.7.2 確定刷新作業是否正在進行 410
15.7.3 監控刷新操作的進度 410
15.7.4 檢查MV是否按計畫刷新 411
15.8 創建遠程MV 412
15.8.1 了解遠程刷新操作的結構 413
15.8.2 查看MV主表的信息 414
15.8.3 確定中心MV日誌被多少個MV引用 415
15.9 管理MV組 416
15.9.1 創建MV組 417
15.9.2 更改MV組 417
15.9.3 刷新MV組 418
15.9.4 DBMS_MVIEW和DBMS_REFRESH 418
15.9.5 確定MV組中的MV 419
15.9.6 向MV組中添加MV 419
15.9.7 從MV組刪除MV 419
15.9.8 刪除MV組 420
15.10 小結 420
第16章 用戶管理的備份與恢復 421
16.1 為沒有處於歸檔日誌模式的資料庫實現冷備份策略 422
16.1.1 冷備份非歸檔模式資料庫 422
16.1.2 使用含有在線上重做日誌的冷備份恢復非歸檔日誌模式的資料庫 424
16.1.3 使用不含有在線上重做日誌的冷備份恢復非歸檔日誌模式的資料庫 425
16.1.4 編寫執行冷備份與恢復的腳本 426
16.2 冷備份處於歸檔日誌模式的資料庫 428
16.3 熱備份策略 429
16.3.1 創建熱備份 430
16.3.2 使用腳本執行熱備份 432
16.3.3 了解分割塊問題 434
16.3.4 了解在備份過程中生成重做日誌的必要性 437
16.3.5 了解數據檔案的更新情況 438
16.4 對處於歸檔重做日誌模式的資料庫執行完全恢復 439
16.4.1 在脫機情況下恢複數據庫 439
16.4.2 恢復在線上資料庫 443
16.4.3 恢復控制檔案 444
16.5 對處於歸檔日誌模式的資料庫執行不完全恢復 447
16.6 小結 449
第17章 配置RMAN 450
17.1 了解RMAN 451
17.2 啟動RMAN 453
17.3 RMAN結構決策 454
17.3.1 以遠程或本地方式運行RMAN客戶端 456
17.3.2 設定備份用戶 457
17.3.3 使用在線上或脫機備份 457
17.3.4 設定歸檔重做日誌的存儲位置和檔案格式 457
17.3.5 配置RMAN備份的存儲位置和檔案格式 458
17.3.6 設定自動備份控制檔案的功能 460
17.3.7 設定控制檔案自動備份的存儲位置 461
17.3.8 備份歸檔重做日誌 461
17.3.9 確定控制檔案快照的存儲位置 462
17.3.10 使用恢複目錄 462
17.3.11 使用介質管理器 463
17.3.12 設定初始化參數CONTROL_FILE_RECORD_KEEP_TIME 463
17.3.13 配置RMAN備份的保留策略 464
17.3.14 配置歸檔重做日誌的刪除策略 465
17.3.15 設定並行度 466
17.3.16 使用備份集或鏡像副本 467
17.3.17 使用增量備份 468
17.3.18 使用增量更新備份 468
17.3.19 使用塊修改跟蹤功能 468
17.3.20 配置二進制檔案壓縮功能 469
17.3.21 配置加密功能 470
17.3.22 配置各種設定 471
17.3.23 配置輸出信息 471
17.4 後續決策 472
17.5 小結 476
第18章 RMAN備份和報告 477
18.1 運行RMANBACKUP命令的準備工作 477
18.1.1 設定NLS_DATE_FORMAT變數 478
18.1.2 設定ECHO參數 478
18.1.3 查看RMAN變數 479
18.2 運行備份操作 479
18.2.1 備份整個資料庫 479
18.2.2 備份表空間 481
18.2.3 備份數據檔案 481
18.2.4 備份控制檔案 481
18.2.5 備份spfile 482
18.2.6 備份歸檔重做日誌 482
18.2.7 備份FRA 483
18.2.8 從備份中去除表空間的備份 483
18.2.9 備份還未備份的數據檔案 484
18.2.10 跳過唯讀表空間 484
18.2.11 跳過脫機檔案和無法訪問的檔案 484
18.2.12 以並行方式備份大型檔案 485
18.2.13 向RMAN倉庫中添加RMAN備份信息 486
18.3 備份可插拔資料庫 486
18.3.1 連線根容器資料庫 487
18.3.2 連線可插拔資料庫 487
18.4 創建增量備份 488
18.4.1 創建分級增量備份 489
18.4.2 創建增量更新備份 490
18.4.3 使用塊修改跟蹤功能 490
18.5 檢查數據檔案和備份檔案中的壞塊 491
18.5.1 使用VALIDATE命令 492
18.5.2 使用BACKUP
18.5.3 使用RESTORE
18.6 使用恢複目錄 493
18.6.1 創建恢複目錄 493
18.6.2 註冊目標資料庫 495
18.6.3 備份恢複目錄 495
18.6.4 同步恢複目錄 495
18.6.5 創建恢複目錄的Oracle版本 496
18.6.6 刪除恢複目錄 496
18.7 記錄RMAN的輸出結果 496
18.7.1 將輸出結果重定向到檔案 497
18.7.2 使用Linux/UNIX的記錄日誌命令捕捉輸出信息 497
18.7.3 將輸出信息記錄到檔案中 498
18.7.4 通過數據字典查詢輸出信息 498
18.8 RMAN報告 499
18.8.1 使用LIST命令 499
18.8.2 使用REPORT命令 500
18.8.3 使用SQL查詢命令 500
18.9 小結 503
第19章 RMAN恢復操作 504
19.1 確定是否需要執行介質恢復操作 505
19.2 確定需要恢復的內容 506
19.2.1 恢復操作的運作過程 506
19.2.2 使用DataRecoveryAdvisor 507
19.3 使用RMAN關閉或啟動資料庫 510
19.3.1 關閉資料庫 510
19.3.2 啟動資料庫 511
19.4 完全恢復 511
19.4.1 測試恢復操作 511
19.4.2 恢復整個資料庫 513
19.4.3 恢復表空間 514
19.4.4 恢復唯讀表空間 515
19.4.5 恢復臨時表空間 516
19.4.6 恢複數據檔案 516
19.4.7 將數據檔案恢復到非默認位置 518
19.4.8 執行數據塊級恢復操作 519
19.4.9 恢復容器資料庫和與其關聯的可插拔資料庫 520
19.5 恢復歸檔日誌檔案 522
19.5.1 將備份恢復到默認位置 522
19.5.2 將備份恢復到非默認位置 523
19.6 恢復控制檔案 523
19.6.1 使用恢複目錄 523
19.6.2 使用自動備份 524
19.6.3 指定備份檔案的名稱 524
19.7 恢復spfile檔案 524
19.8 不完全恢復 525
19.8.1 如何選擇不完全恢復操作 527
19.8.2 基於時間的恢復操作 528
19.8.3 基於日誌序列號的恢復操作 528
19.8.4 基於SCN的恢復操作 529
19.8.5 恢復到還原點 529
19.8.6 將表恢復到過去的時間點 530
19.9 閃回表 531
19.9.1 FLASHBACKTABLETOBEFOREDROP命令 531
19.9.2 將表閃回到過去的時間點 533
19.10 閃回資料庫 534
19.11 將備份恢復到其他伺服器 535
19.12 小結 545
第20章 Oracle安全備份 546
20.1 OSB的版本和功能 546
20.2 OSB術語 547
20.2.1 OSB管理域和伺服器 547
20.2.2 OSB的界面 548
20.2.3 OSB用戶和等級 549
20.2.4 OSB守護進程 549
20.3 下載和安裝 549
20.4 通過命令行界面訪問OSB 552
20.5 配置OSB 553
20.5.1 配置用戶和等級 553
20.5.2 配置介質家族 555
20.5.3 配置資料庫備份存儲選擇器 555
20.6 資料庫備份 556
20.7 恢複數據庫操作 557
20.8 檔案系統備份 558
20.8.1 創建數據集檔案 559
20.8.2 配置備份視窗 560
20.8.3 配置備份時間表和觸發器 560
20.8.4 根據需要執行檔案系統備份操作 561
20.9 檔案系統恢復操作 562
20.9.1 執行基於目錄的恢復操作 562
20.9.2 執行原始數據恢復操作 562
20.9.3 執行obtar命令 563
20.10 監控OSB作業 564
20.10.1 列出作業 564
20.10.2 顯示作業的腳本 566
20.10.3 監控OSB日誌 567
20.11 虛擬測試設備 568
20.12 雲計算中的Oracle資料庫備份 569
20.13 升級OSB軟體 571
20.14 小結 571
第21章 作業自動化 572
21.1 使用OracleScheduler實現自動化作業 573
21.1.1 創建和調度作業 573
21.1.2 查看作業的細節 574
21.1.3 修改作業的日誌歷史記錄 574
21.1.4 修改作業 575
21.1.5 停止作業 575
21.1.6 暫停作業 575
21.1.7 啟動作業 575
21.1.8 複製作業 576
21.1.9 手動運行作業 576
21.1.10 刪除作業 576
21.2 OracleScheduler和cron 576
21.3 通過cron使作業自動化 577
21.3.1 cron的運作方式 577
21.3.2 啟用cron 579
21.3.3 了解cron表條目 579
21.3.4 使作業自動運行 580
21.3.5 重定向cron輸出結果 583
21.3.6 處理cron問題 584
21.4 自動化DBA作業的示例 584
21.4.1 啟動和停止資料庫與監聽器 585
21.4.2 檢查歸檔重做日誌存儲位置的可用空間 588
21.4.3 跟蹤大型日誌檔案 590
21.4.4 檢查鎖定的產品資料庫賬號 591
21.4.5 檢查某個時間點前的檔案 592
21.4.6 檢查是否存在過多的進程 592
21.4.7 檢查RMAN備份的完整性 593
21.5 小結 594
第22章 資料庫疑難解答 595
22.1 快速分類 595
22.1.1 檢查資料庫的可用性 595
22.1.2 檢查可用空間 597
22.1.3 檢查警告日誌 599
22.2 通過OS實用程式找出瓶頸問題 602
22.2.1 尋找系統瓶頸 603
22.2.2 將作業系統進程與SQL命令對應起來 606
22.3 尋找資源密集型SQL命令 608
22.3.1 實時監控SQL命令的執行情況 608
22.3.2 運行Oracle診斷實用程式 610
22.4 檢測和解決鎖定問題 613
22.5 解決最大打開游標數量問題 615
22.6 撤銷表空間疑難解答 616
22.6.1 確定撤銷表空間尺寸是否正確 616
22.6.2 檢查使用撤銷表空間的SQL命令 618
22.7 處理臨時表空間問題 619
22.7.1 確定臨時表空間的尺寸是否正確 619
22.7.2 檢查使用臨時表空間的SQL命令 621
22.8 小結 621
第23章 可插拔資料庫 623
23.1 了解可插拔體系結構 624
23.1.1 轉換範例 626
23.1.2 對備份與恢復操作的意義 627
23.1.3 細微調優 628
23.2 創建CDB 629
23.2.1 使用SQL命令手動創建CDB 629
23.2.2 使用DBCA 631
23.2.3 通過DBCA生成創建CDB的腳本 632
23.2.4 檢查是否已經創建了CDB 632
23.3 管理根容器 633
23.3.1 連線根容器 634
23.3.2 顯示當前連線容器的信息 635
23.3.3 啟動和停止根容器 635
23.3.4 創建公用用戶 636
23.3.5 創建公用角色 636
23.3.6 報告容器空間的相關信息 637
23.3.7 切換容器 638
23.4 在CDB中創建可插拔資料庫 638
23.4.1 克隆種子容器 639
23.4.2 克隆現存的可插拔資料庫 640
23.4.3 克隆非CDB資料庫 641
23.4.4 從CDB中拔出可插拔資料庫 643
23.4.5 將拔出的可插拔資料庫插入CDB 643
23.4.6 使用DBCA通過種子容器創建可插拔資料庫 644
23.4.7 檢查可插拔資料庫的狀態 645
23.5 管理可插拔資料庫 645
23.5.1 連線可插拔資料庫 645
23.5.2 在可插拔環境中管理監聽器 646
23.5.3 查看當前連線的可插拔資料庫 647
23.5.4 啟動和停止可插拔資料庫 648
23.5.5 修改套用於可插拔資料庫的初始化參數 649
23.5.6 重命名可插拔資料庫 649
23.5.7 限定可插拔資料庫使用空間的尺寸 649
23.5.8 查看可插拔資料庫的歷史記錄 650
23.5.9 刪除可插拔資料庫 650
23.6 小結 651