《成功之路 Oracle 11g学习笔记》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:赵振平编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121107818
  • 页数:484 页
图书介绍:本书专为开发人员编写,先引导开发新手熟悉Oracle环境,然后进入数据库开发,并要掌握项目开发中的一些技巧。开发技巧展示是本书的一大特色(这一点很值得资深的开发人员借鉴)!本书共24章,主要介绍了Oracle安装、干净卸载Oracle、数据库启动关闭、Oracle网络配置等相关内容。在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程、函数、包等),并介绍数据库性能调整,本书重点介绍SQL语句调优。SQL语句调优是本书的另一大特色!

第1章 你真正学会数据库了吗 1

1.1 学习数据库的必要性 1

1.2 学习数据库的境界 2

1.3 Oracle霸主地位之——为什么要选择学习Oracle 2

1.4 数据库(Database) 2

1.4.1 何为数据库 2

1.4.2 何为关系数据库(RDB) 2

1.4.3 何为数据库管理系统(DBMS) 3

1.4.4 何为E-R图(Entity-Relationship Model) 3

1.4.5 何谓表(Table) 4

1.5 数据库在软件架构中的地位 5

1.6 数据库中的数据库——数据字典 5

1.6.1 数据字典的结构 5

1.6.2 数据字典的使用 6

本章总结 6

第2章 数据库安装不求人之——自个安装Oracle数据库 7

2.1 Oracle服务器软件安装之——Linux平台 7

2.1.1 准备操作系统 7

2.1.2 启动Oracle安装 15

2.2 Oracle服务器软件安装之——Windows平台 16

2.2.1 Oracle服务器软件安装 16

2.2.2 Oracle服务器软件安装之——故障排查 21

2.2.3 创建Oracle 11g数据库(Windows平台) 22

2.2.4 Oracle安装后期——测试安装是否成功 32

2.3 Oracle客户端安装 33

本章总结 34

第3章 初学者最麻烦的问题之——不能干净地卸载Oracle 35

3.1 Oracle不能完全卸载的烦恼 35

3.2 干干净净地卸载Oracle数据库 35

3.2.1 用DBCA删除数据库 36

3.2.2 删除ASM 37

3.2.3 停止Oracle所有的服务(Oracle Services) 38

3.2.4 用Oracle Universal Installer自动删除Oracle的组件 38

3.2.5 手动删除Oracle的其余组件 38

本章总结 39

第4章 轻松搞定Oracle网络 40

4.1 轻松搞定Oracle网络之——数据库服务器端网络配置 40

4.1.1 监听器的配置 41

4.1.2 监听器的启动 44

4.1.3 监听器的关闭 46

4.1.4 监听器的状态 47

4.2 轻松搞定Oracle网络之——Oracle客户端网络配置 48

4.2.1 客户端配置 48

4.2.2 测试客户端到服务器的连接 56

4.2.3 登录远程数据库 56

4.3 轻松搞定Oracle网络之——Oracle网络故障攻略 57

本章总结 59

第5章 访问远程数据库之——工具介绍 60

5.1 字符界面管理工具之——SQL*Plus 60

5.1.1 启动SQL*Plus 60

5.1.2 在SQL*Plus中执行代码 61

5.1.3 关闭SQL*Plus 63

5.1.4 最有用的SQL*Plus命令(SQL*Plus Commands) 63

5.1.5 SQL*Plus使用技巧 66

5.2 Web版的企业管理器(Oracle Enterprise Manager,OEM) 73

5.2.1 使用OEM 74

5.2.2 启动dbconsole 75

5.2.3 关闭dbconsole 76

5.3 其他数据库访问工具 76

5.3.1 DbVisualizer 76

5.3.2 TOAD 77

5.3.3 Embarcadero SQL Tuner 77

5.3.4 PL/SQL Developer 77

本章总结 79

第6章 Oracle数据库启动/关闭——原理剖析 80

6.1 数据库的启动 80

6.1.1 启动一个关闭的数据库(常规启动) 80

6.1.2 数据库启动原理 82

6.1.3 初始化参数(Initialization Parameter) 83

