当前位置:首页 > 工业技术
Oracle Database 11g数据库管理艺术
Oracle Database 11g数据库管理艺术

Oracle Database 11g数据库管理艺术PDF电子书下载

工业技术

  • 电子书积分:26 积分如何计算积分?
  • 作 者:(美)SAMR.ALAPATI著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115227867
  • 页数:1038 页
图书介绍:本书针对大多数企业常见的Oracle数据库管理任务,详细介绍了数据库的安装和升级、用户管理、备份和恢复、数据库管理、性能优化等内容,涵盖了该数据库的所有新特性,并给出了实际的示例。
《Oracle Database 11g数据库管理艺术》目录

第一部分 背景知识、数据建模、UNIN/Linux和SQL*Plus 2

第1章 Oracle DBA的世界 2

1.1 Oracle DBA的任务 2

1.1.1 DBA的安全任务 3

1.1.2 DBA的系统管理任务 3

1.1.3 DBA的数据库设计任务 5

1.2 不同的DBA工作分类 6

1.3 数据库的类型 6

1.3.1 联机事务处理和决策支持系统数据库 6

1.3.2 开发、测试和产品数据库 7

1.4 培训和认证 7

1.4.1 培训 7

1.4.2 认证 8

1.4.3 Oracle DBA的资源和组织 10

1.4.4 Oracle示例 11

1.4.5 Oracle数据库的两天DBA课程 11

1.4.6 Oracle MetaLink 11

1.4.7 Oracle Web Conference 12

1.5 普通Oracle DBA的日常工作 12

1.6 几点建议 12

1.6.1 知道何时寻求帮助 12

1.6.2 记住你并不孤单 13

1.6.3 站在全局看问题 13

1.6.4 首先是不要造成损害 13

第2章 关系数据库建模及数据库设计 14

2.1 关系数据库简介 14

2.2 关系数据库模型 15

2.2.1 数据库模式 15

2.2.2 关系代数 15

2.2.3 关系演算 16

2.2.4 SQL 16

2.3 关系数据库的生命周期 17

2.3.1 需求收集和分析 17

2.3.2 逻辑数据库设计 18

2.3.3 物理数据库设计 25

2.3.4 实现物理设计 27

2.4 反向设计数据库 28

2.5 对象-关系和对象数据库 28

2.5.1 关系模型 28

2.5.2 对象模型 28

2.5.3 对象-关系模型 29

2.5.4 半结构数据模型 30

第3章 Oracle DBA的UNIX/Linux基础 31

3.1 UNIX和Linux操作系统概述 31

3.1.1 UNIX 31

3.1.2 Linux 32

3.1.3 中档系统 32

3.2 理解UNIN shell 33

3.3 访问UNIX系统 33

3.4 基本UNIX命令概览 35

3.4.1 帮助信息:man命令 36

3.4.2 改变提示符 37

3.4.3 文件和目录的查找 37

3.4.4 命令输出的控制 38

3.4.5 显示文件的内容 38

3.4.6 比较文件 38

3.4.7 理解操作系统和Shell变量 38

3.4.8 UNIX中的输入和输出重定向 41

3.4.9 防止文件被覆盖 41

3.5 UNIX中文件和目录的浏览 42

3.5.1 UNIX系统中的文件 42

3.5.2 链接文件 42

3.5.3 管理文件 42

3.5.4 权限:读/写UNIX的文件 43

3.5.5 目录管理 45

3.6 用vi编辑器编写文件 46

3.6.1 利用vi创建和修改文件 46

3.6.2 用head和tail命令移动 47

3.7 文本的提取和排序 48

3.7.1 使用grep匹配模式 48

3.7.2 剪切、粘贴和联结文本 49

3.8 shell脚本 50

3.8.1 shell程序介绍 51

3.8.2 使用shell变量 51

3.8.3 用test命令求表达式的值 51

3.8.4 执行带命令行参数的shell程序 52

3.8.5 分析shell脚本 52

3.8.6 Korn shell编程中的流控制结构 53

3.9 管理UNIX进程 55

3.9.1 用ps命令收集进程信息 55

3.9.2 在注销后运行进程 56

3.9.3 在后台执行进程 56

3.9.4 用kill命令终止进程 56

3.10 UNIX系统管理和Oracle DBA 57

3.10.1 UNIX的备份和恢复实用程序 57

3.10.2 crontab和Automating脚本 57

3.10.3 使用telnet 58

3.10.4 远程登录和远程复制 59

3.10.5 使用SSH 59

3.10.6 使用FTP发送和接收文件 59

3.10.7 UNIX系统性能监控工具 60

3.11 UNIX中的磁盘和存储 64

3.11.1 磁盘存储配置选择 65

3.11.2 监控磁盘使用 65

3.11.3 磁盘存储、性能和可用性 66

3.12 RAID系统 67

3.12.1 RAID级别 67

3.12.2 选择理想的磁盘配置 69

3.12.3 冗余磁盘控制器 70

3.12.4 RAID和备份 70

3.12.5 RAID和Oracle 70

3.13 其他存储技术 70

3.13.1 SAN 71

3.13.2 NAS系统 71

3.13.3 InfiniBand 71

3.13.4 自动存储管理 72

3.13.5 Oracle与存储系统的兼容性 72

第4章 使用SQL*Plus和Oracle企业管理器 73

4.1 启动SQL*Plus会话 73

4.1.1 设置环境 73

4.1.2 从命令行启动SQL*Plus会话 74

4.1.3 用CONNECT命令进行连接 75

4.1.4 用/NOLOG的无连接SQL*Plus会话 76

4.1.5 通过Windows GUI连接SQL*Plus 76

