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