6.1.4 只启动实例——把数据库启动到非装载状态(NOMOUNT) 89

6.1.5 把数据库启动到装载状态(MOUNT) 90

6.1.6 打开数据库 90

6.1.7 重启你的数据库(Reset) 92

6.1.8 把数据库启动到只读模式 92

6.1.9 把数据库设置成自动启动/关闭之——Windows篇 92

6.1.10 把数据库设置成自动启动/关闭之——UNIX/Linux篇 94

6.2 数据库启动故障排查攻略 97

6.3 数据库的关闭 100

6.3.1 使用频率最高的数据库关闭方式 100

6.3.2 数据库关闭最快的方式 101

6.3.3 数据库关闭最慢的方式 101

6.3.4 以TRANSACTIONAL方式关闭数据库 102

本章总结 102

第7章 数据之家——Oracle存储管理 103

7.1 常规表空间管理 103

7.1.1 创建表空间(Create Tablespace) 103

7.1.2 扩展表空间 108

7.1.3 使表空间离线/在线(Taking Tablespaces Offline/Online) 108

7.1.4 重命名表空间(Renaming Tablespaces) 109

7.1.5 使表空间只读(Read Only) 109

7.1.6 删除表空间(Drop Tablespace) 110

7.1.7 大文件表空间(Bigfile Tablespaces) 110

7.1.8 表空间的加密(Encrypted Tablespaces) 111

7.1.9 表和表空间的关系 111

7.1.10 必须清楚的几个概念 113

7.2 数据文件管理 115

7.2.1 使数据文件离线 115

7.2.2 移动数据文件 116

7.2.3 删除数据文件 117

7.2.4 列出数据库中的数据文件 118

7.3 临时表空间管理 118

7.4 回滚表空间管理 122

7.4.1 回滚数据(Undo Data) 122

7.4.2 读一致性(Read Consistency) 122

7.4.3 数据库恢复(Database Recovery) 123

7.4.4 闪回查询(Flashback Query) 123

7.4.5 事务和回滚数据(Transactions and Undo Data) 123

7.4.6 回滚段(Undo Segment) 123

7.4.7 回滚表空间(Undo Tablespace) 125

7.4.8 回滚表空间的操作 126

本章总结 128

第8章 简化存储管理之——自动存储管理(ASM) 129

8.1 ASM实例(ASM Instances) 129

8.2 ASM磁盘组(ASM Disk Groups) 129

8.3 ASM文件(ASM Files) 130

8.4 区(Extents) 131

8.5 镜像和失败组(Mirroring and Failure Groups) 131

8.6 ASM使用全程 132

8.6.1 配置ASM实例 132

8.6.2 ASM实例的连接 140

8.6.3 ASM的启动 140

8.6.4 ASM的关闭 140

8.6.5 创建磁盘组 141

8.6.6 在磁盘组上创建表空间 142

8.7 ASM磁盘组的维护 143

本章总结 144

第9章 为数据库优化打基础之——Oracle内存管理 145

9.1 Oracle内存介绍 145

9.1.1 系统全局区(SGA) 145

9.1.2 程序全局区(PGA) 148

9.1.3 软件代码区(Software Code Areas) 150

9.2 Oracle内存管理方法 150

9.2.1 启用自动内存管理(Automatic Memory Management) 151

9.2.2 启用自动SGA管理(Automatic Shared Memory Management) 153

9.2.3 启用自动PGA管理(Automatic PGA Memory Management) 154

9.2.4 SGA手动管理 155

9.2.5 PGA手动管理 156

9.3 内存信息查询 156

9.3.1 从命令行查看Oracle的内存信息 156

9.3.2 用Oracle企业管理器查看Oracle内存的分配情况 160

本章总结 161

第10章 Oracle的发动机——进程 162

10.1 进程简介 162

10.2 Oracle后台进程(Background Process) 165

10.3 进程管理与维护 169

10.3.1 查看Oracle的后台进程 169

10.3.2 查看数据库中的会话 170

10.3.3 最热门的话题——提高数据库最大会话数 170

10.3.4 终止会话(Terminating Sessions) 171

10.3.5 修改归档进程(ARCn)的数量 172