4.1.6 在SQL*Plus中进行操作 77

4.2 退出SQL*Plus 77

4.3 SQL*Plus和SQL命令 77

4.3.1 SQL*Plus的安全性 78

4.3.2 用SET命令设置SQL*Plus环境 80

4.3.3 设置常用的SQL*Plus变量 81

4.3.4 SQL*Plus错误记录 84

4.3.5 SQL*Plus命令行选项 85

4.4 SQL*Plus管理命令 87

4.4.1 CLEAR命令 87

4.4.2 STORE命令 88

4.4.3 SHOW命令 88

4.5 关键的SQL*Plus“工作”命令 90

4.5.1 SQLPROMPT命令 90

4.5.2 DESCRIBE命令 91

4.5.3 HOST命令 91

4.5.4 SPOOL命令 92

4.5.5 ACCEPT和PROMPT命令 92

4.5.6 EXECUTE命令 92

4.5.7 PAUSE命令 93

4.6 格式化SQL*Plus的输出以及创建报告的命令 93

4.6.1 BREAK命令 93

4.6.2 COLUMN命令 94

4.6.3 COMPUTE命令 94

4.6.4 REPFOOTER命令 94

4.6.5 REPHEADER命令 94

4.6.6 BTITLE和TTITLE命令 94

4.7 在SQL*Plus中创建命令文件 95

4.7.1 将SQL缓冲区内容保存到文件中 95

4.7.2 在SQL*Plus中执行SQL脚本 95

4.7.3 创建Windows的批处理脚本 97

4.7.4 DEFINE和UNDEFINE命令 97

4.7.5 预定义SQL*Plus变量 97

4.7.6 在SQL*Plus中使用注释 98

4.7.7 显示SQL命令清单 98

4.8 在SQL*Plus中进行编辑 99

4.8.1 插入和删除行 100

4.8.2 添加文本 101

4.8.3 用REMARK命令加入注释 102

4.8.4 用COPY命令复制表 102

4.8.5 用SQL*Plus使DML的更改永久化 103

4.8.6 用SQL*Plus创建网页 103

4.9 主要的SQL*Plus数据库管理命令 104

4.9.1 RECOVER命令 104

4.9.2 STARTUP和SHOUTDOWN命令 104

4.9.3 ARCHIVE LOG命令 104

4.10 用SQL生成SQL 104

4.11 Oracle SQL Developer 105

4.12 OEM 106

4.12.1 使用OEM管理数据库的好处 106

4.12.2 OEM体系结构和组件 108

4.12.3 配置和使用Database Control 108

4.12.4 访问Database Control 111

4.12.5 Database Control的简要介绍 112

4.12.6 Performance 113

4.12.7 Availability 114

4.12.8 Server 114

4.12.9 Schema 115

4.12.10 Data Movement 115

4.12.11 Software and Support 115

4.12.12 Oracle软件克隆 115

4.12.13 配置使用Setup页 116

4.12.14 Related Links部分和Advisor Central页 117

4.12.15 创建Database Control角色 117

4.12.16 链接到MetaLink 118

4.12.17 基于策略的配置框架 118

4.12.18 跟踪数据库特性使用的统计数据 118

4.12.19 OEM Grid Control 120

4.12.20 管理Management Agent 122

4.12.21 OMS(Oracle Management Service,Oracle服务管理) 123

4.12.22 连接到Grid Control 123

4.12.23 登录到Grid Control 123

4.12.24 Grid Control的特性 124

4.12.25 使用Grid Control主页 124

4.12.26 用Grid Control监控整个系统 125

第二部分 Oracle Database 11g的体系结构、模式和事务管理 128

第5章 Oracle Database 11g体系结构 128

5.1 Oracle数据库的结构 128

5.1.1 逻辑数据库结构 128

5.1.2 物理数据库结构 134

5.1.3 其他文件 137

5.2 Oracle进程 139

5.2.1 用户和Oracle进程之间的交互 139

5.2.2 服务器进程 139

5.2.3 后台进程 140

5.3 Oracle内存结构 145

5.3.1 理解主存储器 145

5.3.2 SGA 146

5.3.3 PGA 151

5.4 简单的Oracle数据库事务 153

5.5 提交和回滚 154

5.5.1 提交一个事务 154

5.5.2 回滚一个事务 155

5.6 数据一致性和数据并发性 155

5.6.1 数据库写入器和写前协议 155

5.6.2 SCN 156

5.6.3 撤销管理 156

5.7 备份与恢复体系结构 157

5.7.1 用户管理的备份与恢复 157

5.7.2 RMAN 157

5.7.3 Oracle Secure Backup 158

5.7.4 闪回恢复技术 158

5.8 Oracle数据字典和动态性能视图 158

5.8.1 Oracle数据字典 159

5.8.2 动态性能(V$)视图 159

5.8.3 三组数据字典视图 159

5.8.4 如何创建数据字典 160

5.9 使用静态数据字典视图 160

5.10 与数据库对话 161

5.10.1 连接Oracle 161

5.10.2 OEM 161

5.10.3 SQL*Plus 162

5.11 Oracle实用程序 162

5.11.1 数据泵的导出和导入 162

5.11.2 SQL*Loader 162

5.11.3 LogMiner 162

5.11.4 自动诊断信息库控件接口 163

5.12 调度和资源管理工具 163

5.12.1 Oracle调度程序 163

5.12.2 数据库资源管理器 163

5.13 自动数据库管理 163

5.13.1 ADDM 163

5.13.2 自动撤销保留调优 164

5.13.3 自动优化程序统计数据收集 164

5.13.4 ASM 164

5.13.5 自动SQL调优 164

5.14 公共可管理基础设施 164

