課程介紹
一、Oracle數據庫軟件的安裝部署和升級
1. 課程應用
● 為了順利使用OracleDatabase軟件,DBA的第一項任務是安裝和部署OracleDatabase軟件。
● 無論是安裝還是配置,都應該根據實際需要來進行,使得系統滿足用戶的實際需求。
● 隨著Oracle版本升級和發布各種補丁,Oracle數據庫軟件的安裝不是一勞永逸的,應該隨時根據需求的變化和環境的需要進行監視和適當地調整。
● 因此,作為一個數據庫管理員(DatabaseAdministrator,DBA),應該學會升級Oracle數據庫軟件和安裝各種補丁。
2. 課程目標
● 了解Oracle數據庫行業知識
● 環境下安裝Oracle11.2.0.4.0
● 升級Oracle11.2.0.4.0至11.2.0.4.5
● 能獨立在OracleEnterpriseLinux6.3
● 使用dbca創建數據庫
● 學會使用sqlplus工具
3. 課程大綱
1. 行業知識簡介
● DBA日常工作介紹
● DBA主要技能介紹
● 課程安排介紹
2. 安裝和升級數據庫軟件
● 安裝VMware10
● 安裝部署OracleLinux6.3x86_64
● 安裝部署Oracle11.2.0.4.0
● 區分PSU/CPU/SPU
● 升級Oracle至11.2.0.4.5
● 使用DBCA創建數據庫
3. SQL*PLUS工具的使用
● 執行sql腳本
● 使用edit指令
● 使用spool指令
● 格式化列顯示
● 使用set指令
● 使用change指令
● 使用list指令
● 使用input指令
● 使用append指令
● 將sqlbuffer中的sql保存到文件
● 其他相關指令
● 顯示sqlplus幫助
● 顯示sqlplus系統變量的值
二、使用SQL
1. 課程應用
● 作為一個數據庫管理員(DatabaseAdministrator,DBA),應該學會使用SQL語句執行各種查詢和修改。
● 作為一個數據庫管理員(DatabaseAdministrator,DBA),應該學會管理表、索引、視圖、序列、同義詞等數據庫對象。
2. 課程目標
● 學會使用基本的SQL語句
● 學會管理數據庫對象
3. 課程大綱
1. 使用SQL語句
● 掌握基本查詢語句
● 使用比較操作符
● 排序行
● 使用替代變量
● 使用字符函數、數字函數和日期函數
● 轉換函數和條件表達式
● 分組函數
● 等值與不等值連接
● 自連接
● 外連接
● 笛卡爾乘積
2. 管理數據庫對象
● 單行與多行子查詢
● Set操作
● 使用DML語句操縱數據
● 使用DDL建立和管理表
● 建立簡單與復雜的視圖
● 視圖查詢數據
● 建立維護使用序列
● 建立維護索引
● 建立公有和私有同義詞
● 添加約束
● 使用數據字典
● 如何操縱海量數據
● 時區
● 高級子查詢
● 正則表達式
● 使用rollup操作符產生匯總結果
● 使用cube產生交叉匯總結果
● 使用groupingsets產生簡單結果集
● 使用grouping函數標識rollup或cube產生匯總結果
三、Oracle數據庫體系結構
1. 課程應用
● 為了實現數據庫的合理配置,對數據庫進行內存優化,排除和解決各種生產環境中遇到的故障,必須深入了解Oracle體系結構。
● 為了合理規劃存儲空間和容量,對數據庫I/O進行優化,必須深入了解Oracle邏輯結構。
2. 課程目標
● 深入了解Oracle體系結構
● 理解段、區、塊的概念
● 理解行遷移、行鏈接概念,帶來的影響,如何解決
● 理解什么是高水位線,帶來的影響,如何解決
3. 課程大綱
1. Oracle數據庫體系結構
● Oracle數據庫體系結構總括
● Oracle數據庫進程詳解
● Oracle數據庫相關概念詳解
● Oracle數據庫內存區域劃分及各內存區域的作用詳解
● Oracle數據庫自動內存管理機制ASMM詳解
2. Oracle數據庫啟動和關閉過程詳解
● Oracle數據庫啟動過程詳解
● Oracle數據庫關閉過程詳解
● 實例恢復和fast_start_mttr_target
● 啟動和關閉指令介紹
● 手工創建數據庫
3. Oracle數據庫文件詳解
● 控制文件詳解
● 遭遇控制文件丟失的解決方案
● 增加或移動控制文件
● 如何重建控制文件
● 日志文件工作機制詳解
● 日志文件組、日志文件成員詳解
● 創建、刪除、移動和管理日志文件
● 歸檔機制和歸檔文件詳解
● 如何打開數據庫歸檔
● 如何為生產數據庫制定合理的日志策略
4. 表空間詳解
● 系統表空間詳解
● 輔助表空間詳解
● 臨時表空間詳解
● UNDO表空間詳解
● 段空間管理、區空間管理
● 創建和管理表空間
● 如何在工作中創建合適的表空間
● 什么是大表空間及何時使用大表空間
5. 表空間詳解
● 數據文件詳解
● 管理數據文件
● 如何合理規劃和添加數據文件
● 什么是段、區、塊
● 行遷移和行鏈接的成因,帶來的影響和解決方案
● 什么是高水位線,帶來的影響和解決方案
四、Oracle數據庫網絡管理和安全管理
1. 課程應用
●
OracleDatabase提供了許多網絡管理工具和服務,DBA應該借助這些工具和服務規劃和管理網絡操作。為了做好網絡管理工作,DBA應該學會定義數據庫的連接,學會使用OracleNetListener,學會使用Oracle配置文件,確定服務器應該使用專有還是共享方式連接,在多層網絡環境中配置數據庫。
● 作為一個數據庫管理員(DatabaseAdministrator,DBA),應該了解在數據庫中應該增加哪些賬戶、這些賬戶應該組合成哪些角色。
● 作為一個數據庫管理員(DatabaseAdministrator,DBA),應該明確應該對不同的賬戶、角色授予什么樣的系統和對象權限。
2. 課程目標
● 學會配置Oracle數據庫網絡
● 實施數據庫安全管理
3. 課程大綱
1. 配置Oracle網絡環境
● Oracle網絡配置
● 監聽器的配置與管理
● Tnsnames的配置與管理
● 動態注冊與靜態注冊
● 使用Oracle配置文件
● 網絡故障Failover
2. 實施Oracle數據庫安全管理
● 多種驗證方式
● 表空間配額
● 使用概要文件限制口令和資源
● 系統權限
● 對象權限
● 權限的賦予和回收
● 角色的使用和管理
● 如何根據實際情況設定合理的角色和權限
五、Oracle數據庫備份與恢復
1. 課程應用
● 天災、人禍、系統缺陷都有可能造成系統的癱瘓、失敗。怎樣解決這些災難性問題呢?可行的辦法就是制定和實行備份和恢復策略。
● 備份就是制作數據的副本,恢復就是將數據的副本復原到系統中。
● 備份和恢復工作是DBA的一項持續性的重要工作,其執行頻率可以根據數據的重要程度和系統的穩定程度來確定。
2. 課程目標
● 了解Oracle數據庫備份恢復原理
● 學會使用閃回
● 學會使用手工備份恢復
● 學會使用導入導出、數據泵導入導出工具
● 學會使用RMAN工具
● 學會使用數據恢復顧問
3. 課程大綱
1. 備份恢復基本概念
● 實際工作中制定備份恢復策略需要考慮的因素
● 常見錯誤類型和如何應對
● SCN號詳解
● 冷備份與熱備份
● 物理備份與邏輯備份
● 完全備份與不完全備份
● 完全恢復與不完全恢復
● 實例恢復與介質恢復
2. 使用閃回
● 閃回版本查詢
● 閃回事務
● 閃回表
● 閃回丟棄
● 閃回數據庫
● 閃回數據歸檔
3. 手工備份與恢復
● 使用手工方式對控制文件和數據文件進行物理備份
● 丟失一個或多個控制文件的解決方案
● 丟失一個日志成員和一個非當前日志組的解決方案
● 丟失系統表空間的恢復方案
● 丟失非系統表空間的恢復方案
4. 邏輯備份
● 導入導出原理解析
● 使用導入導出工具執行表、對象、全庫導出和導入
● 導入導出工具常用參數詳解
● 使用數據泵導入導出工具執行表、對象、全庫導出和導入
● 數據泵導入導出工具常用參數詳解
● 傳輸表空間
● 字符集問題
5. 使用RMAN執行備份和恢復
● RMANCatalog
● RMAN工具的基本使用
● 查看和修改RMAN環境設置
● 使用控制文件自動備份
● 使用RMAN鏡像備份
● 使用RMAN備份優化
● 使用多個通道進行備份
● 使用備份恢復冗余策略
● 使用RMAN備份各種文件
● 使用增量備份
● 備份集與備份片
● 使用RMAN查看備份
● 使用RMAN校驗備份集
● 修改備份集狀態
● 使用RMAN進行各種場景的恢復
● 使用RMANSCRIPT
● 使用數據恢復顧問
六、Oracle數據庫遷移
1. 課程應用
● 作為一個數據庫管理員(DatabaseAdministrator,DBA),往往會在工作中遇到數據庫更換主機等問題,這種情況下,掌握數據庫遷移的技能是非常必要的。
2. 課程目標
● 不同遷移場景介紹
● 基于不同的遷移場景如何選擇遷移方式
● 使用RMAN遷移數據庫
3. 課程大綱
1. 如何遷移數據庫
● 不同遷移場景介紹
● 基于不同的遷移場景如何選擇遷移方式
● 使用數據泵導入導出工具遷移數據庫
● 使用dblink遷移數據
● 使用RMAN執行遷移
● 使用傳輸表空間遷移數據
● 使用DG遷移數據
● 使用OGG遷移數據
2. 手工備份與恢復
● 使用數據泵導入導出工具執行跨版本遷移
● 使用RMANConvert執行跨平臺遷移
七、Oracle數據庫性能優化
1. 課程應用
● OracleDatabase的運行好壞必須得到正確地監視、評價和調整,這是DBA一項高級工作。
● 借助一些工具和運行性能指標,DBA應該監視系統的運行。
● 如果某些運行指標出現了問題,DBA應該及時地采取補救措施,使得系統始終保持高效地運行。
2. 課程目標
● 學會使用各種診斷和調優工具
● 學會使用分區表
● 學會對I/O進行優化
● 學會使用索引組織表
● 學會對內存進行優化
● 學會使用SQL*Loader和外部表
● 學會對SQL進行優化
● 學會使用物化視圖
● 學會使用各種索引
● 學會使用ASM
3. 課程大綱
1. 性能優化的基本概念
● 為什么要優化
● 優化目標
● 常見優化問題
● 生產過程中的優化步驟
2. 診斷與調優工具
● 告警日志
● SQL跟蹤SQL_Trace10046、10053事件
● 資料視圖
● AWR性能報告與ADDM
● 使用SQL優化建議SQLTuningAdvisor
● 使用SQL查詢建議SQLAccessAdvisor
● 使用SQL性能分析器SQLPerformanceAnalyzer
● 配置基線模板
3. I/O調優
● 進程與I/O
● 調節I/O的指導方針
● 相關I/O的視圖與AWR的I/O資料
● 全表掃描、索引掃描與物理讀
● DBWn與物理寫
● 日志文件與歸檔日志
4. 共享池
● 共享池簡介
● 庫緩存
● 游標與共享SQL
● 庫緩存調優與Pin頻繁使用的對象
● 保留區與ORA-04031
● 共享池顧問
● 庫緩存調優總結
● 調優字典緩存
● 大池
● 共享池相關的閂
5. BufferCache
● BufferCache簡介
● 塊的讀
● 塊的寫
● 邏輯讀的兩種類型
● CR塊
● 等待事件
6. RedoBuffer與Java池
● RedoBuffer
● Java池
7. SGA管理
● SGA_TARGET與SGA_MAX_SIZE
● MEMORY_TARGET與MEMORY_MAX_TARGET
● ASMM內存組件與非ASMM內存組件的改變
8. PGA與排序
● UGA用戶全局區
● CGA調用全局區
● PGA程序全局區
● PGA管理
● PGA內存的回收
● 相關視圖
9. SQL調優
● 訪問路徑
● ROWID與ROWNUM
● 表連接方式
● 優化器
● 執行計劃和Hints
● 大綱
● 診斷工具
10. 資料收集
● 什么是資料
● 柱狀圖
● Analyze
11. 學會使用各類索引
● 學會使用B*Tree索引
● 學會使用各類非B*Tree索引
● 不同索引的使用和性能對比
● 如何確定是否創建索引及選擇合適的索引
12. 使用分區表
● 為什么使用分區表
● 工作中如何確定是否需要選用分區表
● 分區表的原理
● Hash分區
● 列表分區
● 范圍分區
● 復合分區
● 創建、刪除、更新和管理分區表
● 全局和本地索引
13. 使用索引組織表
● 為什么使用索引組織表
● 工作中如何確定是否需要選用索引組織表
● 索引組織表的原理
● 創建、刪除、更新和管理索引組織表
14. 使用SQL*Loader和外部表
● 使用SQL*Loader裝載數據
● 為什么使用外部表
● 工作中如何確定是否需要選用外部表
● 外部表表的原理
● 創建、刪除、更新和管理外部表
15. 使用物化視圖
● 為什么使用物化視圖
● 工作中如何確定是否需要選用物化視圖
● 物化視圖的工作原理
● 創建、刪除、更新和管理物化視圖
● 物化視圖的刷新
● 查詢重寫
16. 使用ASM
● ASM的原理
● 安裝部署GRID軟件
● ASM磁盤、磁盤組、故障組概述
● 如何創建ASM磁盤
● 如何創建ASM實例
● 管理ASM實例
● 管理ASM磁盤
● 創建和管理ASM磁盤組
● 創建和管理ASM故障組
● 創建使用ASM磁盤組的數據庫
● 使用ASM鏡像數據
● 使用ASM平衡數據
● ASM再平衡