10.3.6 修改数据库书写进程(DBWn)的数量 174

10.3.7 修改作业队列进程(Job Queue Process)的数量 174

10.3.8 查看每个进程占用的系统资源 174

本章总结 176

第11章 数据库物理结构信息的仓库——Oracle控制文件 177

11.1 控制文件(Control Files)简介 177

11.2 查看数据库中的控制文件 178

11.3 DBA必做的事情——镜像控制文件(Multiplex Control Files) 179

11.4 查看控制文件的内容 180

11.5 得到创建控制文件的脚本 180

11.6 移动控制文件 181

11.7 删除控制文件 182

本章总结 182

第12章 服务器掉电亦无忧之——Oracle重做日志(Redo Log)管理 183

12.1 重做日志文件的工作原理 183

12.1.1 重做日志(Redo Log) 183

12.1.2 重做日志条目(Redo Entry) 183

12.1.3 重做日志(Redo Log)的构成 183

12.1.4 重做日志(Redo Log)的工作原理 184

12.1.5 重做日志文件(Redo Log Files)的四种状态 185

12.1.6 同一日志组中成员的分布 185

12.1.7 重做日志(Redo Log)与实例恢复 185

12.2 查询数据库中的重做日志组 186

12.3 查询数据库中的重做日志文件 186

12.4 创建重做日志组(Creating Redo Log Groups) 187

12.5 添加重做日志文件(Creating Redo Log Members) 187

12.6 删除重做日志组(Dropping Redo Log Groups) 187

12.7 删除重做日志成员(Dropping Redo Log Members) 188

12.8 改变重做日志组的状态 188

12.9 查看重做日志组是否已经归档 189

本章总结 189

第13章 总揽全局——Oracle体系结构综述 190

13.1 物理数据库结构(Physical Database Structures) 191

13.2 逻辑数据库结构(Logical Database Structures) 191

13.3 实例(Database Instance) 191

13.3.1 SGA 192

13.3.2 后台进程(Background Processes) 192

13.3.3 最容易混淆的两个概念——数据库和实例 192

13.4 阅读参考 194

本章总结 194

第14章 成为数据库的王者之——权限管理 195

14.1 用户管理 195

14.1.1 创建用户账号 195

14.1.2 预定义账户(Predefined User Accounts) 197

14.1.3 修改用户账号属性 197

14.1.4 锁定爱捣蛋的用户 198

14.1.5 查看数据库账户属性 198

14.1.6 让一个用户从数据库中永远消失 200

14.1.7 查看当前登录数据库的用户 200

14.2 限制用户对资源的消耗——概要文件(User Profiles) 201

14.2.1 创建概要文件 201

14.2.2 修改用户的概要文件(把概要文件赋予用户) 202

14.2.3 删除概要文件 202

14.3 数据库管理员的验证方式(Authentication Method for Database Administrators) 203

14.3.1 管理员的验证之——数据字典验证(Data Dictionary Authentication) 203

14.3.2 管理员的验证之——使用操作系统验证(Using Operating System Authentication) 203

14.3.3 管理员的验证之——使用口令文件验证(Using Password File Authentication) 204

14.3.4 管理员的验证之——基于网络的验证 207

14.4 权限管理 207

14.4.1 力量的象征——权限 207

14.4.2 搞不清楚的问题——角色与权限 213

14.4.3 创建角色 214

14.4.4 授予角色权限 214

14.4.5 删除角色 214

14.4.6 权力演绎 214

本章总结 217

第15章 Oracle数据泵(Oracle Data Pump) 218

15.1 Oracle数据泵的组件 218

15.2 数据泵移动数据的方式 219

15.3 数据泵的工作原理 219

15.4 目录问题 220

15.5 导入导出过程的监控 220

15.6 数据泵导出工具(Data Pump Export) 221

15.6.1 Data Pump Export的调用接口 221

15.6.2 导出模式(Data Pump Export Modes) 221

15.6.3 导出参数说明 224

15.7 数据泵导出工具(Data Pump Import) 231

本章总结 234

第16章 学习任何数据库必学之——SQL语句 235

16.1 SQL简述 235

