當前位置:首頁 » 操作系統 » oracle資料庫精講與疑難解析

oracle資料庫精講與疑難解析

發布時間: 2023-06-26 21:51:15

❶ Oracle資料庫精講與疑難解析的介紹

本書是一本毫無保留的Oracle學習寶典。通過作者歷時3年的寫作,本書介紹了Oracle的安裝及卸載、資料庫的啟動關閉、表空間和數據文件的管理、Oracle網路管理、口令文件管理、內存管理、進程管理、用戶管理、數據的導入導出、備份與恢復、模式對象的管理以及應用程序開發等相關知識。本書旨在向讀者解答使用Oracle中遇到的疑難問題,並展示管理Oracle的大量技巧。作者趙振平。

❷ Oracle資料庫精講與疑難解析的圖書目錄

第1篇 創建屬於自己的Oracle資料庫
第1章 認識Oracle的世界——Oracle的體系結構
1.1 Oracle的發家史
1.2 資料庫
1.3 資料庫管理系統(DBMS)
1.4 關系資料庫的概念(RDBMS)
1.4.1 關系資料庫模型
1.4.2 表
1.5 Oracle的總體框架結構
1.5.1 Oracle實例(Oracle Instance)
1.5.2 Oracle的存儲結構
1.6 數據字典(Data Dictionary)
1.6.1 數據字典概述
1.6.2 數據字典的結構
1.6.3 數據字典的使用
第2章 邁出第1步——Oracle的安裝/卸載
2.1 Oracle的安裝
2.1.1 Oracle安裝的幾個概念
2.1.2 Oracle g(10.1)的安裝——Windows篇
2.1.3 Oracle g的安裝——Solaris篇
2.1.4 Oracle安裝疑難解析
2.2 Oracle的卸載
2.2.1 Oracle完全卸載——Windows篇
2.2.2 Oracle完全卸載——UNIX篇
第3章 有米之炊——資料庫的創建與刪除
3.1 創建資料庫
3.1.1 資料庫創建概述
3.1.2 Solaris下用DBCA創建資料庫
3.1.3 DIY——Solaris下手工創建資料庫
3.1.4 資料庫創建疑難解析
3.2 刪除資料庫
3.2.1 資料庫刪除概述
3.2.2 資料庫刪除——手工篇
3.2.3 資料庫刪除——DBCA篇
第2篇 網 絡 管 理
第4章 Oracle網路管理並不難
4.1 Oracle網路體系結構
4.1.1 Oracle應用的幾種網路結構
4.1.2 Oracle Net
4.1.3 OSI模型
4.1.4 Oracle Net的堆棧結構
4.1.5 Oracle監聽器
4.1.6 連接描述符(connect identifier)
4.1.7 網路服務名(Net Service Name)
4.1.8 命名方法
4.1.9 配置Oracle網路的工具
4.2 Oracle網路管理
4.2.1 Oracle網路伺服器端配置
4.2.2 Oracle網路客戶端配置
4.3 Oracle網路管理疑難解析
4.3.1 Oracle網路伺服器端配置疑難解析
4.3.2 Oracle網路客戶端配置疑難解析
4.3.3 Oracle網路與防火牆(Firewall)
第3篇 系 統 管 理
第5章 系統管家婆——SQL*Plus的使用
5.1 系統管理工具SQL*Plus
5.2 SQL緩沖區(SQL Buffer)
5.3 SQL*Plus的環境配置
5.3.1 SQL*Plus的環境變數
5.3.2 SQL*Plus站點配置文件(Site Profile)
5.3.3 SQL*Plus用戶配置文件(User Profile)
5.4 SQL*Plus的啟動
5.5 SQL*Plus專有命令介紹
5.5.1 登錄,注銷命令
5.5.2 編輯命令
5.5.3 其他有用的SQL*Plus命令
5.6 SQL*Plus 與疑難解析
第6章 有始有終——資料庫的啟動與關閉
6.1 資料庫啟動
6.1.1 資料庫啟動原理
6.1.2 資料庫啟動
6.1.3 資料庫啟動疑難解析
6.2 資料庫關閉
6.2.1 資料庫關閉原理
6.2.2 資料庫的關閉(SHUTDOWN)
6.2.3 資料庫關閉疑難解析
第7章 理清兩個模式問題——專有/共享伺服器模式
7.1 理解專有伺服器模式(Dedicated Server Mode)
7.2 共享伺服器模式(Shared Server Mode)原理
7.2.1 共享伺服器模式(Shared Server Mode)的架構
7.2.2 監聽器和調度進程的關系
7.2.3 請求隊列(Request Queue)/響應隊列(Response Queue)
7.2.4 調度進程(Dispatcher Processes,Dnnn)
7.2.5 共享伺服器進程(Shared Server Processes,Snnn)
7.3 共享伺服器模式(Shared Server Mode)
7.4 共享伺服器模式(Shared Server Mode)疑難解析
第8章 掌握兩個管理問題——表空間和數據文件的管理
8.1 資料庫存儲結構
8.1.1 物理結構
8.1.2 邏輯結構
8.2 深刻理解表空間
8.2.1 大文件表空間
8.2.2 系統表空間
8.2.3 輔助表空間
8.2.4 回滾表空間(Undo Tablespace)
8.2.5 臨時表空間
8.2.6 表空間中區的管理方式
8.2.7 表空間中段的管理方式
8.2.8 非標准塊表空間
8.2.9 表空間的離線(Offline)與在線(Online)
8.2.10 只讀表空間(Read-Only Tablespace)
8.3 深刻理解數據文件
8.3.1 數據文件的內容
8.3.2 數據文件的尺寸(Size)
8.3.3 離線數據文件
8.3.4 臨時數據文件(Temporary Datafiles)
8.4 表空間管理 與疑難解析
8.4.1 永久表空間管理
8.4.2 臨時表空間管理 與疑難解析
8.4.3 回滾表空間管理 與疑難解析
8.5 數據文件管理 與疑難解析
8.5.1 數據文件管理
8.5.2 數據文件管理疑難解析
第9章 進程管理
9.1 Oracle進程簡介
9.2 用戶進程
9.3 Oracle進程
9.3.1 伺服器進程
9.3.2 後台進程
9.4 進程綜合管理 與疑難解析
9.5 會話管理 與疑難解析
第10章 內存管理
10.1 Oracle內存結構簡介
10.2 系統全局區
10.3 SGA自動管理
10.4 SGA組成介紹
10.4.1 資料庫高速緩沖區
10.4.2 日誌緩沖區
10.4.3 共享池
10.4.4 大池
10.4.5 Java池
10.4.6 流池
10.5 程序全局區
10.6 內存管理 與疑難解析
第11章 用戶管理
11.1 用戶驗證
11.1.1 口令認證
11.1.2 外部認證
11.1.3 全局認證
11.2 Oracle的安全大門——許可權(Privileges)
11.2.1 系統許可權
11.2.2 對象許可權
11.3 使許可權管理變得更加容易——角色(Role)
11.4 限制用戶的資源消耗——資源限制文件(Profile)
11.4.1 資源限制的級別
11.4.2 限制資源的參數
11.5 用戶與許可權管理 與疑難解析
11.5.1 用戶管理 與疑難解析
11.5.2 許可權管理 與疑難解析
11.5.3 角色管理 與疑難解析
11.5.4 資源限制文件管理 與疑難解析
第4篇 移動你的資料庫
第12章 數據導出
12.1 數據導出方法介紹
12.1.1 Oracle最新導出工具——Data Pump Export
12.1.2 Oracle原來的導出工具——Export
12.2 數據導出
12.3 數據導出疑難解析
第13章 數據導入
13.1 數據導入方法介紹
13.1.1 Oracle最新導入工具——Data Pump Import
13.1.2 Oracle以前的導入方法——Import
13.2 數據導入
13.3 數據導入疑難解析
第5篇 Oracle文件管理
第14章 重中之重——控制文件的管理
14.1 控制文件的概念
14.2 控制文件管理 與疑難解析
第15章 成為資料庫的最高統治者——口令文件(Password File)管理
15.1 超級用戶許可權(SYSDBA、SYSOPER)介紹
15.2 口令文件的基本概念
15.3 啟用口令文件認證
15.4 口令文件管理 與疑難解析
第16章 聯機日誌文件管理
16.1 聯機日誌文件的概念
16.1.1 聯機日誌文件的內容
16.1.2 聯機日誌文件的循環利用
16.2 聯機日誌文件管理 與疑難解析
第17章 參數文件(PFILE/SPFILE)管理
17.1 參數文件的基本概念
17.2 初始化參數文件
17.3 伺服器參數文件
17.4 初始化參數的修改
17.5 參數管理 與疑難解析
第6篇 Oracle高級專題
第18章 全球應用——分布式資料庫疑難攻略
18.1 分布式資料庫系統的概念
18.1.1 同構分布式資料庫系統
18.1.2 異構分布式資料庫系統
18.1.3 資料庫鏈接(Database Link)
18.2 分布式資料庫管理 與疑難解析
第19章 並不陌生的問題——裸設備
19.1 裸設備的概念
19.2 裸設備管理 與疑難解析
第7篇 資料庫備份/恢復
第20章 備份/恢復之基石——歸檔(Archivelog)管理
20.1 歸檔的基本概念
20.1.1 非歸檔模式
20.1.2 歸檔模式
20.1.3 歸檔路徑
20.2 歸檔管理 與疑難解析
第21章 必行之舉——資料庫備份
21.1 理解資料庫備份
21.1.1 資料庫失敗的種類
21.1.2 備份和恢復的解決方案
21.1.3 備份和恢復的物理結構
21.1.4 備份的類型
21.1.5 執行用戶管理的備份
21.2 恢復管理器(RMAN)
21.2.1 通道
21.2.2 備份集的維護
21.2.3 RMAN資料庫
21.2.4 RMAN的使用
21.3 資料庫備份 與疑難解析
21.4 恢復目錄管理 與疑難解析
第22章 失而復得——資料庫恢復
22.1 資料庫恢復
22.1.1 實例恢復
22.1.2 介質恢復
22.1.3 用戶錯誤(User Error)的恢復
22.2 資料庫閃回(Flashback Database)
22.3 用戶管理的恢復(User-managed Recovery)
22.4 聯機日誌文件丟失的恢復
22.5 控制文件損壞的恢復
22.6 數據文件損壞的恢復
22.7 表的恢復(用戶錯誤的恢復)
第8篇 Oracle程序設計
第23章 資料庫通用語言——SQL語句
23.1 結構化查詢語言簡介
23.2 SELECT語句
23.2.1 理解SELECT 語句
23.2.2 SELECT語句使用 與疑難解析
23.3 INSERT語句
23.3.1 理解INSERT語句
23.3.2 INSERT語句使用 與疑難解析
23.4 UPDATE語句
23.4.1 理解UPDATE語句
23.4.2 UPDATE語句使用 與疑難解析
23.5 DELETE語句
23.5.1 理解DELETE語句
23.5.2 DELETE語句的使用
23.6 SQL語句中,集合函數使用 與疑難解析
第24章 模式對象(Schema Object)的管理
24.1 模式(Schema)的概念
24.2 模式對象管理
24.2.1 表(Table)
24.2.2 索引(Index)
24.2.3 外部表(External Table)
24.2.4 臨時表(Temporary Table)
24.2.5 分區表(Partition Table)
24.2.6 聚簇(Cluster)
24.2.7 索引組織表(Index-Organized Table,IOT)
24.2.8 視圖
24.2.9 同義詞
24.2.10 序列
第25章 PL/SQL應用程序開發
25.1 PL/SQL簡述
25.1.1 PL/SQL塊結構
25.1.2 數據類型
25.1.3 運算符
25.1.4 PL/SQL語句控制結構
25.2 存儲過程(Stored Procere)
25.2.1 存儲過程的基本原理
25.2.2 存儲過程管理 與疑難解析
25.3 函數(Function)
25.3.1 函數的基本原理
25.3.2 函數的管理 與疑難解析
25.4 包
25.4.1 包的基本原理
25.4.2 包管理 與疑難解析
25.5 觸發器
25.5.1 觸發器的基本原理
25.5.2 觸發器管理 與疑難解析
25.6 游標
25.6.1 游標的基本原理
25.6.2 游標管理 與疑難解析
速查目錄
第2章 邁出第1步——Oracle的安裝/卸載
第3章 有米之炊——資料庫的創建與刪除
第4章 Oracle網路管理並不難
第5章 系統管家婆——SQL*Plus的使用 實務
第6章 有始有終——資料庫的啟動與關閉
第7章 理清兩個模式問題——專有/共享伺服器模式
第8章 掌握兩個管理問題——表空間和數據文件的管理
第9章 進程管理 實務
第10章 內存管理 實務
第11章 用戶管理 實務
第12章 數據導出 實務
第13章 數據導入 實務
第14章 重中之重——控制文件的管理
第15章 成為資料庫的最高統治者——口令文件(Password File)管理
第16章 聯機日誌文件管理 實務
第17章 參數文件(PFILE/SPFILE)管理
第18章 全球應用——分布式資料庫疑難攻略 實務
第19章 並不陌生的問題——裸設備 實務
第20章 備份/恢復之基石——歸檔(Archivelog)管理 實務
第21章 必行之舉——資料庫備份
第22章 失而復得——資料庫恢復
第23章 資料庫通用語言——SQL語句
第24章 模式對象(Schema Object)的管理
第25章 PL/SQL應用程序開發 實務