5.14.1 AWR 165

5.14.2 ASH 165

5.14.3 服务器产生的预警 166

5.14.4 自动任务特性 166

5.14.5 顾问程序的框架 166

5.14.6 更改管理 167

5.15 高效的管理和监控 167

第6章 管理表空间 169

6.1 表空间区尺寸和空间管理 169

6.1.1 分配区尺寸:自动分配与统一尺寸 169

6.1.2 自动与手动段空间管理 170

6.2 创建表空间 172

6.2.1 数据文件和表空间 172

6.2.2 区分配和解除分配 173

6.2.3 存储参数 174

6.2.4 数据库对象的存储分配 175

6.2.5 增加表空间的大小 176

6.2.6 删除表空间 177

6.2.7 用户表空间的数目 178

6.2.8 表空间限额 178

6.2.9 主动的表空间的空间预警 178

6.2.10 管理重做数据的生成 180

6.2.11 重新命名表空间 180

6.2.12 只读表空间 181

6.2.13 使表空间脱机 181

6.3 临时表空间 181

6.3.1 创建临时表空间 182

6.3.2 更改临时表空间 183

6.3.3 收缩临时表空间 183

6.3.4 默认临时表空间 184

6.3.5 临时表空间组 184

6.4 默认的永久表空间 186

6.5 大文件表空间 187

6.5.1 使用大文件表空间的限制 188

6.5.2 创建大文件表空间 188

6.5.3 更改大文件表空间 189

6.5.4 浏览大文件表空间的信息 189

6.6 管理Sysaux表空间 189

6.6.1 创建Sysaux表空间 190

6.6.2 Sysaux表空间的使用限制 190

6.7 表空间加密 190

6.7.1 为什么需要加密表空间 191

6.7.2 创建Oracle钱夹 191

6.7.3 创建一个加密的表空间 192

6.8 管理表空间的数据字典视图 193

6.8.1 DBA_TABLESPACE 193

6.8.2 DBA_FREE_SPACE 194

6.8.3 DBA_SEGMENTS 194

6.8.4 DBA_DATA_FILES 195

6.8.5 DBA_TABLESPACE_GROUPS 196

6.8.6 V$DATAFILE 196

6.8.7 V$FILESTAT 196

6.9 用Oracle管理的文件方便文件的管理 197

6.9.1 使用OMF的好处 198

6.9.2 创建Oracle管理的文件 198

6.9.3 不同类型的Oracle管理的文件 199

6.10 在两个数据库之间复制文件 202

6.10.1 COPY_FILE 202

6.10.2 GET_FILE 203

6.10.3 PUT_FILE 203

6.11 找出剩下多少可用空间 204

6.12 使用操作系统文件 205

6.12.1 使用UTL_FILE程序包 205

6.12.2 关键的UTL_FILE的过程和函数 206

6.12.3 异常处理程序 206

6.12.4 使用UTL_FILE程序包的简单例子 206

第7章 模式管理 209

7.1 SQL语句的类型 209

7.1.1 系统控制语句 210

7.1.2 会话控制语句 210

7.1.3 嵌入的SQL语句 210

7.1.4 数据操纵语句 210

7.1.5 事务控制语句 211

7.1.6 数据定义语言语句 211

7.2 Oracle模式 211

7.3 Oracle表 212

7.3.1 估计表的尺寸 213

7.3.2 创建简单表 214

7.3.3 什么是NULL值 215

7.3.4 列的默认值 216

7.3.5 虚拟列 216

7.3.6 添加表列 217

7.3.7 删除表列 217

7.3.8 重命名表列 217

7.3.9 重命名表 218

7.3.10 删除表中的所有数据 218

7.3.11 用CTAS选项创建新表 218

7.3.12 设置表为只读模式 219

7.3.13 表压缩 220

7.3.14 删除表 221

7.4 特殊的Oracle表 222

7.4.1 临时表 222

7.4.2 索引组织表 223

7.4.3 外部表 224

7.5 分区表 225

7.5.1 范围分区 225

7.5.2 间隔分区 226

7.5.3 散列分区 227

7.5.4 列表分区 227

7.5.5 引用分区 228

7.5.6 基于虚拟列的分区 229

7.5.7 系统分区 230

7.5.8 组合分区 231

7.5.9 分区维护操作 233

7.6 管理表的数据字典视图 235

7.7 群 237

7.8 散列群 238

7.9 Oracle索引 238

7.9.1 创建索引的准则 239

7.9.2 Oracle的索引模式 240

7.9.3 估算索引的尺寸 240

7.9.4 创建索引 241

7.10 特殊类型的索引 242

7.10.1 位图索引 242

7.10.2 反向键索引 242

7.10.3 键压缩索引 243

7.10.4 基于函数的索引 243

7.10.5 分区索引 243

7.10.6 不可见索引 244

7.11 监控索引的使用 245

7.12 索引的维护 246

7.13 管理数据库完整性约束 246

7.13.1 主键约束 247

7.13.2 非空约束 247

7.13.3 检查约束 247

7.13.4 唯一约束 248

7.13.5 引用完整性约束 248

7.13.6 完整性约束状态 248

7.13.7 信赖约束 249

7.13.8 暂缓和立即约束 250

7.14 与约束和索引有关的视图 250

7.14.1 DBA_CONSTRAINTS 250

7.14.2 DBA_CONS_COLUMNS 251

7.15 使用视图 251

7.16 使用实体化视图 253

7.16.1 查询重写 254

7.16.2 Rewrite_or_Error提示 255

7.16.3 重写的完整性 255

7.16.4 刷新实体化视图的数据 255

7.16.5 使用DBMS_MVIEW程序包 256