16.2 事务(Transaction) 237

16.2.1 提交(COMMIT) 237

16.2.2 回滚(ROLLBACK) 238

16.2.3 事务命名(SET TRANSACTION NAME) 238

16.2.4 事务读一致性(Transaction-level Read Consistency) 239

16.2.5 回滚点(SAVEPOINT) 240

16.2.6 自治事务(Autonomous Transactions) 241

16.3 数据类型(Oracle Data Type) 241

16.4 数据库的核心——表结构管理 242

16.4.1 Oracle的表类型 242

16.4.2 建表——创建存储数据的“容器” 244

16.4.3 修改表——修改“容器”的属性 249

16.4.4 表管理小技巧 251

16.4.5 删除表——让整个表从数据库中彻底消失 256

16.5 数据库的核心——表数据管理 257

16.5.1 往“容器”中装入数据(INSERT语句演示) 257

16.5.2 修改“容器”中的数据(UPDATE语句演示) 263

16.5.3 查询“容器”中的数据(SELECT语句演示) 265

16.5.4 删除“容器”中的数据(DELETE语句) 303

16.6 数据库的核心——约束管理 306

16.6.1 五大约束 306

16.6.2 约束管理 307

16.7 数据库的核心——LOB管理 312

16.7.1 BFILE 313

16.7.2 BLOB 313

16.7.3 CLOB 313

16.7.4 NCLOB 314

16.7.5 BFILE应用实战 314

16.7.6 CLOB应用实战 315

16.8 用户自定义数据类型(User-defined Data Type) 317

16.8.1 对象类型(Object Type) 317

16.8.2 可变数组类型(Variable-size Arrays Type) 319

16.8.3 嵌套表类型(Nested Table Type) 322

16.9 分布式应用 325

16.9.1 数据库链接分类 325

16.9.2 创建数据库链接 326

16.9.3 数据库链接的应用 326

16.9.4 删除数据库链接 326

16.10 分区表管理 327

本章总结 331

第17章 构筑高速运行的SQL语句 332

17.1 数据库性能调整简介 332

17.2 实例调整 332

17.2.1 自动工作负载库(Automatic Workload Repository,AWR) 333

17.2.2 性能监测器(Automatic Database Diagnostic Monitor,ADDM) 334

17.3 SQL语句调整 336

17.3.1 数据查询的加速器——索引 337

17.3.2 优化器(Optimizer) 340

17.3.3 SQL语句执行的大致过程 340

17.3.4 SQL语句的优化过程 341

17.3.5 提示(Hint) 352

本章总结 355

第18章 模式对象管理 356

18.1 数据的封藏——视图 357

18.1.1 视图创建 357

18.1.2 在存储过程中创建视图 358

18.1.3 视图的使用 358

18.1.4 得到创建视图的SQL语句 359

18.1.5 视图的删除 359

18.2 产生唯一值——序列(Sequence) 360

18.2.1 创建序列 360

18.2.2 序列的使用 361

18.2.3 序列值丢失(不连续)的问题 362

18.2.4 把序列的值重新置成1 362

18.2.5 删除序列 362

18.3 隐藏数据库对象的名字——同义词(SYNONYM) 363

18.3.1 同义词的优点 363

18.3.2 同义词的分类 364

18.3.3 创建同义词 364

18.3.4 使用同义词 364

18.3.5 删除同义词 364

本章总结 365

第19章 开发基础的沉淀——PL/SQL程序设计 366

19.1 PL/SQL介绍 366

19.1.1 PL/SQL基本要素 367

19.1.2 PL/SQL块(PL/SQL Block) 368

19.1.3 变量和常量 369

19.1.4 数据类型 372

19.1.5 PL/SQL表达式和运算符 375

19.1.6 PL/SQL语句 376

19.1.7 在PL/SQL中使用SELECT语句 376

19.1.8 在PL/SQL中使用DML 376

19.1.9 控制结构 377

19.1.10 GOTO语句 380

19.1.11 异常(Exception) 380

19.2 数据批处理——游标(Cursor) 384

19.2.1 游标的分类 384

19.2.2 游标FOR循环 386