❸ 【基於ORACLE資料庫的SQL語句優化分析】 資料庫查詢語句的優化

【摘要】隨著資料庫應用范圍及規模的不斷擴大,資料庫的性能問題逐漸顯現,優化資料庫有助於維持系統的穩定性以及運行的高效性。本文主要依據筆者在實際工作中的精坦敏拍英,對SQL語句優化的目的、SQL語句優化技術及原則進行全面分析和闡述。
【關鍵詞】ORACLE資料庫;SQL語句;優化
1前言
隨著現代化信息技術的迅猛發展,互聯網應用的日益普及,資料庫技術的影響力越來越大。作為信息系統管理的核心,資料庫的主要操作就是查詢,資料庫的應用效率在很大程度上是由查詢速度決定的,特別是對於規模較大的資料庫而言,查詢速度十分關鍵。查詢速度在SQL語句中佔有很大比重,所以,通過對查詢語句進行優化有助於促進應用系統性能及效率的進一步提升。
2SQL語句優化分析
2.1SQL語句優化的目的
對於一個資料庫而言,在確保設計無誤的前提下,要想避免出現性能問題必須確保其擁有合理的SQL語句拿喚結構。最簡單的資料庫尋找數據路徑是對SQL語句進行調整,ORACLE資料庫性能提升的主要途徑就是對SQL語句進行適當的調整。從本質上講,SQL語句優化就是確保所使用的語句可以被優化器識別,對索引進行有效利用以便控製表掃描的I/O次數,有效防止出現表搜索。用高性能的SQL語句替代低性能的SQL語句,確定最佳的數據查找路徑,盡可能使CPU時間與I/O時間保持平衡是進行優化的主要目的。在對SQL語句進行優化的過程中,以系統需求為依據確定最有可能實現性能提升的語句並進行優化。
2.2SQL語句優化技術及原則
當數據量積累到一定程度之後,對於資料庫全表SQL語句進行一次掃描,若查詢策略較好,一般只用幾秒鍾,但如果SQL語句性能較低,就需要用幾分鍾甚至更多時間。從這點不難看出,SQL語句性能對於查詢速度具有極大的影響,所以,對於應用系統而言,不僅能滿足功能的實現,還要保證SQL語句的質量。
(1)採取適宜的索引。為達到優化查詢的目的,一項重要工作就是確定相適應的索引,並嚴格依照原則加以使用,與此同時,為有效控制I/O競爭,不可以在同一個磁碟中同時建立索引和用戶表空間。
語句1:SELECT CUS_NO, CUS_NAME FROM CUSTOMER WHERE CUS_NO NOT IN
(SELECT CUS_NO FROM SERVICE);
語句2: SELECT CUS_NO, CUS_NAME FROM CUSTOMER WHERE NOT EXISTS
(SELECT * FROM SERVICE WHERE SERVICE.CUS_NO=CUSTOMER.CUS_NO);
上述兩個語句可以達到一致的查詢結果,對二者進行對比,當執行語句1時,由於ORACLE未利用CUSTOMER 表上CUS_NO索引,所以就會掃描整表,在執行語句2的過讓羨程中,ORACLE所掃描的只是CUSTOMER 表子查詢中的聯合查詢,並且使用了CUS_NO索引,因此,在執行效率方面明顯優於前者。
(2)避免在SELECT子句中出現「*」。ORACLE在進行解析時,需要按照一定順序對「*」進行轉換,該項轉換工作的進行需要對資料庫的數據字典進行查詢,勢必需要花費較多的時間,這樣就會導致較低的效率,所以,要避免在SELECT子句中出現「*」。
(3)如果必要可以利用COMMIT提交事務。ORACLE能夠自動提交DDL語句,而諸如DML等類型的語句的提交則是通過手動方式或者回滾事務實現的。在編寫應用程序的過程中,在操作諸如insert、delete以及update 等較為復雜的語境的時候,利用COMMIT提交事務可以講會話中持有的鎖加以釋放,將存在於緩存中的未經修改的數據塊進行清除,進而將系統資源予以釋放,促進系統性能的進一步提升,因此,如果有必要,可以利用COMMIT對相關事務進行提交。
(4)聯合查詢連接順序的確定。如果查詢操作涉及到多個表,基礎表應當是交叉表,所謂交叉表具體是指被其他表引用的表。連接執行效果在很大程度上受到FROM語句中表的順序的影響,對於FROM中所包含的表,ORACLE解析器進行處理的順序是由右至左,SQL語句中所選擇的基礎表會因優化器的不同而有所區別,在使用CBO的情況下,優化器會對SQL語句中各個表的物理大小以及索引狀態進行檢查,在此基礎上確定一個花費最小的執行路徑;在使用RBO的情況下,如果全部的連接條件均有索引與之相對應,那麼,FROM子句中位置最後面的表就是基礎表。
(5)IN用EXISTS取代。在對數個基礎表查詢過程中,一般需要進行表的連接。因為利用IN的子查詢過程中,ORACLE的掃描對象是全表,因此,出於提高查詢效率目的的考慮,應當將IN用EXISTS取代。
(6)在索引列中不使用計算。當通過對函數進行引用在WHERE子句中進行計算的時候,假如索引列只是函數的一部分,優化器就會針對全表進行掃描,而不會使用索引,所以,在索引列中不能使用函數。
3結語
綜上所述,隨著現代化信息技術的迅猛發展,互聯網應用的日益普及,資料庫技術的影響力越來越大。在信息量迅速激增的形勢下,資料庫優化調整成為當前所面臨的一大關鍵性問題,特別是對規模較大的資料庫而言,及時進行優化的意義更加倍重大。對於資料庫的運行性能而言,最主要的影響因素主要體現在以下幾點:資料庫系統架構的設計是否合理,資源配置是否科學以及SQL語句編寫效率等。筆者從事的是電信企業的運營分析工作,每天都要從資料庫取各種數據,可以說是離不開資料庫,所以在實踐中,我覺得嚴格遵守SQL語句優化原則及方法,並在實踐中及時總結經驗教訓,可以實現對系統響應時間的有效控制,促進運行效率的提升。
參考文獻
[1] 許開宇,胡文驊. 如何提高ORACLE資料庫應用程序的性能[J]. 計算機應用與軟體. 2002(10)
[2] 鄭耀,吳建嵐. 基於Oracle資料庫的語句優化策略[J]. 信息與電腦(理論版). 2011(07)
[3] 高攀,施蔚然. 基於Oracle資料庫的SQL語句優化[J]. 電腦編程技巧與維護. 2010(22)
[4] 鍾小權,葉猛. Oracle資料庫的SQL語句優化[J]. 計算機與現代化. 2011(03)
作者簡介:
王勇軍,男,(1981.1-),吉林通化人,就職於中國聯合網路通信有限公司長春市分公司,通信工程師,本科,研究方向:SQL使用
(作者單位:中國聯合網路通信有限公司長春市分公司)

熱點內容
gradle命令編譯apk 發布:2025-03-22 01:02:02 瀏覽:305
我的世界玩壞伺服器 發布:2025-03-22 01:01:59 瀏覽:950
紅米note安卓80怎麼刷機 發布:2025-03-22 00:49:46 瀏覽:214
linux字體緩存 發布:2025-03-22 00:49:09 瀏覽:979
明銳pro為什麼比高爾夫配置還要高 發布:2025-03-22 00:24:43 瀏覽:131
賣房解壓擔保 發布:2025-03-22 00:18:57 瀏覽:452
java打開頁面 發布:2025-03-22 00:18:41 瀏覽:449
mt4ea源碼 發布:2025-03-21 23:59:08 瀏覽:533
文件夾加密隱藏 發布:2025-03-21 23:56:24 瀏覽:19
setjava用法 發布:2025-03-21 23:54:59 瀏覽:183