7.16.6 创建实体化视图 256

7.17 使用SQL访问顾问程序 258

7.17.1 使用OEM Database Control 259

7.17.2 使用DBMS_ADVISOR程序包 261

7.17.3 使用QUICK_TUNE过程 262

7.18 使用同义词 262

7.18.1 创建公共同义词 263

7.18.2 创建私有同义词 264

7.18.3 删除同义词 264

7.18.4 管理同义词 264

7.18.5 切换到另一个模式 264

7.19 使用序列 265

7.20 使用触发器 266

7.21 浏览对象信息 266

7.21.1 管理数据库对象的视图 266

7.21.2 DBA_OBJECTS 266

7.21.3 DBA_TABLES 267

7.21.4 DBA_EXTERNAL_TABLES 267

7.21.5 DBA_TAB_PARTITIONS 267

7.21.6 DBA_PART_TABLES 268

7.21.7 DBA_TAB_MODIFICATIONS 268

7.21.8 DBA_TAB_COLUMNS 269

7.21.9 DBA_VIEWS 269

7.21.10 DBA_MVIEWS 270

7.21.11 DBA_INDEXES 270

7.21.12 DBA_IND_COLUMNS 270

7.21.13 INDEX_STATS 271

第8章 Oracle事务管理 272

8.1 Oracle的事务 272

8.1.1 COMMIT语句 273

8.1.2 ROLLBACK语句 274

8.2 事务的特性 274

8.3 事务并发性控制 275

8.3.1 并发性带来的问题 275

8.3.2 进度表和串行性 276

8.4 隔离级别和ISO事务标准 276

8.5 Oracle的隔离级别 278

8.5.1 事务级和语句级一致性 279

8.5.2 改变默认隔离级别 279

8.6 实现Oracle的并发控制 280

8.6.1 Oracle的锁定方法 281

8.6.2 Oracle的锁类型 281

8.6.3 允许DDL锁等待DML锁 282

8.6.4 显式表锁定 283

8.6.5 Oracle中的显式锁定 283

8.6.6 管理Oracle锁 284

8.7 利用撤销数据提供读一致性 287

8.7.1 AUM 287

8.7.2 有保证的撤销保留 292

8.7.3 使用OEM管理撤销数据 295

8.8 使用撤销数据纠正闪回错误 296

8.9 用DBMS_FLASHBACK程序包进行闪回 297

8.10 闪回事务查询 301

8.10.1 同时使用闪回事务查询和闪回版本查询 302

8.10.2 闪回表特性 303

8.11 事务管理 307

8.11.1 离散事务 307

8.11.2 自主事务 307

8.12 可恢复的空间分配 309

8.12.1 可继续执行的操作 309

8.12.2 常见的可继续执行错误 310

8.12.3 使用可恢复的空间分配特性 310

8.12.4 挂起操作的通知 312

8.12.5 操作挂起的警告 312

8.12.6 监控可恢复的空间分配 312

8.13 管理长事务 312

8.13.1 使用Workspace Manager的好处 313

8.13.2 表版本和工作区 313

第三部分 安装和升级到Oracle Database 11g,创建数据库 316

第9章 安装和升级到Oracle Database 11g 316

9.1 安装Oracle 316

9.1.1 参阅文献 316

9.1.2 确定磁盘和内存需求 317

9.2 OFA 317

9.2.1 安装点 318

9.2.2 目录及文件命名约定 319

9.3 执行预安装任务 323

9.3.1 检查预安装需求 324

9.3.2 系统管理员的预安装任务 325

9.3.3 Oracle拥有者的预安装任务 332

9.4 安装的最终检查表 334

9.4.1 访问安装软件 334

9.4.2 安装软件 336

9.4.3 使用响应文件安装Oracle软件 340

9.5 安装后的任务 341

9.5.1 系统管理员的后安装任务 342

9.5.2 Oracle拥有者的后安装工作 342

9.6 卸载Oracle 343

9.6.1 删除运行在服务器上的所有Oracle数据库 343

9.6.2 删除Oracle软件 344

9.7 升级到Oracle Database 11g 344

9.8 升级到Oracle Database 11g的方法 345

9.9 升级方法和工具 345

9.9.1 手动升级过程 345

9.9.2 数据库升级助手 346

9.9.3 预升级信息工具 346

9.9.4 后升级状态工具 347

9.9.5 为升级准备数据库 347

9.10 用DBUA升级 348

9.10.1 启动DBUA 348

9.10.2 执行DBUA 348

9.10.3 复原升级前的数据库 350

9.11 手动升级 350

9.11.1 升级和降级脚本 350

9.11.2 创建假脱机文件 351

9.11.3 启动预升级信息工具 351

9.11.4 备份数据库 353

9.11.5 复制参数文件 353

9.11.6 启动新数据库 353

9.11.7 执行升级脚本 354

9.11.8 执行升级活动脚本 354

9.11.9 重启实例 355

9.11.10 运行后升级活动脚本 355

9.11.11 检查无效对象 355

9.11.12 重编译和使无效对象有效 355

9.11.13 运行后升级状态工具 356

9.11.14 结束假脱机文件 357

9.11.15 重启新数据库 357

9.12 升级之后 357

9.12.1 为加强密码保护而重新设置密码 357

9.12.2 降级到旧版本 357

第10章 创建Oracle数据库 359

10.1 准备创建数据库 359

10.1.1 安装Oracle软件 359

10.1.2 为数据库创建文件系统 360

10.1.3 分配足够的内存 361

10.1.4 得到必要的授权 361

10.1.5 设置OS环境变量 361

10.2 创建参数文件 362

10.2.1 数据库参数文件的类型 362

