《Oracle数据库管理员技术指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Sumit Sarin著;钟鸣,孙登峰等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2001
  • ISBN:7111086031
  • 页数:493 页
图书介绍:本书主要介绍如何管理和优化Ora

第1章 建立和配置数据库 1

1.1 数据库创建规划 1

1.1.1 规划以及提出正确的问题 1

1.1.2 怎样确定恰当的数据块尺寸 2

1.2 组织文件系统 4

1.2.1 怎样命名数据库文件 4

1.2.2 使用最佳灵活结构 5

1.2.3 怎样配置符合OFA的Oracle文件系统 6

1.3 规划数据库文件布局 7

1.3.1 最大化可用性的规划 7

1.3.2 最小化磁盘争用的规划 8

1.4 建立参数文件 8

1.4.2 建立参数文件的连接 11

1.4.1 配置参数的一些注意事项 11

1.4.3 优化数据字典存储 21

1.5 理解CREATE DATABASE命令 22

1.6 创建数据库的技术 25

1.6.1 利用Oracle安装程序创建数据库 25

1.6.2 使用安装程序创建数据库的注意事项 26

1.6.3 怎样建立自己的定制数据库创建脚本 26

1.6.4 如何从已有数据库克隆数据库 27

1.6.5 怎样利用Database Configuration Assistant创建数据库 31

1.7 完成数据库配置 31

1.7.1 创建表空间 31

1.7.2 执行数据字典配置脚本 31

1.7.3 建立另外的回退段 32

1.7.7 启用归档日志方式 34

1.7.6 建立其他用户和模式对象 34

1.7.4 修改SYSTEM用户的缺省和临时表空间 34

1.7.5 更改SYS和SYSTEM的缺省口令 34

1.7.8 进行数据库完全备份 36

1.7.9 配置数据库自动启动和关闭 36

1.7.10 在数据库投入使用之后对其进行监控 36

1.7.11 怎样列出和描述初始化参数 36

1.7.12 怎样列出无记载参数 50

1.8 回顾 69

第2章 管理数据存储、对象和容量 72

2.1 配置数据存储 72

2.1.1 管理可用空间碎片 74

2.1.2 聚集可用空间的技术 76

2.1.4 查找接近MAXEXTENTS值的对象 77

2.1.3 管理区的碎片 77

2.1.5 避免数据字典的碎片 81

2.1.6 本地管理区 82

2.1.7 进行全数据库重组 83

2.1.8 定义区大小和防止碎片的11个技巧 84

2.1.9 避免区出超错误 84

2.1.10 避免空间出超错误 85

2.1.11 使行链接和行迁移最小化 86

2.1.12 怎样检测行链接/行迁移 86

2.1.13 利用脚本检查模式中的链接行 87

2.1.14 消除行链接 90

2.1.15 消除行迁移 90

2.1.17 怎样定义表的大小 91

2.1.16 行链接/行迁移的技巧 91

2.1.18 怎样确定PCTFREE的最佳值 96

2.1.19 怎样决定PCTUSED的最佳值 97

2.1.20 怎样查找每个数据块的可用数据区域 97

2.2 管理程序对象 98

2.2.1 怎样检查无效对象 98

2.2.2 怎样重新编译无效对象 99

2.2.3 在不同表空间之间移动索引 99

2.2.4 怎样查找最高点 100

2.2.5 怎样释放未用空间 101

2.3 DBMS_SPACE程序包 101

2.3.1 使用DBMS_SPACE.UNUSED_SPACE 101

2.4 管理锁争用 103

2.3.2 使用DBMS_SPACE.FREE_BLOCK 103

2.4.1 怎样查找产生锁的SQL语句 105

2.4.2 怎样释放锁 107

2.4.3 怎样删除用户会话 107

2.4.4 怎样从数据字典中提取视图创建命令 108

2.4.5 怎样从数据字典中提取索引定义 110

2.5 回顾 116

第3章 导出和导入技术 119

3.1 导出/导入特性概述 120

3.1.1 使用导出和导入 120

3.1.2 导出/导入的一般使用 122

3.1.3 导出方式 122

3.1.4 导入方式 124

3.1.6 指定导出/导入参数 125

3.1.5 创建必需的数据字典视图 125

3.1.7 在磁带上直接导出和导入数据 126

3.1.8 估计导出文件的大小 127

3.1.9 直接导出压缩文件 127

3.1.10 从压缩导出文件中直接导入 128

3.1.11 创建一致的导出文件 129

3.1.12 检查导出/导入错误 130