19.2.3 向游标中传递参数 387

19.2.4 游标变量 388

19.3 一触即发——触发器介绍 390

19.3.1 触发器的功能 390

19.3.2 触发器的组成 391

19.3.3 触发器的种类 391

19.3.4 触发动作(Trigger Action)的编码 394

19.3.5 触发器的维护 396

19.3.6 在触发器中,如何利用学生表1的值去更新学生表2的值 399

19.3.7 阻止触发语句的执行 401

19.4 DDL语句的救星——动态SQL(Dynamic SQL) 402

19.4.1 静态SQL(Static SQL) 403

19.4.2 动态SQL(Dynamic SQL) 403

19.4.3 动态SQL和静态SQL的比较 404

19.4.4 动态SQL的书写 404

本章总结 414

第20章 存放在数据库服务器中的代码 415

20.1 存储PL/SQL单元 415

20.2 子程序的参数 415

20.3 存储过程(Procedure) 416

20.3.1 存储过程的创建 417

20.3.2 存储过程的调用 418

20.3.3 存储过程的编译 418

20.3.4 存储过程的删除 418

20.3.5 存储过程使用技巧 419

20.4 函数(Function) 425

20.4.1 函数的创建 425

20.4.2 函数的调用 426

20.4.3 函数的编译 427

20.4.4 函数的删除 427

20.4.5 函数使用技巧 427

20.4.6 常用函数 430

20.5 包(Package) 432

20.5.1 包的优点 432

20.5.2 包的组成 433

20.5.3 包中对象的私有属性和公有属性 433

20.5.4 包的创建 433

20.5.5 引用包的对象(元素) 435

20.5.6 让其他用户使用你的包 436

20.5.7 包的编译 436

20.5.8 包的删除 436

20.5.9 包中存储过程和函数的重载 437

20.5.10 Oracle内置包 439

20.5.11 查看包中的存储过程或者函数 440

20.6 存储过程和函数的调试(Debug) 440

本章总结 441

第21章 Oracle即时客户端(Instant Client) 442

21.1 即时客户端简介 442

21.2 使用即时客户端部署应用程序 443

本章总结 444

第22章 数据库的备份 445

22.1 数据库故障的种类 445

22.1.1 实例失败 445

22.1.2 介质失败 446

22.1.3 用户错误 446

22.2 冷备份(Cold Backup) 446

22.2.1 一致性冷备份(Consistent Backup) 446

22.2.2 不一致冷备份(Inconsistent Backup) 446

22.3 热备份(Hot Backup) 446

22.4 备份、恢复工具 447

22.4.1 用户管理的备份和恢复 447

22.4.2 RMAN 447

22.5 冷备份的实施 450

22.6 热备份的实施 451

22.6.1 热备份的前提——归档管理 451

22.6.2 备份整个数据库 453

22.6.3 备份单个表空间 454

22.6.4 备份单个数据文件 454

22.6.5 备份归档日志文件 454

22.6.6 备份控制文件 455

22.6.7 备份SPFILE 455

本章总结 456

第23章 数据库的恢复 457

23.1 数据冲突的修复 457

23.2 冷备份的恢复 458

23.3 热备份的恢复 459

23.3.1 恢复整个数据库 459

23.3.2 恢复单个表空间 460

23.3.3 恢复单个数据文件 460

23.3.4 修复数据块 461

本章总结 461

第24章 项目实战之——网银子系统 462

24.1 软件生命周期(System Development Life Cycle) 462

24.2 业务需求分析——前期工作 463

24.2.1 业务需求 463

24.2.2 系统效果展示 463

24.3 架构设计——架起业务与软件的桥梁 464

24.3.1 软件系统框架设计 464

24.3.2 数据库模型设计 465

24.4 编码 467

24.5 测试 467

24.6 把理想变成现实 467

24.6.1 安装JDK 467

24.6.2 安装Tomcat 470

24.6.3 网银子系统配置 474

24.7 代码解释 476

24.7.1 安装Eclipse 476

24.7.2 Eclipse导入项目 476

24.7.3 MVC框架 477

24.7.4 重要代码讲解 478

本章总结 484