10.2.2 初始化参数文件 362

10.2.3 更改初始化参数值 363

10.2.4 重要的Oracle Database 11g初始化参数 364

10.2.5 文档未记载的初始化参数 382

10.2.6 查看当前初始化参数值 382

10.3 创建新数据库 383

10.3.1 手动创建 383

10.3.2 使用DBCA创建数据库 393

10.4 使用服务器参数文件 400

10.4.1 创建服务器参数文件 400

10.4.2 设置动态参数更改的范围 402

10.4.3 从内存创建SPFILE或PFILE 403

10.5 从SQL*Plus中启动和关闭数据库 403

10.5.1 启动数据库 403

10.5.2 自动启动数据库 405

10.5.3 限制数据库的访问 406

10.5.4 关闭数据库 407

10.5.5 停顿数据库 409

10.5.6 挂起数据库 410

10.5.7 删除数据库 410

10.5.8 使用数据字典监控数据库状态 411

10.5.9 接下来的工作 412

第四部分 连接和用户管理 414

第11章 连接和网络 414

11.1 Oracle网络和数据库连接 414

11.2 网络概念:Oracle网络如何工作 415

11.2.1 Web应用如何连接到Oracle数据库 416

11.2.2 数据库实例名 416

11.2.3 全局数据库名 416

11.2.4 数据库服务名 416

11.2.5 连接描述符 417

11.2.6 连接标识符 417

11.2.7 连接串 417

11.3 建立Oracle连接 418

11.4 Oracle客户机 419

11.4.1 安装Oracle客户机 420

11.4.2 使用TWO_TASK环境变量 420

11.5 即时客户机 421

11.6 监听器和连接 421

11.6.1 自动服务注册 422

11.6.2 监听器命令 423

11.6.3 监听器管理 424

11.7 命名和连接 425

11.7.1 本地命名方法 426

11.7.2 简易连接命名方法 429

11.7.3 数据库驻留连接池 431

11.7.4 外部命名方法 433

11.7.5 目录命名方法 433

11.8 Oracle和Java数据库连接 437

11.8.1 建立数据库连接 437

11.8.2 使用数据库 437

11.8.3 一个完整的程序 439

第12章 用户管理和数据库安全 441

12.1 管理用户 441

12.1.1 临时和默认表空间 442

12.1.2 创建新用户 442

12.1.3 更改用户 444

12.1.4 删除用户 445

12.1.5 创建和使用用户概要文件 445

12.1.6 管理资源 450

12.2 Database Resource Manager 450

12.2.1 使用Database Resource Manager 451

12.2.2 使用OEM管理Database Resource Manager 460

12.3 控制数据库访问 461

12.3.1 Oracle数据库中的权限 461

12.3.2 角色 466

12.3.3 使用视图和存储过程来管理权限 469

12.3.4 管理用户、角色和权限的DBA视图 469

12.3.5 细粒度数据访问 470

12.4 审计数据库使用 477

12.4.1 标准审计 477

12.4.2 细粒度审计 483

12.5 认证用户 485

12.5.1 数据库认证 486

12.5.2 外部认证 489

12.5.3 代理认证 490

12.5.4 集中式用户认证 490

12.6 企业用户安全 491

12.6.1 共享模式 491

12.6.2 单次注册 491

12.6.3 数据加密 491

12.6.4 表空间加密 495

12.6.5 Oracle Internet Directory 497

12.7 数据安全须知 497

12.7.1 自动保护配置 497

12.7.2 用户账号 498

12.7.3 密码 498

12.7.4 操作系统认证 498

12.7.5 数据库审计 498

12.7.6 授予权限 499

12.7.7 涉及多个DBA的环境 499

12.7.8 保护数据字典 499

12.7.9 设置权限 499

12.7.10 网络和监听程序 500

12.7.11 细粒度网络访问控制 501

12.7.12 Oracle的高级安全选项 503

12.7.13 应用安全 503

12.7.14 管理用户的有用技术 504

第五部分 数据装载、备份和恢复 508

第13章 装载和转换数据 508

13.1 提取、转换和装载概览 508

13.2 使用SQL*Loader实用程序 509

13.2.1 SQL*Loader控制文件 510

13.2.2 在装载中生成数据 517

13.2.3 调用SQL*Loader 517

13.2.4 装载日志文件 518

13.2.5 使用返回代码 519

13.2.6 使用直接装载方法 520

13.2.7 实用的SQL*Loader数据装载技术 522

13.3 使用外部表装载数据 524

13.3.1 创建外部表层 525

13.3.2 填充外部表 528

13.3.3 使用外部表 530

13.3.4 使用SQL*Loader生成外部表创建语句 531

13.4 转换数据 533

13.4.1 从现有表中派生数据 534

13.4.2 使用SQL转换数据 534

13.4.3 使用SQL MODEL子句 542

13.5 使用Oracle流复制和共享信息 545

13.5.1 研究流体系结构 545

13.5.2 设置Oracle流 546

第14章 使用数据泵导出和导入 549

14.1 数据泵技术的介绍 549

14.1.1 数据泵技术的优点 550

14.1.2 数据泵导出和导入的用途 551

14.1.3 数据泵的组成部分 551

14.1.4 数据访问方法 552

14.1.5 数据泵文件 552

14.1.6 数据泵权限 556

14.1.7 数据泵作业的结构 556

14.2 执行数据泵导出和导入 557

14.2.1 数据泵导出方法 557

14.2.2 数据泵导出的方式 558

14.2.3 数据泵导出参数 559

14.2.4 数据泵导出的例子 571

14.2.5 数据泵导入的类型和方式 572

14.2.6 数据泵导入参数 572