3.1.13 用导出和导入管理区 130

3.1.14 组织和命名导出/导入文件 131

3.1.15 显示导出文件的内容 131

3.1.16 不能对恢复同时使用导出和归档重做日志 131

3.1.17 增量、累积和完全的导出和导入 132

3.2.2 对传统的路径导出使用大的BUFFER值 135

3.2.1 使用DIRECT路径导出 135

3.2 怎样优化导出性能 135

3.2.3 对直接路径导出使用RECORDL-ENGHT参数 136

3.3 怎样优化导入参数 136

3.3.1 使用大的回退段 136

3.3.2 创建几个大的联机重做日志文件 136

3.3.3 在导入过程中关闭归档方式 137

3.3.4 分开导出转储文件、数据表空间、回退段和联机重做日志文件 137

3.3.5 最小化检查点 138

3.3.6 单独创建索引 138

3.3.7 设置大的初始化参数SORT_AREA_SIZE 138

3.4.2 导出/导入多个转储文件 139

3.4.1 子分区的导出和导入 139

3.4 Oracle8i的新特性 139

3.3.9 最小化数据库提交次数 139

3.3.8 使用大的导入缓冲区 139

3.4.3 为卸载表的导出过程的选择语句指定一个查询 140

3.4.4 导出/导入预计算优化程序统计数据 140

3.4.5 可移动表空间 141

3.5 回顾 142

第4章 设计高可用性数据库 145

4.1 如何发现和保护“致命的弱点” 145

4.2 复用数据库控制文件 146

4.3 在硬件级上镜像控制文件 147

4.4 镜像和复用的区别 148

4.5 为高可用性选择磁盘类型 148

4.6 常规的RAID技巧 149

4.7 给控制文件增长的空间 150

4.8 如何配置日志组 150

4.9 保护SYSTEM表空间的三种简单方法 151

4.10 为什么必须保护ORACLE_HOME 152

4.11 保护操作系统 152

4.12 如何保护回退段 152

4.13 分类和划分数据 153

4.14 划分表空间的优先次序 153

4.15 如何配置高可用性的TEMP表空间 154

4.16 确保在归档日志目标位置有足够的可用空间 155

4.17 如何调整联机重做日志 155

4.18 通过优化归档速度避免LGWR等待 155

4.20 如何加速实例的恢复 156

4.19 将联机重做日志和归档重做日志文件分开 156

4.21 回顾 157

第5章 使用热备用数据库 159

5.1 什么是失败切换 159

5.2 热备用数据库 159

5.2.1 热备用数据库的优点 161

5.2.2 热备用数据库的缺点 161

5.2.3 建立和配置热备用数据库 164

5.2.4 创建备用数据库作为主数据库的一个子集 166

5.2.5 选择备用站点 166

5.2.6 选择备用节点 167

5.2.7 进行热备用的失败切换 167

5.2.8 关于备用激活要记住的三个要点 168

5.2.10 将归档重做日志自动传送到备用数据库 169

5.2.9 备用激活后的四项工作 169

5.2.11 启动管理恢复 171

5.2.12 只读打开备用数据库 171

5.2.13 热备用数据库的维护 172

5.3 回顾 173

第6章 高级的失败切换方法 176

6.1 将Oracle并行服务器用于失败切换 176

6.2 并行服务器失败切换的优点 179

6.3 并行服务器失败切换的缺点 179

6.4 性能考虑 180

6.5 降低并行服务器失败切换的时间 180

6.6 透明的应用程序失败切换 181

6.7 客户机失败切换的说明 182

6.10 用Oracle复制实现失败切换 183

6.8 将客户机失败切换用于负载平衡 183

6.9 为预定的节点停机使用客户机失败切换 183

6.10.1 基本复制 184

6.10.2 基本复制失败切换的优点 185

6.10.3 基本复制失败切换的缺点 186

6.11 将高级复制用于失败切换 186

6.11.1 高级复制失败切换的优点 188

6.11.2 高级复制失败切换的缺点 188

6.12 利用Oracle Fail Safe 188

6.12.1 选择节点配置 189

6.12.2 Oracle Fail Safe的优点 189

6.13.3 应用程序镜像 190

6.13.2 采用远程镜像 190

6.13.1 鞋带状预算的高可用性:传送备份磁带 190

6.13 其他高可用性的选项 190

6.12.3 Oracle Fail Safe的缺点 190

6.14 利用混合配置技术 191

6.14.1 利用并行服务器与远程热备用数据库 191

