第1章 Oracle 8起步
1.1 Personal Oracle 8
1.2 數(shù)據(jù)類型
1.2.1 字符型數(shù)據(jù)類型
1.2.2 數(shù)字型數(shù)據(jù)類型(NUMBER)
1.2.3 DATE數(shù)據(jù)類型
1.2.4 LONG數(shù)據(jù)類型
1.2.5 二進制數(shù)據(jù)類型(RAW和LONG RAW)
1.2.6 ROWID數(shù)據(jù)類型
1.2.7 MLSLABEL數(shù)據(jù)類型
1.2.8 大型對象數(shù)據(jù)類型
1.3 SQL*PLUS4.0
1.3.1 SQL*PLUS4.0簡介
1.3.2 啟動SQL*PLUS4.0
1.3.3 存儲SQL*PLUS環(huán)境
1.3.4 聯(lián)機幫助
1.3.5 數(shù)據(jù)字典
1.3.6 SQL*PLUS命令行編輯
1.4 PL/SQL
1.4.1 PL/SQL簡介
1.4.2 PL/SQL的結構
1.4.3 PL/SQL控制語句
1.4.4 PL/SQL中的光標
1.4.5 異常處理
1.4.6 無名程序段
1.4.7 過程
1.4.8 函數(shù)
1.4.9 包
1.4.10 觸發(fā)器
1.5 創(chuàng)建報表命令
1.6 Oracle Loader參數(shù)介紹
1.7 裝庫和卸庫參數(shù)介紹
1.7.1 卸庫
1.7.2 裝庫
1.8 部分常用函數(shù)
1.8.1 數(shù)值型函數(shù)
1.8.2 字符型函數(shù)
1.8.3 日期型函數(shù)
1.8.4 轉換型函數(shù)
1.8.5 聚組函數(shù)
1.8.6 其它函數(shù)
1.9 數(shù)據(jù)庫基礎
1.9.1 關系數(shù)據(jù)庫
1.9.2 數(shù)據(jù)庫對象命名規(guī)則
1.9.3 存儲參數(shù)
1.9.4 多維模式
1.9.5 創(chuàng)建數(shù)據(jù)庫
1.9.6 事務日志
第2章 數(shù)據(jù)庫基本操作
2.1 啟動數(shù)據(jù)庫
2.1.1 正常啟動
2.1.2 安裝和非安裝啟動
2.1.3 獨占和共享啟動
2.1.4 約束啟動
2.1.5 強制啟動
2.1.6 帶初始化參數(shù)文件的啟動
2.1.7 總結
2.2 關閉數(shù)據(jù)庫
2.2.1 正常關閉
2.2.2 立即關閉
2.2.3 異常關閉
2.2.4 總結
2.3 創(chuàng)建數(shù)據(jù)表
2.3.1 用create table創(chuàng)建表
2.3.2 從另一張表改進得到
2.3.3 在其它表建立視圖
2.3.4 總結
2.4 向數(shù)據(jù)表插入行記錄
2.4.1 用帶values子句的insert語句插入
2.4.2 用select語句插入
2.4.3 用視圖進行插入操作
2.4.4 在拷貝上進行插入
2.4.5 用程序方法插入行
2.4.6 用Oracle Loader裝入數(shù)據(jù)
2.4.7 總結
2.5 進訂查詢
2.5.1 普通查詢
2.5.2 組合子查詢
2.5.3 用group by分組查詢
2.5.4 樹查詢法
2.5.5 總結
2.6 對數(shù)據(jù)表進行修改
2.6.1 用update語句在原表上修改
2.6.2 用視圖來修改基表
2.6.3 在拷貝上進行修改
2.6.4 用程序方法修改行
2.6.5 總結
2.7 刪除表中的數(shù)據(jù)行
2.7.1 用delete語句直接在原表上刪除
2.7.2 在視圖上刪除
2.7.3 在拷貝上進行刪除方式
2.7.4 用程序方法刪除行
2.7.5 總結
2.8 為數(shù)據(jù)庫應用建立報表
2.8.1 在SQLPLUS環(huán)境下做報表
2.8.2 編寫PL/SQL程序做報表
2.8.3 用Oracle Reports做報表
2.8.4 總結
第3章 數(shù)據(jù)表整理
3.1 對表中記錄強制唯一
3.1.1 用生成鍵的方法實現(xiàn)
3.1.2 用創(chuàng)建索引的方法實現(xiàn)
3.1.3 用序號生成器方法
3.1.4 總結
3.2 何時使用視圖
3.2.1 增加安全性
3.2.2 隱藏數(shù)據(jù)復雜性
3.2.3 實現(xiàn)命名簡潔性和易讀性
3.2.4 實現(xiàn)更改靈活性
3.2.5 總結
3.3 避免直接依賴于基表
3.3.1 使用視圖
3.3.2 使用同義名
3.3.3 使用光標
3.3.4 總結
3.4 查看數(shù)據(jù)分布情況
3.4.1 一般查詢統(tǒng)計
3.4.2 用直方圖查看
3.4.3 將結果做成報表
3.4.4 總結
3.5 收集統(tǒng)計
3.5.1 計算統(tǒng)計
3.5.2 估算統(tǒng)計
3.5.3 編寫統(tǒng)計程序
3.5.4 使用系統(tǒng)統(tǒng)計程序
3.5.5 總結
第4章 備份與恢復
4.1 卸庫操作方法
4.1.1 交互式調用
4.1.2 參數(shù)驅動方式調用
4.1.3 用parfile指定參數(shù)文件
4.1.4 總結
4.2 裝庫操作方法
4.2.1 交互式調用
4.2.2 參數(shù)驅動方式調用
4.2.3 用parfile指定參數(shù)文件
4.2.4 總結
4.3 選擇卸庫方式
4.3.1 表方式卸庫
4.3.2 用戶方式卸庫
4.3.3 全庫方式卸庫
4.3.4 總結
4.4 選擇裝庫方式
4.4.1 表方式裝庫
4.4.2 用戶方式裝庫
4.4.3 全庫方式裝庫
4.4.4 總結
4.5 如何備份
4.5.1 映像備份
4.5.2 自動備份
4.5.3 卸庫方式
4.5.4 磁盤鏡像
4.5.5 總結
4.6 不完全恢復的方法
4.6.1 基于時間的恢復
4.6.2 基于變化的恢復
4.6.3 基于停止的恢復
4.6.4 總結
4.7 如何恢復
4.7.1 自動恢復
4.7.2 完全恢復
4.7.3 不完全恢復
4.7.4 并行恢復
4.7.5 聯(lián)機恢復
4.7.6 裝庫方式恢復
4.7.7 回滾段恢復
4.7.8 總結
第5章 數(shù)據(jù)庫空間管理
5.1 防止空間不夠用
5.1.1 設計之初
5.1.2 空間估計
5.1.3 動態(tài)空間監(jiān)視
5.1.4 總結
5.2 擴充數(shù)據(jù)庫的存儲能力
5.2.1 改變系統(tǒng)表空間數(shù)據(jù)文件的大小
5.2.2 創(chuàng)建新表空間
5.2.3 增加表空間大小
5.2.4 總結
5.3 減少存儲空間
5.3.1 采用正確的數(shù)據(jù)類型
5.3.2 正確設計存儲參數(shù)
5.3.3 將歷史表空間存檔
5.3.4 刪除表空間或對象
5.3.5 總結
5.4 為什么要分區(qū)
5.4.1 平衡I/O操作
5.4.2 加快查詢
5.4.3 有利于備份和恢復
5.4.4 減少污染區(qū)
5.4.5 總結
第6章 數(shù)據(jù)庫安全管理
6.1 授予權限
6.1.1 逐一授權
6.1.2 使用角色授權
6.1.3 用set role控制角色使用
6.1.4 總結
6.2 回收權限
6.2.1 逐一回收
6.2.2 撤銷角色
6.2.3 刪除對象
6.2.4 撤銷用戶
6.2.5 總結
6.3 對不同用戶的權限管理
6.3.1 數(shù)據(jù)庫管理員
6.3.2 應用程序開發(fā)人員
6.3.3 最終用戶
6.3.4 總結
6.4 在表一級保護數(shù)據(jù)安全
6.4.1 使用父鍵和外鍵
6.4.2 使用視圖
6.4.3 使用觸發(fā)器
6.4.4 使用存儲過程
6.4.5 權限控制
6.4.6 總結
6.5 如何進行審計
6.5.1 語句審計
6.5.2 權限審計
6.5.3 實體審計
6.5.4 總結
6.6 防止數(shù)據(jù)無效
6.6.1 備份和恢復
6.6.2 提交和回退
6.6.3 使用審計跟蹤
6.6.4 保護控制文件
6.6.5 使用快照
6.6.6 總結
6.7 控制訪問對象
6.7.1 使用用戶
6.7.2 權限管理
6.7.3 使用數(shù)據(jù)庫鏈接
6.7.4 使用資源簡表
6.7.5 使用存儲過程
6.7.6 總結
6.8 保護日志的安全性
6.8.1 數(shù)據(jù)和日志分開
6.8.2 增加日志成員
6.8.3 自動存檔
6.8.4 監(jiān)視日志
6.8.5 總結
6.9 控制數(shù)據(jù)可用性
6.9.1 啟動和關閉數(shù)據(jù)庫
6.9.2 將表空間聯(lián)機或脫機
6.9.3 用權限控制
6.9.4 總結
第7章 改善數(shù)據(jù)庫性能
7.1 檢查不理想的SQL語句
7.1.1 人工檢查
7.1.2 用explain plan來統(tǒng)計檢查
7.1.3 使用set autotrace
7.1.4 總結
7.2 選擇優(yōu)化SQL語句的方法
7.2.1 基于代價的優(yōu)化
7.2.2 基于規(guī)則的優(yōu)化
7.2.3 使用索引
7.2.4 使用數(shù)據(jù)簇
7.2.5 編寫共享池中已有的SQL語句
7.2.6 總結
7.3 實現(xiàn)數(shù)據(jù)完整性
7.3.1 域完整性
7.3.2 完整性約束
7.3.3 引用完整性
7.3.4 用存儲過程檢查
7.3.5 使用觸發(fā)器
7.3.6 使用報警器
7.3.7 總結
7.4 調整數(shù)據(jù)庫性能
7.4.1 調整操作系統(tǒng)
7.4.2 減少磁盤I/O操作
7.4.3 減少磁盤競爭
7.4.4 調整回滾段
7.4.5 調整多線程服務器
7.4.6 減少檢查點
7.4.7 增加日志組
7.4.8 總結
7.5 加快數(shù)據(jù)庫檢索速度
7.5.1 經常做統(tǒng)計收集
7.5.2 合理設計SQL語句
7.5.3 使用索引加快查詢速度
7.5.4 使用數(shù)據(jù)簇加快查詢速度
7.5.5 并行處理
7.5.6 總結
7.6 減少等待狀態(tài)
7.6.1 經常提交工作
7.6.2 管理應用程序窗口
7.6.3 并行操作
7.6.4 使用多線程服務器
7.6.5 總結
7.7 減少磁盤I/O操作
7.7.1 使用索引
7.7.2 使用數(shù)據(jù)簇
7.7.3 合理設置pctfree防止行鏈
7.7.4 擴大高速緩沖區(qū)
7.7.5 固定應用程序
7.7.6 總結
7.8 防止訪問沖突
7.8.1 加鎖
7.8.2 合理設計事務
7.8.3 擴大共享內存
7.8.4 分散文件
7.8.5 使用快照
7.8.6 創(chuàng)建分區(qū)
7.8.7 調整參數(shù)initrans和maxtrans
7.8.8 總結
附錄
附錄A Oracle SQL命令
附錄B PL/SQL命令
附錄C Oracle SQL函數(shù)
附錄D Oracle的數(shù)據(jù)字典視圖
附錄E Oracle的系統(tǒng)和對象權限
附錄F 系統(tǒng)環(huán)境參數(shù)
附錄G 可審計語句類型