14.3 监控数据泵作业 578

14.3.1 浏览数据泵作业 579

14.3.2 浏览数据泵会话 579

14.3.3 浏览数据泵作业的进度 579

14.4 使用数据泵API 580

14.5 可移植表空间 581

14.5.1 可移植表空间的使用 581

14.5.2 移植表空间 581

14.5.3 在不同Endian格式的平台之间移植表空间 584

第15章 备份数据库 587

15.1 备份Oracle数据库 587

15.1.1 重要的备份术语 588

15.1.2 备份准则 590

15.1.3 测试备份 591

15.1.4 维护冗余集 591

15.1.5 备份策略 591

15.2 闪回恢复区 594

15.2.1 闪回恢复区的好处 595

15.2.2 设置闪回恢复区的大小 596

15.2.3 创建闪回恢复区的方法 596

15.2.4 备份闪回恢复区 599

15.2.5 使用闪回恢复区 599

15.3 恢复管理器 600

15.3.1 RMAN的好处 601

15.3.2 RMAN体系结构 602

15.3.3 连接到RMAN 603

15.3.4 RMAN脚本 605

15.3.5 重要的RMAN术语 609

15.3.6 指定备份标记和备份格式 610

15.3.7 做RMAN备份的副本 610

15.3.8 RMAN备份位置 611

15.3.9 RMAN命令 612

15.3.10 RMAN配置参数 617

15.3.11 使用恢复目录 621

15.3.12 维护恢复目录 623

15.3.13 虚拟专用目录 626

15.3.14 RMAN备份的例子 627

15.3.15 重新启动RMAN备份 630

15.3.16 限制备份时间 630

15.3.17 增量更新备份 630

15.3.18 快速增量备份 631

15.3.19 RMAN压缩备份 632

15.3.20 归档备份 632

15.3.21 监控和验证RMAN作业 634

15.4 备份控制文件 636

15.5 Oracle Secure Backup 637

15.5.1 Oracle Secure Backup的好处 637

15.5.2 Oracle Secure Backup管理域 637

15.5.3 安装Oracle Secure Backup 638

15.5.4 使用Oracle Backup Web Interface工具 639

15.5.5 配置Oracle Secure Backup 639

15.5.6 用Oracle Secure Backup执行备份 640

15.6 用户管理的备份 640

15.6.1 进行完全的数据库备份 641

15.6.2 制作部分数据库备份 644

15.6.3 监控用户管理的联机备份 645

15.7 数据库讹误检测 645

15.7.1 检测介质讹误 645

15.7.2 检测数据块讹误 645

15.8 加强数据保护以便进行灾难恢复 647

15.8.1 高可用性系统 647

15.8.2 Oracle Data Guard和备用数据库 648

第16章 数据库恢复 650

16.1 数据库故障类型 650

16.1.1 系统故障 650

16.1.2 数据中心的灾难 651

16.1.3 人为错误 651

16.1.4 介质故障 651

16.1.5 故障和数据修复 651

16.2 Oracle的恢复过程 652

16.2.1 崩溃和实例恢复 653

16.2.2 快速实例启动 654

16.2.3 介质恢复 654

16.2.4 介质恢复与非介质恢复 656

16.3 用RMAN执行恢复 657

16.3.1 使用RMAN恢复的好处 657

16.3.2 使用VALIDATE BACKUP命令验证RMAN备份 658

16.3.3 使用RESTORE...VALIDATE命令 658

16.3.4 使用RESTORE...PREVIEW命令 658

16.3.5 确定恢复必需的文件 659

16.3.6 RMAN恢复过程 659

16.3.7 用增量更新备份进行恢复 659

16.3.8 监控RMAN作业 660

16.3.9 用户管理的恢复过程 660

16.4 典型的介质恢复方案 661

16.4.1 整个数据库的完全恢复 661

16.4.2 恢复表空间 663

16.4.3 恢复数据文件 664

16.4.4 不完全恢复 666

16.4.5 从控制文件丢失中恢复 670

16.4.6 恢复没有备份的数据文件 673

16.5 数据恢复顾问 674

16.6 克隆数据库 678

16.6.1 使用RMAN克隆数据库 678

16.6.2 使用Database Control克隆数据库 681

16.6.3 手动克隆数据库 682

16.7 粒度恢复技术 683

16.7.1 表空间时间点恢复 683

16.7.2 使用LogMiner进行精确恢复 684

16.8 闪回技术和恢复 689

16.8.1 闪回级别 689

16.8.2 闪回与传统恢复技术 690

16.8.3 闪回删除 690

16.8.4 闪回数据库 694

16.9 使用复原点 700

16.9.1 有保证的复原点 701

16.9.2 查看复原点 702

16.10 修理数据讹误并试验恢复 702

16.10.1 块介质恢复 703

16.10.2 试验恢复 704

16.11 排除恢复错误 704

16.11.1 ORA-01194错误 704

16.11.2 ORA-01152错误 705

16.11.3 ORA-00376错误 706

16.11.4 事务取消特性 706

16.12 闪回数据存档 708

16.12.1 管理闪回数据存档 708

16.12.2 启用闪回数据存档 709

16.12.3 使用闪回数据存档:例子 710

第六部分 管理Oracle数据库 714

第17章 自动管理和联机功能 714

17.1 自动数据库诊断监控器(ADDM) 714

17.1.1 ADDM的用途 715

17.1.2 ADDM可以诊断的问题 715

17.1.3 ADDM判定 716

17.1.4 ADDM建议 717

17.1.5 管理ADDM 718

17.2 自动内存管理 728

17.2.1 内存管理的类型 729

17.2.2 开启自动内存管理 729

17.2.3 调优自动内存管理 731