6.14.2 利用Oracle Fail Safe与远程热备用数据库 191

6.14.3 利用热备用数据库与远程镜像 191

6.15 回顾 191

第7章 备份和恢复技术 194

7.1 备份选项 194

7.2 操作系统备份 195

7.2.1 冷备份 195

7.2.2 OFA和备份 195

7.2.4 使备份方式的持续时间最小化 196

7.2.3 热备份 196

7.2.5 为什么不应备份联机重做日志 197

7.2.6 ARCHIVELOG和NOARCHIV-ELOG方式 197

7.2.7 为什么应使用ARCHIVELOG方式 198

7.2.8 为什么应该复用归档重做日志 199

7.3 服务器管理备份 199

7.4 逻辑备份 201

7.4.1 文本文件备份 201

7.4.2 逻辑控制文件备份 208

7.4.3 使用导出和导入 209

7.4.4 导入方式 210

7.4.5 增量、累积和完全的导出和导入 211

7.4.6 创建一致的导出文件 212

7.4.7 不能同时使用导出和归档重做日志进行恢复 213

7.5 开发备份和恢复计划 214

7.5.1 常规的备份技巧 214

7.5.2 快速备份的技巧 215

7.6 恢复策略和情况 215

7.7 各种需要恢复的情形 218

7.8 恢复丢失的数据文件 219

7.8.1 SYSTEM数据文件的丢失 219

7.8.2 包含活动回退段的数据文件的丢失 221

7.8.3 其他数据文件的丢失 221

7.8.4 执行表空间恢复 221

7.8.5 执行数据文件恢复 222

7.8.6 在没有数据文件备份时怎样进行恢复 223

7.9 恢复联机重做日志 224

7.8.9 索引表空间丢失 224

7.8.8 只读表空间丢失 224

7.8.7 恢复丢失的临时表空间 224

7.9.1 联机重做日志组某个成员丢失 225

7.9.2 非活动的重做日志组丢失 225

7.9.3 活动重做日志组丢失 226

7.10 恢复丢失的控制文件 227

7.10.1 被复用的控制文件成员丢失 227

7.10.2 控制文件完全丢失 227

7.11 回顾 228

第8章 性能优化 231

8.1 优化系统全局区域的技术 231

8.1.1 怎样优化数据缓冲区高速缓存 232

8.1.2 度量和优化库高速缓存的性能 233

8.1.3 度量和优化字典高速缓存的性能 234

8.1.4 怎样估计应用程序的效能 234

8.2 固定应用程序代码 235

8.2.1 怎样确定应该固定的对象 235

8.2.2 怎样确定当前固定的程序对象 236

8.2.3 怎样固定应用程序代码 236

8.2.4 使用DBMS_SHARED_POOL.KEEP的技巧 237

8.2.5 怎样生成进行固定操作的脚本 238

8.2.6 使用DBMS_SHARED POOL.UNKEEP的技巧 239

8.3 优化数据排序的技术 240

8.3.1 在内存中进行全部或大部分排序 240

8.3.2 最小化排序时的空间管理开销 240

8.4.1 使行链接和行迁移最小化 241

8.4 优化数据存储的技术 241

8.3.3 使用多个TEMP表空间分布排序 241

8.4.2 检测行链接/迁移 242

8.4.3 确定模式中的链接行 243

8.4.4 防止和纠正行链接/迁移 244

8.4.5 行链接/迁移的技巧 246

8.4.6 使可用空间碎片最小化 247

8.4.7 使区增长最小化 247

8.4.8 怎样确定代价最高的查询 249

8.5 跟踪SQL 250

8.5.1 设置用户会话内的跟踪 251

8.5.2 使用DBMS_SYSTEM设置用户会话外的跟踪 251

8.5.3 生成系统跟踪 252

8.5.4 使用tkprof解释跟踪文件 252

8.5.5 使用AUTOTRACE获得SQL语句执行计划和统计数据 253

8.6 优化回退段 254

8.6.1 最小化回退段争用 254

8.6.2 使动态扩充最小化 255

8.6.3 分布回退段的I/O 255

8.7 优化索引 256

8.7.1 怎样确定和重建产生碎片的索引 256

8.7.2 怎样确定表的索引 256

8.8 优化磁盘I/O 257

8.8.1 怎样查找和避免I/O热点 258

8.8.2 使用原始文件系统 259

8.9 生成优化程序统计数据 259

8.9.1 使用DBMS_UTILITY.ANALYZE_SCHEMA收集统计数据 260

8.10.1 怎样优化Net8/SQL*Net 261

