《Oracle Database 12c完全参考手册 第7版》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:(美)布莱拉,(美)罗尼著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302396376
  • 页数:871 页
图书介绍:本书涵盖Oracle数据库安装、配置、编程、调优、管理全方面的知识,包括创建和填充Oracle数据库、进行数据库查询、设计应用程序、保护企业数据等,以及安装、配置、调优和管理数据库等DBA常用技能。附录提供了常用命令、关键字、函数和Oracle Database 12c增强特性。

第Ⅰ部分 数据库核心概念 3

第1章 Oracle Database 12c架构选件 3

1.1 数据库和实例 4

1.2 数据库技术 5

1.2.1 存储数据 6

1.2.2 数据保护 7

1.2.3 可编程的结构 8

1.3 选择体系结构和选件 9

第2章 安装Oracle Database 12c和创建数据库 11

2.1 许可证和安装选项概览 13

2.2 安装Oracle软件 13

2.2.1 安装Grid Infrastructure 13

2.2.2 安装Oracle数据库 16

第3章 升级到Oracle Database 12c 19

3.1 选择升级方法 20

3.2 升级之前的准备 21

3.3 升级Grid Infrastructure和数据库 22

3.3.1 升级Grid Infrastructure 22

3.3.2 升级数据库 25

3.4 升级之后的工作 32

第4章 规划Oracle应用程序——方法、风险和标准 33

4.1 协作方法 34

4.2 每个人都有“数据” 35

4.3 熟悉的Oracle语言 36

4.3.1 存储信息的表 36

4.3.2 结构化查询语言 37

4.3.3 简单的Oracle查询 37

4.3.4 为什么称作“关系” 39

4.4 一些通用的、常见的示例 40

4.5 风险所在 42

4.6 新视角的重要性 43

4.6.1 变化的环境 43

4.6.2 代码、缩写和命名标准 43

4.7 如何减少混淆 45

4.7.1 规范化 45

4.7.2 表和列的英文名称 49

4.7.3 数据中的英文单词 50

4.8 名称和数据中的大写 51

4.9 规范化名称 51

4.10 人性化和优秀的设计 52

4.10.1 理解应用程序的任务 52

4.10.2 任务概要 53

4.11 理解数据 55

4.11.1 原子数据模型 56

4.11.2 原子业务模型 57

4.11.3 业务模型 57

4.11.4 数据项 57

4.11.5 查询和报告 57

4.12 关于对象名称的规范化 58

4.12.1 级别-名称完整性 58

4.12.2 外键 59

4.12.3 单数名称 59

4.12.4 简洁 60

4.12.5 对象名辞典 60

4.13 智能键和列值 60

4.14 建议 61

第Ⅱ部分 SQL和SQL*Plus 65

第5章 SQL中的基本语法 65

5.1 样式 67

5.2 创建NEWSPAPER表 67

5.3 用SQL从表中选择数据 68

5.4 select、from、where和order by 71

5.5 逻辑和值 73

5.5.1 单值测试 74

5.5.2 值列表的简单测试 79

5.5.3 组合逻辑 81

5.6 WHERE的另一个用途:子查询 82

5.6.1 从子查询得到单值 83

5.6.2 从子查询得到值列表 84

5.7 组合表 85

5.8 创建视图 87

5.9 扩展视图 89

第6章 基本的SQL*Plus报表和命令 91

6.1 构建简单的报表 93

6.1.1 REMARK 95

6.1.2 SET HEADSEP 96

6.1.3 TTITLE和BTITLE 96

6.1.4 COLUMN 96

6.1.5 BREAK ON 97

6.1.6 COMPUTE AVG 98

6.1.7 SET LINESIZE 99

6.1.8 SET PAGESIZE 99

6.1.9 SET NEWPAGE 99

6.1.10 SPOOL 100