17.2.4 自动内存参数的相关性 731

17.3 自动优化程序的统计数据收集 732

17.3.1 自动收集优化程序的统计数据 732

17.3.2 手动收集优化程序的统计数据 734

17.4 自动存储管理 734

17.4.1 ASM的优点 734

17.4.2 考察ASM架构 735

17.4.3 安装ASM 736

17.4.4 ASM和集群同步服务 736

17.4.5 创建ASM实例 737

17.4.6 ASM的快速镜像再同步特性 741

17.4.7 ASM首选的镜像读 742

17.4.8 改变ASM磁盘组属性 742

17.4.9 asmcmd命令行工具 743

17.4.10 管理ASM磁盘组 745

17.4.11 利用磁盘组增加性能和冗余 746

17.4.12 创建磁盘组 747

17.4.13 向磁盘组添加磁盘 747

17.4.14 删除磁盘和磁盘组 748

17.4.15 重新平衡磁盘组 748

17.4.16 管理ASM文件 748

17.4.17 ASM文件名的类型 749

17.4.18 使用ASM文件名 750

17.4.19 ASM文件模板 750

17.4.20 创建基于ASM的数据库 750

17.4.21 将数据库迁移到ASM 751

17.5 自动空间管理 752

17.5.1 自动撤销管理 753

17.5.2 使用OMF轻松管理文件 753

17.5.3 联机段收缩和段顾问 758

17.5.4 手动段收缩 759

17.5.5 使用Segment Advisor收缩段 759

17.5.6 自动Segment Advisor作业 761

17.5.7 自动检查点调优 761

17.6 Oracle Database 11g的联机功能 762

17.6.1 联机数据重组 762

17.6.2 联机数据重定义 764

17.6.3 动态资源管理 769

17.6.4 联机更改数据库块尺寸 770

17.6.5 为联机维护使用数据库停顿 772

17.6.6 挂起数据库 772

第18章 管理和监控运行中的数据库 773

18.1 Oracle性能统计的类型 773

18.1.1 累计统计 774

18.1.2 样本数据 774

18.1.3 基线数据 774

18.1.4 数据库度量 775

18.2 服务器产生的预警 777

18.3 基线度量和自适应阈值 779

18.3.1 管理预警 779

18.3.2 主动的表空间预警 781

18.3.3 使用预警日志和跟踪文件进行监控 782

18.3.4 与度量和预警有关的数据字典视图 782

18.4 AWR 783

18.4.1 AWR收集的数据的类型 784

18.4.2 AWR数据处理 784

18.4.3 管理AWR 784

18.4.4 移动窗基线 788

18.4.5 AWR基线模板 788

18.5 ASH 793

18.5.1 当前活动会话数据 794

18.5.2 旧的活动会话历史数据 794

18.5.3 生成ASH报告 795

18.6 管理顾问框架 797

18.6.1 管理顾问程序 798

18.6.2 顾问框架的管理 799

18.7 使用撤销和MTTR顾问程序 801

18.7.1 使用撤销顾问程序 801

18.7.2 使用MTTR顾问程序 802

18.8 管理联机重做日志 802

18.8.1 硬件镜像与Oracle的多路复用技术 803

18.8.2 联机重做日志组 803

18.8.3 创建联机重做日志组 803

18.8.4 增加重做日志组 803

18.8.5 重命名重做日志文件 804

18.8.6 删除联机重做日志 804

18.8.7 联机重做日志讹误 804

18.8.8 监控重做日志 805

18.9 管理数据库链接 805

18.9.1 创建私有数据库链接 805

18.9.2 创建公共数据库链接 806

18.9.3 使用Database Control创建数据库链接 807

18.10 比较和会聚数据库对象 807

18.10.1 比较数据 807

18.10.2 会聚数据 809

18.11 用数据库服务器复制文件 810

18.11.1 文件复制的要求 810

18.11.2 复制本地系统中的文件 811

18.11.3 将文件传送到不同的数据库 811

18.12 映射Oracle文件到物理设备 812

18.12.1 文件映射的结构 812

18.12.2 设置文件映射 813

18.13 使用Oracle的调度程序 813

18.13.1 基本的Scheduler部件 813

18.13.2 调度程序作业的类型 814

18.13.3 Scheduler的高级部件 815

18.13.4 Scheduler的体系结构 815

18.13.5 Scheduler的权限 816

18.13.6 管理Scheduler的基本组件 816

18.13.7 管理轻型作业 818

18.13.8 管理外部作业 820

18.13.9 管理Scheduler的高级部件 828

18.13.10 管理Scheduler属性 833

18.13.11 清除作业日志 834

18.13.12 默认的Scheduler作业 834

18.14 自动维护任务 835

18.14.1 预定义维护窗口 835

18.14.2 管理自动维护任务 835

18.14.3 监控自动维护任务 835

18.15 故障诊断 837

18.15.1 自动诊断信息库 838

18.15.2 ADRCI 839

18.15.3 意外事件打包服务 840

18.15.4 Support Workbench 842

18.15.5 Health Monitor 845

18.15.6 用SQL Repair Advisor修复SQL语句 848

18.15.7 SQL Test Case Builder 850

第七部分 性能调优 852

第19章 改进数据库性能:SQL查询优化 852

19.1 Oracle性能调优的方法 852

19.1.1 性能调优的系统性方法 853

19.1.2 被动的性能调优 853

19.2 优化Oracle查询处理 853

19.2.1 语法分析 854

19.2.2 优化 854

19.2.3 查询的执行 856

19.3 查询优化和Oracle CBO 857

19.3.1 选择优化方式 857

19.3.2 为优化程序提供统计数据 857