8.10 优化环境 261

8.9.2 使用DBMS_UTILITY.ANALYZE_DATABASE收集统计数据 261

8.9.3 使用DBMS_STATS收集性能统计数据 261

8.10.2 监控并优化系统资源 262

8.11 回顾 263

第9章 Oracle8i的新特性 267

9.1 新的性能优化特性 267

9.1.1 设计的稳定性和存储概要 267

9.1.2 排序改进 268

9.1.3 实体化视图 268

9.1.4 利用DBMS_STATS收集性能统计数据 268

9.2.3 降序索引 269

9.2.2 反向键索引 269

9.2.1 基于函数的索引 269

9.2 新索引类型 269

9.2.4 索引编排表 270

9.2.5 管理索引的新特性 270

9.3 新备份和恢复特性 270

9.3.1 多目标归档 270

9.3.2 多归档日志进程 271

9.3.3 使用LogMiner 271

9.3.4 快速启动恢复 272

9.4 新导出/导入特性 272

9.4.1 使用多个导出/导入转储文件 272

9.4.2 选择性的查询导出 273

9.4.3 预先计算优化程序统计数据的导出/导入 273

9.4.5 混合导出/导入特性 274

9.4.4 可移动表空间 274

9.5 新备用数据库特性 275

9.5.1 归档重做日志的自动传送 275

9.5.2 启用管理恢复 276

9.5.3 以只读方式打开备用数据库 277

9.6 管理作业队列的新特性 277

9.7 管理存储和对象的新功能 278

9.7.1 重新定位和组织表 278

9.7.2 删除表中的列 278

9.7.3 将表列标记为不可用 279

9.7.4 本地管理的表空间 279

9.8 回顾 280

10.1 Oracle8i—Internet数据库 283

第1O章 Internet DBA 283

10.2 Oracle与Java 284

10.3 Oracle8i Java虚拟机 284

10.4 Java VM与Oracle 8i服务器怎样通讯 286

10.5 Java与Oracle应用程序服务器 286

10.6 Oracle Jdeveloper 287

10.7 与Java有关的初始化参数 287

10.8 Oracle Internet文件系统 287

10.9 Oracle应用服务器概览 288

10.10 OAS组件 289

10.11 调整OAS内存请求 292

10.12 检查建议的最小硬件 293

10.13 设计Oracle应用服务器配置 293

10.14 Oracle应用服务器的安装 294

10.16 怎样启动和停止OAS组件 302

10.15 使用OAS管理程序 302

10.17 OAS怎样利用负载平衡 303

10.18 监控CPU的消耗情况 303

10.19 监控内存消耗 304

10.20 回顾 304

第11章 使用Oracle提供的程序包 306

11.1 DBMS_JOB和DBMS_IJOB程序包 308

11.1.1 Oracle作业队列的概念 308

11.1.2 配置SNP进程的技巧 309

11.1.3 利用DBMS_JOB和DBMS_IJOB 310

11.1.4 调度作业 312

11.1.5 更改作业 313

11.1.6 停止作业 315

11.1.7 其他作业队列过程 316

11.1.8 监控作业队列 316

11.1.9 管理属于其他用户的作业 316

11.1.10 利用作业队列定期分析模式对象 317

11.2 DBMS_SYSTEM程序包 317

11.2.1 使用DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION 317

11.2.2 使用DBMS_SYSTEM.SET_EV 319

11.2.3 使用DBMS_SYSTEM.READ_EV 320

11.2.4 确定当前会话中设置的事件级别 320

11.2.5 其他DBMS_SYSTEM程序 322

11.3 DBMS_SPACE程序包 322

11.3.1 使用DBMS_SPACE.UNUSED_SPACE 322

11.4 DBMS_SHARED_POOL程序包 324

11.3.2 使用DBMS_SPACE.FREE_BLOCKS 324

11.4.1 使用DBMS_SHARED_POOL.SIZES过程 325

11.4.2 使用DBMS_SHARED_POOL.SIZES的技巧 325

11.4.3 使用DBMS_SHARED_POOL.KEEP过程 325

11.4.4 使用DBMS_SHARED_POOL.KEEP的技巧 327

11.4.5 使用DBMS_SHARED_POOL.UNKEEP过程 328

11.4.6 使用DBMS_SHARED_POOL.UNKEEP的技巧 328

11.4.7 使用DBMS_SHARED_POOL.ABORTED_REQUEST_THRESHOLD过程 329