6.1.11 /** 101

6.1.12 关于列标题的一些说明 101

6.2 其他特性 102

6.2.1 命令行编辑器 102

6.2.2 设置停顿 105

6.2.3 保存 106

6.2.4 存储 106

6.2.5 编辑 106

6.2.6 HOST 107

6.2.7 添加SQL*Plus命令 108

6.2.8 START 108

6.3 检查SQL*Plus环境 108

6.4 构件块 110

第7章 文本信息的收集与更改 111

7.1 数据类型 112

7.2 什么是串 112

7.3 表示法 113

7.4 连接符(‖) 114

7.5 剪切和粘贴串 116

7.5.1 RPAD和LPAD 116

7.5.2 LTRIM、RTRIM和TRIM 117

7.5.3 组合两个函数 118

7.5.4 使用TRIM函数 120

7.5.5 再次使用填充函数 121

7.5.6 LOWER、UPPER和INITCAP 121

7.5.7 LENGTH 122

7.5.8 SUBSTR 123

7.5.9 INSTR 126

7.5.10 ASCII和CHR 130

7.6 在ORDER BY和WHERE子句中使用串函数 130

7.6.1 SOUNDEX 132

7.6.2 国际语言支持 133

7.6.3 正则表达式支持 133

7.7 小结 133

第8章 正则表达式搜索 135

8.1 搜索串 136

8.2 REGEXP_SUBSTR 139

8.3 REGEXP_INSTR 141

8.4 REGEXP_LIKE 142

8.5 REPLACE和REGEXP_REPLACE 143

8.6 REGEXP_COUNT 148

第9章 数值处理 151

9.1 三类数值函数 151

9.2 表示法 152

9.3 单值函数 152

9.3.1 加减乘除 153

9.3.2 NULL 153

9.3.3 NVL:空值置换函数 154

9.3.4 ABS:绝对值函数 155

9.3.5 CEIL 155

9.3.6 FLOOR 156

9.3.7 MOD 156

9.3.8 POWER 157

9.3.9 SQRT:求平方根 157

9.3.10 EXP、LN和LOG 158

9.3.11 ROUND和TRUNC 158

9.3.12 SIGN 160

9.3.13 SIN、SINH、COS、COSH、TAN、TANH、ACOS、ATAN、ATAN2和ASIN 160

9.4 聚集函数 160

9.4.1 组值函数中的NULL 160

9.4.2 单值函数和组值函数的示例 162

9.4.3 AVG、COUNT、MAX、MIM和SUM 162

9.4.4 组值函数和单值函数的组合 163

9.4.5 STDDEV和VARIANCE 165

9.4.6 组函数中的DISTINCT 165

9.5 列表函数 166

9.6 使用MAX或MIN函数查找行 168

9.7 优先级和圆括号的应用 169

9.8 小结 170

第10章 日期:过去、现在及日期的差 173

10.1 日期算法 173

10.1.1 SYSDATE、CURRENT_DATE及SYSTIMESTAMP 174

10.1.2 两个日期的差 175

10.1.3 添加月份 176

10.1.4 减少月份 176

10.1.5 GREATEST和LEAST 176

10.1.6 NEXT_DAY 178

10.1.7 LAST_DAY 179

10.1.8 MOMTHS_BETWEEN 179

10.1.9 组合日期函数 180

10.2 日期计算中的ROUND和TRUNC 181

10.3 使用TO DATE和TO_CHAR设置日期格式 181

10.3.1 最常见的TO_CHAR错误 186

10.3.2 NEW_TIME:切换时区 187

10.3.3 TO_DATE计算 187

10.4 WHERE子句中的日期 189

10.5 处理多个世纪 191

10.6 使用EXTRACT函数 191

10.7 使用TIMESTAMP数据类型 192

第11章 转换函数与变换函数 195

11.1 基本的转换函数 197

11.1.1 数据类型的自动转换 199

11.1.2 关于自动转换的注意事项 202

11.2 特殊的转换函数 202

11.3 变换函数 203

11.3.1 TRANSLATE 203

11.3.2 DECODE 204

11.4 小结 205

第12章 分组函数 207

12.1 GROUP BY和HAVING的用法 207

12.1.1 添加ORDER BY子句 209

12.1.2 执行顺序 210

12.2 分组视图 212

12.3 用别名重命名列 213

12.4 分组视图的功能 214

12.4.1 在视图中使用ORDER BY 215

12.4.2 HAVING子句中的逻辑 216

12.4.3 对列和分组函数进行排序 217

12.4.4 连接列 218

12.5 更多分组可能性 218

第13章 当一个查询依赖于另一个查询时 219

13.1 高级子查询 219

13.1.1 相关子查询 220

13.1.2 并列的逻辑测试 221

13.1.3 EXISTS及其相关子查询的使用 223

13.2 外部连接 225

13.2.1 Oracle 9i以前版本中的外部连接语法 225

13.2.2 现在的外部连接语法 227

13.2.3 用外部连接代替NOT IN 228

13.2.4 用NOT EXISTS代替NOT IN 230

13.3 自然连接和内部连接 231

13.4 UNION、INTERSECT和MINUS 232

13.4.1 IN子查询 235

13.4.2 UNION、INTERSECT和MINUS的限制 235

第14章 一些复杂的技术 237

14.1 复杂的分组 237

14.2 使用临时表 239

14.3 使用ROLLUP、GROUPING和CUBE 240

14.4 家族树和CONNECT BY 244

14.4.1 排除个体和分支 248

14.4.2 向根遍历 249

14.4.3 找出叶节点 251

14.4.4 基本规则 252

第15章 更改数据:插入、更新、合并和删除 253

15.1 插入 253

15.1.1 插入时间 254

15.1.2 用SELECT插入 255

15.1.3 使用APPEND提示改善插入性能 256

15.2 ROLLBACK、COMMIT和AUTOCOMMIT命令 256

15.2.1 使用SAVEPOINT 257

15.2.2 隐式提交 258

15.2.3 自动回滚 258

15.3 多表插入 259

15.4 DELETE命令 263

15.5 UPDATE命令 264

15.5.1 用嵌入式SELECT进行更新 265

15.5.2 用NULL更新 266

15.6 使用MERGE命令 266

15.7 处理错误 269

第16章 DECODE和CASE:SQL中的if-then-else 271

16.1 if-then-else 271

16.2 通过DECODE替换值 275

16.3 DECODE中的DECODE 276

16.4 DECODE中的大于和小于 279

16.5 使用CASE 281

16.6 使用PIVOT 284

第17章 创建和管理表、视图、索引、集群和序列 287

17.1 创建表 287

17.1.1 字符宽度和数值精度 289

17.1.2 在插入时进行舍入 290

17.1.3 在CREATE TABLE中定义约束 292

17.1.4 指定索引表空间 293

17.1.5 命名约束 294

17.2 删除表 295

17.3 更改表 296

17.3.1 添加或修改列的规则 298

17.3.2 创建只读表 299

17.3.3 更改当前使用的表 299

17.3.4 创建虚拟列 300

17.3.5 删除列 301

17.4 根据一个表创建另一个表 302

17.5 创建索引组织表 303

17.6 创建视图 304

17.6.1 视图的稳定性 305

17.6.2 视图中的ORDER BY 306

17.6.3 创建只读视图 306

17.7 索引 307

17.7.1 创建索引 307

17.7.2 实施唯一性 308

17.7.3 创建唯一索引 308

17.7.4 创建位图索引 309

17.7.5 何时创建索引 310

17.7.6 创建不可见索引 310

17.7.7 索引列的变化 310

17.7.8 一个表能使用的索引数目 311

17.7.9 在数据库中放置索引 311

17.7.10 重建索引 312

17.7.11 基于函数的索引 312

17.8 集群 313

17.9 序列 314

第18章 分区 317

18.1 创建分区表 318

18.2 列表分区 320

18.3 创建子分区 320

18.4 创建引用分区和间隔分区 321

18.4.1 引用分区 321

18.4.2 间隔分区 322

18.5 索引分区 323

18.6 管理分区表 323

第19章 Oracle基本安全 325

19.1 用户、角色和权限 325

19.1.1 创建用户 326

19.1.2 密码管理 326

19.1.3 标准角色 330

19.1.4 GRANT命令的格式 331

19.1.5 撤消权限 331

19.2 可以授予用户何种权限 332

19.2.1 使用CONNECT切换到另一个用户 334

19.2.2 创建同义词 337

19.2.3 使用未授权的权限 337

19.2.4 权限的传递 337

19.2.5 创建角色 339

19.2.6 为角色授权 339

19.2.7 将一个角色授予另一个角色 340

19.2.8 为用户授予角色 340

19.2.9 为角色添加密码 340

19.2.10 删除角色的密码 341

19.2.11 启用和禁用角色 341

19.2.12 撤消角色的权限 342

19.2.13 删除角色 342

19.2.14 给指定的列授予UPDATE权限 343

19.2.15 撤消对象权限 343

19.2.16 用户安全性 343

19.2.17 给public授予访问权 345

19.3 有限资源的授权 345

第Ⅲ部分 进阶 349

第20章 高级安全性——虚拟专用数据库 349

20.1 初始配置 350

20.2 创建应用程序上下文 351

20.3 创建登录触发器 353

20.4 创建安全策略 354

20.5 将安全策略应用于表 355

20.6 测试VPD 355

20.7 如何实现列级别的VPD 357

20.8 如何禁用VPD 357

20.9 如何使用策略组 359

第21章 高级安全性:透明数据加密 361

21.1 列的透明数据加密 361

21.1.1 设置TDE以便使用加密列 362

21.1.2 RAC数据库的额外设置 363

21.1.3 钱夹的打开和关闭 363

21.1.4 列的加密和解密 364

21.2 表空间的加密 365

21.2.1 在表空间上设置TDE 365

21.2.2 创建加密的表空间 366

第22章 使用表空间 367

22.1 表空间与数据库的结构 367

22.1.1 表空间内容 368

22.1.2 表空间中的RECYCLEBIN空间 370

22.1.3 只读表空间 371

22.1.4 无日志表空间 371

22.1.5 临时表空间 372

22.1.6 用于系统管理撤消的表空间 372

22.1.7 大文件表空间 372

22.1.8 加密的表空间 373

22.1.9 支持闪回数据库 373

22.1.10 移动表空间 373

22.2 规划表空间的使用 374

22.2.1 分离活动表与静态表 374

22.2.2 分离索引与表 374

22.2.3 分离大对象与小对象 374

22.2.4 将应用程序表与核心对象分开 375

第23章 用SQL*Loader加载数据 377

23.1 控制文件 378

23.2 开始加载 379

23.3 逻辑记录与物理记录 382

23.4 控制文件语法注释 383

23.5 管理数据加载 385

23.6 重复数据加载 385

23.7 调整数据加载 386

23.8 直接路径加载 387

23.9 SQL*Loader Express Mode 389

23.10 附加功能 390

第24章 使用Data Pump Export和Data Pump Import 391

24.1 创建目录 392

24.2 Data Pump Export选项 392

24.3 启动Data Pump Export作业 395

24.3.1 停止和重新启动运行的作业 396

24.3.2 从另一个数据库中导出 397

24.3.3 使用EXCLUDE、INCLUDE和QUERY 397

24.4 Data Pump Import选项 398

24.5 启动Data Pump Import作业 401

24.5.1 停止和重新启动运行的作业 402

24.5.2 EXCLUDE、INCLUDE和QUERY 403

24.5.3 生成SQL 403

第25章 访问远程数据 407

25.1 数据库链接 407

25.1.1 数据库链接是如何工作的 408

25.1.2 利用数据库链接进行远程查询 408

25.1.3 对同义词和视图使用数据库链接 409

25.1.4 利用数据库链接进行远程更新 410

25.1.5 数据库链接的语法 411

25.2 为位置透明性使用同义词 414

25.3 在视图中使用USER伪列 415

第26章 使用物化视图 417

26.1 功能 417

26.2 必需的系统权限 418

26.3 必需的表权限 419

26.4 只读物化视图与可更新的物化视图 419

26.5 创建物化视图的语法 419

26.5.1 物化视图的类型 423

26.5.2 基于ROWID和基于主键的物化视图 423

26.5.3 使用预建表 423

26.5.4 为物化视图表创建索引 424

26.6 用物化视图更改查询执行路径 424

26.7 使用DBMS ADVISOR 425

26.8 刷新物化视图 428

26.8.1 可执行何种刷新 428

26.8.2 用CONSIDER FRESH快速刷新 431

26.8.3 自动刷新 432

26.8.4 人工刷新 432

26.9 创建物化视图日志的语法 434

26.10 更改物化视图和日志 435

26.11 删除物化视图和日志 435

第27章 使用Oracle Text进行文本搜索 437

27.1 将文本添加到数据库中 437

27.2 文本查询和文本索引 439

27.2.1 文本查询 439

27.2.2 可用的文本查询表达式 440

27.2.3 精确匹配单个单词的搜索 440

27.2.4 精确匹配多个单词的搜索 441

27.2.5 短语精确匹配的搜索 445

27.2.6 搜索互相接近的单词 446

27.2.7 在搜索中使用通配符 446

27.2.8 搜索具有相同词根的单词 447

27.2.9 模糊匹配搜索 448

27.2.10 搜索发音相似的词 449

27.2.11 使用ABOUT运算符 450

27.2.12 索引同步 451

27.3 索引集 451

第28章 使用外部表 453

28.1 访问外部数据 454

28.2 创建外部表 455

28.2.1 外部表创建选项 458

28.2.2 创建时加载外部表 464

28.3 更改外部表 465

28.3.1 ACCESS PARAMETERS子句 465

28.3.2 ADD COLUMN子句 466

28.3.3 DEFAUIT DIRECTORY子句 466

28.3.4 DROP COLUMN子句 466

28.3.5 LOCATION子句 466

28.3.6 MODIFY COLUMN子句 466

28.3.7 PARALLEL子句 466

28.3.8 PROJECT COLUMN子句 466

28.3.9 REJECT LIMIT子句 466

28.3.10 RENAME TO子句 466

28.4 外部表的优缺点和潜在用途 467

第29章 使用闪回查询 469

29.1 基于时间的闪回示例 470

29.2 保存数据 471

29.3 基于SCN的闪回示例 472

29.4 闪回查询失败的后果 473

29.5 什么SCN与每一行关联 474

29.6 闪回版本查询 475

29.7 闪回计划 478

第30章 闪回:表和数据库 479

30.1 FLASHBACK TABLE命令 479

30.1.1 必需的权限 480

30.1.2 恢复删除的表 480

30.1.3 启用和禁用回收站 481

30.1.4 闪回SCN或时间戳 482

30.1.5 索引和统计信息 483

30.2 FLASHBACK DATABASE命令 483

第31章 SQL重放 487

31.1 高级别配置 487

31.1.1 分离和连接 488

31.1.2 创建工作负载目录 488

31.2 捕获工作负载 489

31.2.1 定义过滤器 489

31.2.2 启动捕获 490

31.2.3 停止捕获 491

31.2.4 导出AWR数据 491

31.3 处理工作负载 491

31.4 重放工作负载 492

31.4.1 控制和启动重放客户 492

31.4.2 初始化和运行重放 493

31.4.3 导出AWR数据 494

第Ⅳ部分 PL/SQL 497

第32章 PL/SQL简介 497

32.1 PL/SQL概述 497

32.2 声明部分 498

32.3 可执行命令部分 501

32.3.1 条件逻辑 503

32.3.2 循环 504

32.3.3 case语句 512

32.4 异常处理部分 514

第33章 应用程序在线升级 517

33.1 高可用数据库 517

33.1.1 Oracle Data Guard(数据卫士)体系结构 518

33.1.2 创建备用数据库配置 519

33.1.3 管理角色——切换和故障转移 521

33.2 最小化DDL变更的影响 524

33.2.1 创建虚拟列 524

33.2.2 改变正在使用的表 525

33.2.3 添加NOT NULL列 525

33.2.4 在线对象重新组织 525

33.2.5 删除列 528

第34章 触发器 531

34.1 必需的系统权限 531

34.2 必需的表权限 532

34.3 触发器的类型 532

34.3.1 行级触发器 532

34.3.2 语句级触发器 532

34.3.3 BEFORE和AFTER触发器 533

34.3.4 INSTEAD OF触发器 533

34.3.5 模式触发器 533

34.3.6 数据库级触发器 533

34.3.7 复合触发器 534

34.4 触发器语法 534

34.4.1 DML触发器类型的组合 536

34.4.2 设置插入值 537

34.4.3 维护复制的数据 538

34.4.4 定制错误条件 539

34.4.5 在触发器中调用过程 541

34.4.6 命名触发器 542

34.4.7 创建DDL事件触发器 542

34.4.8 创建数据库事件触发器 546

34.4.9 创建复合触发器 546

34.5 启用和禁用触发器 548

34.6 替换触发器 549

34.7 删除触发器 549

第35章 过程、函数与程序包 551

35.1 必需的系统权限 552

35.2 必需的表权限 553

35.3 过程与函数 553

35.4 过程与程序包 554

35.5 CREATE PROCEDURE语法 554

35.6 CREATE FUNCTION语法 556

35.6.1 在过程中引用远程表 558

35.6.2 调试过程 559

35.6.3 创建自己的函数 560

35.6.4 定制错误条件 561

35.6.5 命名过程和函数 563

35.7 CREATE PACKAGE语法 563

35.8 查看过程对象的源代码 566

35.9 编译过程、函数和程序包 567

35.10 替换过程、函数和程序包 567

35.11 删除过程、函数和程序包 568

第36章 使用本地动态SQL和DBMS_SQL 569

36.1 使用EXECUTE IMMEDIATE 569

36.2 使用绑定变量 571

36.3 使用DBMS_SQL 572

36.3.1 OPEN_CURSOR 573

36.3.2 PARSE 573

36.3,3 BIND_VARIABLE和BIND_ARRAY 574

36.3.4 EXECUTE 574

36.3.5 DEFINE_COLUMN 574

36.3.6 FETCH_ROWS、EXECUTE_AND_FETCH和COLUMN_VALUE 575

36.3.7 CLOSE_CURSOR 575

第37章 PL/SQL调整 577

37.1 调整SQL 577

37.2 调整PL/SQL的步骤 578

37.3 在SQL语句中使用PL/SQL 579

37.4 使用DBMS_PROFILE识别问题 580

37.5 将PL/SQL特性用于批量操作 585

37.5.1 forall 586

37.5.2 bulk collect 588

第Ⅴ部分 面向对象数据库 593

第38章 实现对象类型、对象视图和方法 593

38.1 使用对象类型 593

38.1.1 对象类型的安全性 594

38.1.2 索引对象类型属性 597

38.2 实现对象视图 598

38.2.1 通过对象视图操作数据 601

38.2.2 使用INSTEAD OF触发器 601

38.3 方法 604

38.3.1 创建方法的语法 604

38.3.2 管理方法 606

第39章 收集器(嵌套表和可变数组) 607

39.1 可变数组 607

39.1.1 创建可变数组 608

39.1.2 描述可变数组 608

39.1.3 向可变数组中插入记录 609

39.1.4 从可变数组中选择数据 611

39.2 嵌套表 613

39.2.1 指定嵌套表的表空间 614

39.2.2 向嵌套表中插入记录 615

39.2.3 使用嵌套表 616

39.3 嵌套表与可变数组的附加函数 617

39.4 嵌套表和可变数组的管理问题 618

39.4.1 收集器的可变性 618

39.4.2 数据的位置 619

第40章 使用大对象 621

40.1 可用的数据类型 621

40.2 为LOB数据指定存储参数 623

40.3 LOB值的操作和选择 625

40.3.1 初始化值 626

40.3.2 用子查询插入数据 628

40.3.3 更新LOB值 628

40.3.4 使用串函数处理LOB值 629

40.3.5 使用DBMS LOB操作LOB值 630

40.3.6 删除LOB 646

第41章 面向对象的高级概念 647

41.1 行对象和列对象 648

41.2 对象表和OID 648

41.2.1 把行插入对象表 649

41.2.2 从对象表中选择值 649

41.2.3 从对象表中更新和删除数据 650

41.2.4 使用REF函数 651

41.2.5 使用DEREF函数 651

41.2.6 使用VALUE函数 654

41.2.7 无效引用 655

41.3 具有REF的对象视图 655

41.3.1 对象视图的简要回顾 655

41.3.2 包含引用的对象视图 656

41.4 对象PL/SQL 659

41.5 数据库中的对象 661

第Ⅵ部分 Java相关知识 665

第42章 Java简介 665

42.1 Java与PL/SQL概述 666

42.2 开始 666

42.3 声明 667

42.4 可执行命令 667

42.4.1 条件逻辑 668

42.4.2 循环 672

42.4.3 异常处理 674

42.4.4 保留字 675

42.5 类 675

第43章 JDBC程序设计 681

43.1 使用JDBC类 682

43.2 使用JDBC进行数据操作 685

第44章 Java存储过程 691

44.1 将类加载到数据库中 693

44.2 如何访问类 697

44.2.1 直接调用Java存储过程 699

44.2.2 在何处执行命令 699

第Ⅶ部分 指南 703

第45章 Oracle数据字典指南 703

45.1 关于名称的说明 704

45.2 Oracle Database 12c中引入的新视图 704

45.3 Oracle Database 11g中引入的新视图 711

45.4 路线图:DICTIONARY(DICT)和DICT_COLUMNS 714

45.5 从表、列、视图、同义词和序列中选择 716

45.5.1 目录:USER_CATALOG(CAT) 716

45.5.2 对象:USER_OBJECTS(OBJ) 716

45.5.3 表:USER_TABLES(TABS) 717

45.5.4 列:USER_TAB_COLUMNS(COLS) 719

45.5.5 视图:USER_VIEWS 720

45.5.6 同义词:USER_SYNONYMS(SYN) 722

45.5.7 序列:USER_SEQUENCES(SEQ) 723

45.6 回收站:USER_RECYCLEBIN和DBA_RECYCLEBIN 723

45.7 约束和注释 724

45.7.1 约束:USER_CONSTRAINTS 724

45.7.2 约束列:USER_CONS_COLUMNS 725

45.7.3 约束异常:EXCEPTIONS 726

45.7.4 表注释:USER_TAB_COMMENTS 727

45.7.5 列注释:USER_COL_COMMENTS 727

45.8 索引和集群 728

45.8.1 索引:USER_INDEXES(IND) 728

45.8.2 索引列:USER_IND_COLUMNS 730

45.8.3 集群:USER_CLUSTERS(CLU) 731

45.8.4 集群列:USER_CLU_COLUMNS 732

45.9 抽象数据类型和LOB 732

45.9.1 抽象数据类型:USER_TYPES 732

45.9.2 LOB:USER_LOBS 734

45.10 数据库链接和物化视图 735

45.10.1 数据库链接:USER_DB_LINKS 735

45.10.2 物化视图 736

45.10.3 物化视图日志:USER_MVIEW_LOGS 737

45.11 触发器、过程、函数和程序包 738

45.11.1 触发器:USER_TRIGGERS 738

45.11.2 过程、函数和程序包:USER_SOURCE 738

45.12 维度 740

45.13 包括分区和子分区的空间分配和使用情况 741

45.13.1 表空间:USER_TABLESPACES 741

45.13.2 空间限额:USER_TS_QUOTAS 742

45.13.3 段和区:USER_SEGMENTS和USER_EXTENTS 742

45.13.4 分区和子分区 743

45.13.5 可用空间:USER_FREE_SPACE 746

45.14 用户和权限 746

45.14.1 用户:USER_USERS 746

45.14.2 资源限制:USER_RESOURCE_LIMITS 746

45.14.3 表的权限:USER_TAB_PRIVS 747

45.14.4 列权限:USER_COL_PRIVS 747

45.14.5 系统权限:USER_SYS_PRIVS 747

45.15 角色 748

45.16 审计 749

45.17 监控对象使用 749

45.18 其他视图 750

45.19 监控:V$动态性能表 750

45.19.1 CHAINED_ROWS 750

45.19.2 PLAN_TABLE 751

45.19.3 相互依赖性:USER_DEPENDENCIES和IDEPTREE 751

45.19.4 只属于DBA的视图 751

45.19.5 OracleLabelSecurity 751

45.19.6 SQL*Loader直接加载视图 752

45.19.7 全球支持视图 752

45.19.8 库 752

45.19.9 异构服务 752

45.19.10 索引类型和运算符 752

45.19.11 存储概要 753

45.19.12 顾问程序 753

45.19.13 调度程序 753

第46章 应用程序和SQL调整指南 755

46.1 数据库性能调整概览 755

46.2 调整——最佳实践 757

46.2.1 尽可能少做 757

46.2.2 尽可能简单地完成 760

46.2.3 告诉数据库需要知道什么 761

46.2.4 最大化环境中的吞吐量 761

46.2.5 分开处理数据 763

46.2.6 正确测试 763

46.3 生成并读取说明计划 765

46.3.1 使用SET AUTOTRACE ON命令 765

46.3.2 使用EXPLAIN PLAN命令 769

46.4 说明计划中的主要操作 770

46.4.1 TABLE ACCESS FULL 770

46.4.2 TABLE ACCESS BY INDEX ROWID 771

46.4.3 相关提示 771

46.4.4 使用索引的操作 772

46.4.5 何时使用索引 773

46.4.6 操纵数据集的操作 778

46.4.7 执行连接的操作 784

46.4.8 Oracle如何处理两个以上的表的连接 785

46.4.9 并行化和缓存问题 790

46.5 小结 791

第47章 SQL结果缓存和客户端查询缓存 793

47.1 SQL结果缓存的数据库参数设置 801

47.2 DBMS_RESULT_CACHE程序包 802

47.3 SQL结果缓存的字典视图 803

47.4 SQL结果缓存的更多细节 803

47.5 Oracle调用接口(OCI)客户端查询缓存 803

47.6 Oracle调用接口(OCI)客户端查询缓存的限制 804

第48章 关于调整的示例分析 805

48.1 案例分析1:等待、等待、再等待 805

48.2 案例分析2:破坏应用程序的查询 808

48.3 案例分析3:长期运行的批处理作业 811

第49章 可插入数据库漫游指南 815

49.1 可插入数据库的概念 816

49.1.1 CDB的组成 816

49.1.2 CDB用户 816

49.1.3 先决条件 817

49.2 创建CDB和PDB 817

49.2.1 创建CDB 817

49.2.2 创建PDB 819

49.2.3 管理PDB 821

49.2.4 拔出PDB 821

49.2.5 删除PDB 822

49.2.6 插入PDB 822

49.2.7 监控PDB 822

第50章 Oracle RAC集群 825

50.1 安装前的准备 826

50.2 安装RAC 826

50.2.1 存储 827

50.2.2 初始化参数 827

50.3 启动和停止RAC实例 829

50.4 透明应用程序故障切换 831

50.5 为集群添加节点和实例 832

第51章 数据库管理指南 833

51.1 创建数据库 834

51.2 启动和停止数据库 835

51.3 设置和管理内存区域大小 835

51.4 分配和管理对象的空间 838

51.4.1 存储子句的含义 838

51.4.2 表段 840

51.4.3 索引段 841

51.4.4 系统管理的Undo 841

51.4.5 临时段 842

51.4.6 可用空间 843

51.4.7 设置数据库对象的大小 844

51.5 监控Undo表空间 846

51.6 自动存储管理 846

51.7 段空间管理 847

51.8 移动表空间 848

51.8.1 生成可移动表空间集 848

51.8.2 插入可移动表空间集 849

51.9 进行备份 850

51.9.1 Data Pump Export和Data Pump Import 850

51.9.2 脱机备份 850

51.9.3 联机备份 851

51.9.4 Recovery Manager 854

51.10 展望 855

第52章 Oracle中的XML指南 857

52.1 文档类型定义、元素及属性 857

52.2 XML模式 861

52.3 使用XSU选择、插入、更新和删除XML值 863

52.3.1 使用XSU进行插入、更新和删除 865

52.3.2 XSU和Java 866

52.3.3 定制查询过程 867

52.4 使用XMLType 868

52.5 其他功能 870