19.3.3 设置优化程序方式 859

19.3.4 设置优化程序级别 860

19.3.5 优化程序做些什么 860

19.3.6 CBO的缺点 862

19.3.7 为CBO提供统计数据 862

19.3.8 延迟统计数据公布 865

19.3.9 扩展统计数据 866

19.3.10 Oracle优化程序的成本模型 868

19.3.11 收集系统统计数据 868

19.3.12 对字典对象收集统计数据 870

19.3.13 统计数据收集的频率 871

19.3.14 没有统计数据时会发生什么事情 871

19.3.15 使用OEM收集优化程序统计数据 871

19.4 编写高效的SQL 872

19.4.1 高效的WHERE子句 872

19.4.2 使用提示影响执行计划 874

19.4.3 选择最佳的联结方法 875

19.4.4 使用位图联结索引 875

19.4.5 选择最佳的联结次序 876

19.4.6 索引策略 877

19.4.7 监控索引的使用 879

19.4.8 删除不需要的索引 880

19.4.9 使用相似的SQL语句 880

19.4.10 通过内嵌函数减少SQL开销 880

19.4.11 使用绑定变量 881

19.4.12 避免不恰当地使用视图 881

19.4.13 避免不必要的全表扫描 881

19.5 DBA如何帮助改进SQL处理 881

19.5.1 使用分区表 882

19.5.2 使用压缩技术 882

19.5.3 使用实体化视图 882

19.5.4 使用存储大纲保证CBO的稳定性 883

19.6 SQL计划管理 885

19.6.1 SQL计划基线 886

19.6.2 捕捉SQL计划基线 886

19.6.3 SQL管理库 889

19.6.4 使用并行执行 890

19.6.5 其他DBA任务 890

19.7 自适应游标共享 891

19.7.1 自适应游标共享如何工作 892

19.7.2 监控自适应游标共享 893

19.8 SQL性能调优工具 894

19.8.1 使用EXPLAIN PLAN 894

19.8.2 使用Autotrace 898

19.8.3 使用SQL Trace和TKPROF 902

19.9 端到端跟踪 907

19.9.1 使用DBMS_MONITOR程序包 908

19.9.2 使用V$SQL视图查找低效的SQL 910

19.10 SQL Tuning Advisor 912

19.10.1 使用SQL Tuning Advisor 912

19.10.2 SQL Tuning Advisor如何工作 912

19.10.3 SQL Tuning Advisor实践 914

19.10.4 Automatic SQL Tuning Advisor 916

19.10.5 解释自动SQL调优报告 919

19.10.6 使用其他的GUI工具 919

19.11 使用结果高速缓存 920

19.11.1 管理结果高速缓存 920

19.11.2 设置RESULT_CACHE_MODE参数 920

19.11.3 管理结果高速缓存 922

19.11.4 PL/SQL函数结果高速缓存 923

19.11.5 客户机查询结果高速缓存 924

19.12 调优SQL语句的简单方法 925

19.12.1 识别问题语句 925

19.12.2 定位低效资源 925

19.12.3 调优SQL语句 926

19.12.4 比较性能 926

第20章 Oracle性能调优:调优实例 927

20.1 实例调优简介 927

20.2 自动性能调优与动态性能视图 929

20.3 Oracle内存调优 929

20.3.1 共享池调优 930

20.3.2 硬分析和软分析 932

20.3.3 调优缓冲区高速缓存 939

20.3.4 调优大池、流池和Java池 943

20.3.5 调优PGA内存 943

20.4 评估系统性能 947

20.4.1 CPU性能 947

20.4.2 内存 951

20.4.3 磁盘I/O 951

20.5 度量I/O性能 952

20.5.1 I/O是否最佳分布 952

20.5.2 减少磁盘争用 953

20.5.3 最佳磁盘使用的Oracle SAME准则 953

20.5.4 网络性能 954

20.6 度量实例性能 954

20.6.1 数据库命中率 954

20.6.2 数据库等待统计数据 955

20.6.3 等待事件和等待类 956

20.6.4 分析实例性能 956

20.6.5 检查系统性能 971

20.6.6 了解应用程序 972

20.6.7 使用ADDM分析性能问题 973

20.6.8 对各SQL语句使用AWR报告 974

20.6.9 操作系统内存管理 975

20.6.10 用ASH报告分析最近的会话活动 975

20.6.11 当数据库挂起时 976

20.6.12 处理被卡住的归档进程 976

20.6.13 系统使用问题 977

20.6.14 资源的过多争用 977

20.6.15 锁问题 978

20.6.16 进程尺寸的异常增加 978

20.6.17 由于共享池问题导致的延迟 980

20.6.18 由坏统计数据导致的问题 980

20.6.19 在数据库挂起期间收集信息 980

20.6.20 使用Database Control的Hang Analysis页 980

20.7 实例调优的一种简单方法 982

20.7.1 数据库怎么了 983

20.7.2 使用OEM Database Control查看数据库性能 983

20.7.3 存在运行时间很长的事务吗 989

20.7.4 Oracle有问题吗 989

20.7.5 网络正常吗 989

20.7.6 系统是否受到CPU限制 990

20.7.7 系统受到I/O限制吗 990

20.7.8 数据库负荷太高 991

20.7.9 检查与内存有关的问题 991

20.7.10 重做日志的尺寸设置正确吗 991

20.7.11 系统受到等待的限制吗 992

20.7.12 Compare Periods报告 992

20.7.13 排除争用 994

20.8 真应用测试 995

20.8.1 数据库重演 995

20.8.2 SQL性能分析器 1001

附录A Oracle Database 11g SQL和PL/SQL入门知识 1005

返回顶部