11.4.8 使用DBMS_SHARED_POOL.ABORTED_REQUEST_THRESHOLD的技巧 329

11.5 DBMS_UTILITY 330

11.5.1 使用DBMS_UTILITY.COMPILE_SCHEMA过程 330

11.5.2 使用DBMS_UTILITY.COMPILE_SCHEMA的技巧 331

11.5.3 使用DBMS_UTILITY.ANALYZE_SCHEMA 331

11.5.5 使用DBMS_UTILITY.GET_PARAMETER_VALUE 332

11.5.4 使用DBMS_UTILITY.ANALYZE_DATABASE 332

11.5.6 使用DBMS_UTILITY.PORT_STRING 333

11.5.7 使用DBMS_UTILITY.DB_VERSION 333

11.5.8 使用DBMS_UTILlTY.MAKE_DATA_BLOCK_ADDRESS 334

11.5.9 使用DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE 334

11.5.10 使用DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK 334

11.5.11 使用DBMS_UTILITY.IS_PARALLEL_SERVER 335

11.5.12 使用DBMS_UTILITY.CURRENT_INSTANCE 335

11.5.13 使用DBMS_UTILlTY.ACTIVE_INSTANCES 335

11.6 DBMS_ROWID 335

11.6.1 使用DBMS_ROWID.ROWID_BLOCK_NUMBER 336

11.6.2 使用DBMS_ROWID.ROWID_CREATE 336

11.6.6 使用DBMS_ROWID.ROWID_TO_ABSOLUTE_FNO 337

11.6.5 使用DBMS_ROWID.ROWID_ROW_NUMBER 337

11.6.4 使用DBMS_ROWID.ROWID_RELATIVE_FNO 337

11.6.3 使用DBMS_ROWID.ROWID_OBJECT 337

11.6.7 使用DBMS_ROWID.ROWID_TO_EXTENDED 338

11.6.8 使用DBMS_ROWID.ROWID_TO_RESTRICTED 338

11.6.9 使用DBMS_ROWID.ROWID_TYPE 338

11.6.10 使用DBMS_ROWID.ROWID_VERIFY 339

11.6.11 使用DBMS_ROWID.ROWID_INFO 339

11.7 回顾 339

第12章 Oracle安装和升级 344

12.1 Oracle软件 345

12.2 Oracle数据库 345

12.3.2 怎样配置一个符合OFA的Oracle文件系统 346

12.3.1 最佳灵活结构 346

12.3 配置Oracle文件系统 346

12.3.3 怎样命名数据库文件 348

12.3.4 为什么应对参数文件使用链接 349

12.4 安装Oracle服务器软件 349

12.5 安装前阶段 351

12.5.1 规则1:确保软件产品版本的兼容性 351

12.5.2 规则2:为Oracle配置操作系统 352

12.5.3 规则3:分配足够的磁盘空间 353

12.5.4 规则4:配置安装环境 355

12.6 安装阶段 356

12.6.1 步骤1:配置安装环境 356

12.6.2 步骤2:启动Oracle安装 357

12.7 安装后阶段:坚持五点 358

12.7.1 步骤1:检查错误 358

12.6.3 步骤3:选择和安装软件产品 358

12.7.2 步骤2:运行root.sh脚本 359

12.7.3 步骤3:验证文件的许可权 360

12.7.4 步骤4:测试Oracle安装 360

12.7.5 步骤5:配置环境 360

12.7.6 其他安装后的任务 360

12.8 快速进行Oracle安装的五个技巧 361

12.8.1 从硬盘的准备区域进行安装 361

12.8.2 不安装文档 361

12.8.3 不安装产品的文档 361

12.8.4 不选择重新连接可执行文件 361

12.8.5 设置环境变量DEF_INSTALL=TRUE和NO_README=TRUE 361

12.9 在Windows NT上安装Oracle 361

12.9.1 安装前阶段 361

12.9.2 安装阶段 362

12.9.3 安装后阶段 363

12.10 修补、升级和移植Oracle 363

12.10.1 始终将Oracle软件安装到新的ORACLE_HOME目录中 365

12.10.2 数据库升级前进行数据库冷备份 365

12.10.3 移植Oracle 367

12.10.4 使用Migration Utility移植到Oracle 8.0.x 367

12.10.5 用导出和导入移植 369

12.11 安装UNIX上的Oracle 8 370

12.11.1 安装前阶段 370

12.11.2 安装阶段 373

12.11.3 安装后阶段 374

12.12 回顾 376

附录A Oracle服务器介绍 378

附录B 动态性能(V$)视图 413