热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

涂抹Oracle——三思笔记之一步一步学Oracle

中国水利水电出版社
    【作 者】李丙洋 著 【I S B N 】978-7-5084-6961-4 【责任编辑】李炎 【适用读者群】科技 【出版时间】2010-01-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】 【千字数】 【印 张】 【定 价】68 【丛 书】魅力圣经 【备注信息】
图书详情

        本书做为一本创作之初就定位于技术应用的实践参考书,虽然前前后后串联了Oracle数据库中十余个常用特性或工具,不过在章节的设计上完全遵循这一理念。在涉及到特性或工具应用的每一个章节,均有相关实例演示如何应用,所有示例的最终目的,就是希望阅读本书的朋友,能够将双手解放出来,自信灵活的使用书中介绍的各项特性和工具。全书共分5个部分:初始化环境、加载数据、保护数据、传输数据和基础补充。

      本书语言生动幽默,案例丰富,实践性强,在章节编排和内容组织方面,主要面向初次接触Oracle数据库的技术人员,以及对数据库操作感兴趣的开发人员,对于具有一定技术实力的中高级Oracle DBA,也有一定帮助,同时本书也可以作为大中专院校相关专业师生的参考工具书,和相关培训机构的培训教材。

      本书部分源代码,读者可以到中国水利水电出版社网站及万水书苑免费下载,网址为http://www.waterpub.com.cn/softdown/http://www.wsbookshow.com

     

     三月初开始执笔,落笔时已在七月末,近半载的笔耕,十余个章节,一百五十多个日日夜夜,多年来实际应用中的经验和心得,最后,尽数化到这数十万文字的字里行间。

    多数技术书籍在初始几章往往都是介绍基础知识,从命名、来由到基础概念,几乎都采用大篇幅介绍,就我看来这种方式在当前情况下极不适宜,原因有二。

    首先,多数有兴趣的爱好者在研究某种技术之初,往往都是想先看看其大致的使用方法,而概念介绍多数都是枯燥无趣的,很少有人能在毫不了解这项技术的情况下,有毅力坚持研读相关概念。这就造成几种后果:有些人跳过初始几章直接从实际应用开始,等了解之后再翻回来看前面的介绍;更有可能的是,有些人耐着性子看完前面的内容就弄得一头雾水,要么再看一遍,要么不管不顾继续往后看;而有些人则直接就放弃了。

    其次,目前技术发展日新月异,从业人员水平参差不齐,有些工作在分配给技术人员时,该技术人员可能对此项工作一无所知,在这种情况下让其去看基础概念恐怕费时费力,保不齐书还没翻几篇,饭碗已不保,毕竟多数老板都是只看结果,忽略过程。

    有鉴于此,我希望能够在最开始的几章中少讲一些枯燥的概念,多做一些实际的操作,让大家先能上手干活,把饭碗保住。同时,在经过一些操作之后,无论是对其认识或是兴趣应该都大大增加,这个时候再转回头来看看一些基本的概念,理解起来可以更加事半功倍。

    本书作为一本创作之初就定位于技术应用的实践参考书,虽然前前后后串联了Oracle数据库中十余个常用特性和工具,不但在章节的设计上完全遵循这一理念。在涉及特性和工具应用的每一个章节,均有相关实例演示如何应用,所有示例的最终目的,就是希望阅读本书的朋友,能够将双手解放出来,自信灵活地使用书中介绍的各项特性和工具。全书共分如下5个部分。

    第一部分 初始化环境

    本部分共分三章,详细介绍了从Oracle数据库安装,到初次使用的每一个步骤。考虑到很多朋友的个人电脑都是Windows系统,而大多数Oracle数据库都是运行在Linux/UNIX(对于产品数据库来说,UNIX平台更加常见)平台上,Windows平台中的安装和使用相对简单一些,而Linux平台则要复杂得多,因此本书在介绍数据库安装时,分别描述了Windows平台和Linux平台下的安装。

    纵览全书,第一部分是全书图片最多的章节,具体到数据库软件安装和创建数据库部分,几乎每一个步骤都有图片和选项的相关描述,可谓手把手教你安装,手把手教你使用。如果说考过OCP认证,却不会安装Oracle数据库软件,我认为这有可能,但是在看完本部分内容后仍不会安装Oracle,这,绝对不可能!

    第二部分 加载数据

    本部分只设置了两章,分别阐述了实现数据加载的两个比较常见的工具:SQL*Loader和外部表。考虑到命令行工具参数众多,调用方式灵活,一一列举又难以体现主次和重点,因此在介绍这两个工具时,三思特别设计了提问的方式,为大家演示这两个工具的具体功能,以及各种不同环境、不同数据加载需求下的应用,同时考虑到大多数Oracle数据库的处理规模,特别对大数据量加载下的优化进行了详细描述。

    在认真阅读完本章之后,即使遇到相当苟刻的需求,或者大数据量的加载任务,我相信你都可以轻松搞定(只要学会使用SQL*Loader或外部表实现)。

    第三部分 保护数据

    作为一名数据库工程师,日常工作的首要目标就是确保数据的安全,因此第三部分的5个章节,分别从备份恢复、创建备库构建高可用环境,以及使用闪回特性快速恢复误操作三个方面详细描述了Oracle提供的保护数据的三个重要特性。

    本部分内容占全书1/3的篇幅,内容多,信息量大,读者朋友需要多理解、多实践。

    第四部分 传输数据

    本部分共设置了4个章节,从最原始的逻辑导入/导出、10g版本新引入的数据泵特性,到使用RMAN快速复制数据库,以及使用传输表空间特性复制数据几个方面详细描述,融会贯通之后,能够处理大多数环境的数据迁移需求。

    第五部分 基础补充

    提到“基础”这样的词汇,人们的第一印象总是枯燥的、单调的、乏味的,对于Oracle文档的基础部分,也确实存在这样的问题。一方面由于阅读大段的文字描述,并不能迅速带来成就感,毕竟这不像实践某个特性——通过实际执行一些或复杂或简单的操作,用户可以马上看到结果,感受到这一过程带给自己的喜悦;此外,就我多年来的从业经历和学习体会来看,我觉着另一方面是由于自身所处学习阶段的认识问题。比如很多初接触Oracle数据库的朋友一开始就问如何做优化,应该说,出发点很好,决心也很大,但是如果连Oracle数据库中数据块的存储机制都不了解就妄谈优化,那结果恐怕只能靠运气。

    在本书的最后一部分内容中,三思按照自己的理解,用最简洁的词,尽可能直白地形容、阐述Oracle数据库的两个组成部分:数据库和实例;对于Oracle中各类文件、SGA、PGA及Oracle运行过程中的相关进程等内容均有详细描述。其中,在介绍内存参数时,对于传说中对性能调优有神奇功能的初始化参数也进行了专门的描述。希望这部分内容能够对Oracle的初学者,或者是对基本部分认识始终处于混沌状态的朋友有所帮助。

    《论语•雍也》中有句名言:知之者不如好之者,好之者不如乐之者。孔子两千多年前的这句话,实际上道出了学习的三种境界,其中“知之”属于学习的最低境界,相当于我们经常讲的“要我学”的阶段,“好之”则进入到了“我要学”的中级阶段,“乐之”则达到了最高境界,即“我爱学”的阶段。

    我一直都认为,兴趣是最大的驱动力,希望大家都以“我爱学”为出发点来学习Oracle。

    Oracle数据库的知识体系庞大,并且其本身也在不断改进和更新,再加上三思本人水平有限,本书所描述的内容难免会有疏漏和错误,如果读者朋友在阅读过程中发现问题或对描述方式有异议,请主动进行自我批评。嘿嘿,只是开个玩笑!

    三思学理出身,文笔有限,更主要的是在本书撰写过程中并不追求词藻的华丽,而是尽可能地以通俗易懂为主,虽然成文前后审阅多遍,仍然保不齐存在错误,如果有书友在阅读本书的过程中发现问题,或者希望就某方面话题与我交流看法,我随时敞开大门笑迎八方来客,我的联系方式是http://space.itpub.net/7607759/viewspace-606595(怎么样,你猜出来了吗)。我的个人网站http://www.5ienet.com(我爱我佳)将随时更新本书勘误,并提供其他与Oracle相关资料的下载和服务,欢迎大家经常来看看。

     

    精彩不止一两抹
    前言
    致谢
     
    第1章  Oracle传奇 1
    1.1  起源 1
    1.2  发展 3
    1.3  挫折 4
    1.4  兴旺 5
    1.5  革新 7
    1.6  前进 8
     
    第一部分  初始化环境
     
    第2章  安装Oracle数据库软件 12
    2.1  Windows平台下安装Oracle 10g R2 12
    2.1.1  安装条件 12
    2.1.2  执行安装 13
    2.2  Linux平台下安装Oracle 10g R2 17
    2.2.1  系统要求 18
    2.2.2  检查环境 18
    2.2.3  配置安装环境 19
    2.2.4  执行安装 22
    第3章  创建Oracle数据库 25
    3.1  创建Oracle数据库 25
    3.1.1  DBCA是啥来头 25
    3.1.2  执行数据库创建 26
    3.2  配置监听 39
    3.2.1  创建监听服务 39
    3.2.2  启用监听服务 42
    3.2.3  启动和停止监听服务 44
    第4章  进入Oracle数据库 46
    4.1  认识连接工具 46
    4.2  第一次连接 47
    4.3  启动和停止数据库 49
    4.3.1  启动数据库 49
    4.3.2  停止数据库 50
    4.4  连接到远端数据库 51
    4.4.1  配置Net服务名 51
    4.4.2  通过网络服务名连接数据库 56
    4.5  创建用户 56
     
    第二部分  加载数据
     
    第5章  SQL*Loader加载数据 60
    5.1  认识SQL*Loader 60
    5.2  SQL*Loader体系结构 62
    5.2.1  控制文件 62
    5.2.2  日志文件 63
    5.2.3  错误文件 64
    5.2.4  废弃文件 64
    5.3  一千零一十一个怎么办 65
    5.3.1  给我的是个Excel文件怎么办 65
    5.3.2  要加载的文件不是以
    逗号分隔怎么办 66
    5.3.3  要加载的数据中包含
    分隔符怎么办 66
    5.3.4  数据文件没有分隔符怎么办 66
    5.3.5  数据文件中的列比要导入的
    表中列少怎么办 67
    5.3.6  数据文件中的列比要导入的
    表中列多怎么办 69
    5.3.7  提供了多个数据文件,
    要导入同一张表怎么办 71
    5.3.8  同一个数据文件,
    要导入不同表怎么办 73
    5.3.9  数据文件前N行不想导入
    怎么办 74
    5.3.10  要加载的数据中有换行符
    怎么办 76
    5.3.11  要导入大字段(LOB类型)
    怎么办 80
    5.3.12  某些字段无值导致加载报错
    怎么办 83
    5.4  100万条记录的数据加载 85
    5.4.1  生成百万级数据文件 85
    5.4.2  初始化环境 86
    5.4.3  执行导入 87
    5.4.4  能不能快一点呢 88
    5.4.5  能不能再快一点呢 89
    5.4.6  有没有可能更快 90
    5.5  SQL*Loader加载综述 91
    第6章  外部表加载数据 92
    6.1  如何创建外部表 92
    6.1.1  CREATE TABLE语句创建 92
    6.1.2  SQL*Loader创建 93
    6.2  解读外部表 95
    6.2.1  第一部分 指定表结构 96
    6.2.2  第二部分 指定访问驱动和路径 96
    6.2.3  第三部分 指定加载参数 96
    6.2.4  第四部分 指定数据来源 97
    6.3  有问有答学用外部表 97
    6.3.1  外部表有加载日志吗 97
    6.3.2  能像普通表那样修改属性吗 99
    6.3.3  有多个文件要加载怎么办 100
    6.3.4  外部表加载实际效率怎么样 101
    6.3.5  怎么用外部表实现数据加载/
    卸载 103
    6.4  访问驱动的故事 104
    6.4.1  ORACLE_DATAPUMP驱动 104
    6.4.2  ORACLE_LOADER驱动 105
    6.5  外部表加载综述 107
     
    第三部分  保护数据
     
    第7章  备份与恢复基础扫盲 110
    7.1  什么是备份 110
    7.1.1  备份类型 110
    7.1.2  数据库状态 111
    7.1.3  备份的状态 111
    7.1.4  备份规模 112
    7.2  什么是恢复 114
    7.2.1  错误类型 114
    7.2.2  恢复类型 115
    7.2.3  恢复方式 116
    7.2.4  恢复操作 117
    7.2.5  RESETLOGS操作 118
    7.3  常见备份与恢复技术 119
    7.3.1  用户管理的备份和恢复(User-Managed
    Backups&Recovery) 120
    7.3.2  RMAN备份和恢复(Recover Manager
    Backups&Recovery) 120
    7.3.3  逻辑导入/导出(Export/Import和
    Data Pump) 121
    7.3.4  闪回(Flashback) 121
    7.3.5  数据卫士(Data Guard) 121
    第8章  RMAN说,我能备份 122
    8.1  进入RMAN 122
    8.1.1  连接本地数据库 122
    8.1.2  连接远程数据库 123
    8.1.3  退出RMAN 123
    8.2  熟悉RMAN操作 124
    8.2.1  启动、关闭数据库 124
    8.2.2  执行操作系统命令 125
    8.2.3  执行SQL语句 125
    8.2.4  RMAN备份类型 126
    8.2.5  RMAN命令执行方式 126
    8.3  RMAN备份初级演练 127
    8.3.1  整库的备份 127
    8.3.2  表空间的备份 129
    8.3.3  数据文件的备份 129
    8.3.4  控制文件的备份 130
    8.3.5  归档文件的备份 131
    8.3.6  初始化参数文件的备份 133
    8.3.7  对备份集进行备份 133
    8.3.8  综述 134
    8.4  RMAN命令知多少 134
    8.4.1  显示RMAN默认配置——
    SHOW命令 134
    8.4.2  列出备份信息——LIST命令 135
    8.4.3  删除备份——DELETE命令 135
    8.4.4  报表显示——REPORT命令 136
    8.4.5  执行检查——
    CROSSCHECK命令 137
    8.4.6  修改状态——CHANGE命令 137
    8.4.7  综述 138
    8.5  RMAN备份演练进阶篇 139
    8.5.1  是否选择增量备份 139
    8.5.2  是否使用RMAN备份集的
    保留策略 141
    8.5.3  是否使用多个通道 143
    8.5.4  是否启用复合备份 145
    8.5.5  是否设置备份集属性 145
    8.5.6  是否使用RMAN恢复目录
    (Recovery Catalog) 149
    8.5.7  是否启用备份优化 150
    8.5.8  是否对备份集进行压缩 151
    8.5.9  是否启用加密备份 152
    8.6  实战RMAN备份 153
    8.6.1  编写RMAN批处理文件 154
    8.6.2  编写命令执行批处理 155
    8.6.3  设定执行计划 155
    8.7  RMAN基础知识补充 156
    8.7.1  FORMAT字符串格式化 156
    8.7.2  通过CONFIGURE命令
    创建预定义配置 157
    8.7.3  通过SET命令进行会话级配置 160
    8.7.4  增量备份的工作机制 162
    8.7.5  备份加密模式 164
    8.7.6  恢复目录数据库
    (Recovery Catalog) 164
    8.7.7  RMAN备份相关的动态
    性能视图 165
    8.8  制订备份策略 171
    第9章  RMAN说,我能恢复 175
    9.1  RMAN恢复操作扫盲 175
    9.2  RMAN基础恢复操作 176
    9.2.1  对数据库进行完全介质恢复 177
    9.2.2  恢复表空间和数据文件 178
    9.2.3  恢复归档日志文件 179
    9.2.4  恢复控制文件和SPFILE初始化
    参数文件 180
    9.3  RMAN恢复示例 182
    9.3.1  归档模式有备份,丢失数据
    文件的恢复 182
    9.3.2  归档模式无备份,丢失数据
    文件的恢复 185
    9.3.3  丢失控制文件的恢复 188
    9.3.4  丢失联机重做日志文件的恢复 190
    9.3.5  不同故障下的恢复总结 195
    9.4  通过RMAN备份恢复数据库到
    其他服务器 195
    第10章  Data Guard说,我就是备份 200
    10.1  Data Guard名词和术语 200
    10.1.1  名词先混个脸熟 200
    10.1.2  术语再了解大概 203
    10.2  物理Standby说,我跟Primary
    一模一样 209
    10.2.1  物理Standby创建前的
    准备工作 209
    10.2.2  物理Standby创建时的
    操作步骤 213
    10.2.3  物理Standby实际创建
    过程演示 215
    10.2.4  玩转物理Standby的角色转换 226
    10.2.5  用READ ONLY模式
    打开物理Standby 231
    10.2.6  管理影响物理Standby的Primary
    数据库事件 233
    10.2.7  监控Primary和物理Standby数据库 241
    10.2.8  调整物理Standby端REDO
    数据应用频率 246
    10.3  逻辑Standby说,我跟Primary
    看起来一样 246
    10.3.1  逻辑Standby创建前的
    准备工作 246
    10.3.2  逻辑Standby创建时的
    操作步骤 250
    10.3.3  逻辑Standby实际创建
    过程演示 252
    10.3.4  玩转逻辑Standby的角色转换 257
    10.3.5  管理逻辑Standby的相关视图 265
    10.3.6  逻辑Standby数据库的
    自定义配置 268
    10.3.7  修改逻辑Standby端数据 270
    10.3.8  优化逻辑Standby数据同步性能 277
    10.4  Data Guard服务 280
    10.4.1  REDO传输服务
    (Redo Transport Services) 280
    10.4.2  Log应用服务
    (Log Apply Services) 289
    10.4.3  选择数据保护模式
    (Data Protection Mode) 291
    第11章  Flashback说,恢复我最行 294
    11.1  Flashback Query闪回查询 294
    11.1.1  应用Flashback Query查询过去的
    数据 295
    11.1.2  应用Flashback Query查询操作的
    事务 302
    11.1.3  应用Flashback Query的
    注意事项 306
    11.2  Flashback Table闪回表 308
    11.2.1  从Recycle Bin中恢复 309
    11.2.2  从UNDO表空间中恢复 313
    11.2.3  应用Flashback Table的
    注意事项 315
    11.2.4  认识和管理Recycle Bin
    (回收站) 317
    11.3  Flashback Database闪回数据库 320
    11.3.1  认识Flashback Database 321
    11.3.2  Flashback Database操作示例 324
     
    第四部分  迁移数据
     
    第12章  Import/Export导入和导出数据 328
    12.1  认识Import和Export 328
    12.1.1  传说中的“备份”工具 328
    12.1.2  初次调用示例 329
    12.2  调用IMP和EXP 331
    12.2.1  创建相关视图和角色 331
    12.2.2  授予权限 332
    12.2.3  调用方式 333
    12.3  EXP说,我导出 337
    12.3.1  我想导出表中的某些记录 337
    12.3.2  我想导出某个SCHEMA
    下的某些表 339
    12.3.3  我想导出某几个SCHEMA
    中的对象 339
    12.3.4  整个痛快的,全库导出 341
    12.3.5  我想(不想)要索引、约束、
    授权等 343
    12.3.6  导出文件太大了,
    超出了操作系统限制怎么办 344
    12.3.7  试试能否更快导出数据 346
    12.3.8  EXP导出常见问题 349
    12.4  IMP说,我导入 352
    12.4.1  执行导入前务必搞清楚的
    几个问题 353
    12.4.2  导入指定表到相同用户 353
    12.4.3  导入指定表到其他用户 354
    12.4.4  导入含LOB类型的表,且表空间与
    当前用户默认表空间不同 356
    12.4.5  导入表结构到指定用户 357
    12.4.6  IMP导入常见问题 358
    12.4.7  试试能否更快导入数据 359
    第13章  Data Pump导入和导出数据 363
    13.1  认识Data Pump 363
    13.1.1  Data Pump方式的导入和
    导出特性 363
    13.1.2  Data Pump如何处理数据 364
    13.2  调用IMPDP/EXPDP 365
    13.2.1  调用方式 365
    13.2.2  操作模式 366
    13.3  过滤对象或数据 367
    13.3.1  过滤数据 367
    13.3.2  过滤对象 368
    13.4  Data Pump执行导出 369
    13.4.1  导出对象时指定过滤条件 369
    13.4.2  跨数据库链方式导出数据 372
    13.4.3  并行方式导出提高效率 374
    13.5  Data Pump 执行导入 377
    13.5.1  导入对象到目标SCHEMA 377
    13.5.2  重定义对象所属SCHEMA
    和表空间 379
    13.5.3  通过NETWORK_LINK导出远端
    数据到本地数据库 381
    13.5.4  优化导入效率 382
    13.6  命令行交互方式管理和监控导入/
    导出任务 384
    13.6.1  进入命令行交互模式的管理界面 384
    13.6.2  执行管理操作 385
    13.7  Data Pump API 388
    13.7.1  使用DBMS_DATAPUMP
    导出指定SCHEMA 388
    13.7.2  使用DBMS_DATAPUMP
    导出指定对象 390
    第14章  使用传输表空间迁移数据 394
    14.1  认识传输表空间 394
    14.1.1 关于传输表空间特性 394
    14.1.2  关于跨平台传输表空间 395
    14.1.3  制约因素 396
    14.2  实战传输表空间 397
    14.2.1  操作步骤 397
    14.2.2  传输实战 399
    14.3  使用RMAN传输表空间 405
    14.3.1  RMAN创建传输集概述 405
    14.3.2  实战RMAN创建传输集 411
    14.4  使用RMAN跨平台传输 417
    14.4.1  跨平台传输的实现基础 417
    14.4.2  实战跨平台传输 424
    第15章  DUPLICATE复制数据库 430
    15.1  DUPLICATE复制概述 430
    15.1.1  认识DUPLICATE命令 430
    15.1.2  创建Duplicate数据库过程 433
    15.2  创建流程 434
    15.2.1  相同路径结构的复制 434
    15.2.2  异机不同路径结构的复制 435
    15.2.3  本地创建Duplicate数据库 437
    15.3  实战操作 437
    15.3.1  准备工作 437
    15.3.2  执行复制 441
    15.3.3  验证结果 443
    15.4  复制过程中的高级选项 444
    15.4.1  跳过表空间 444
    15.4.2  重命名Duplicate数据库中文件 445
    15.4.3  同步副本数据库 446
    15.5  创建物理Standby数据库 447
    15.5.1  创建过程概述 447
    15.5.2  实战DUPLICATE命令
    创建物理Standby 450
     
    第五部分  基础部分
     
    第16章  体系结构之数据库结构 458
    16.1  数据库物理存储结构 458
    16.1.1  控制文件(Control Files) 459
    16.1.2  数据文件(Datafiles) 459
    16.1.3  临时文件(Tempfiles) 461
    16.1.4  日志文件(Redolog Files) 462
    16.2  数据库逻辑存储结构 469
    16.2.1  逻辑存储结构概述 469
    16.2.2  块(Block) 470
    16.2.3  区(Extent) 475
    16.2.4  段(Segment) 478
    16.2.5  表空间(Tablespace) 479
    第17章  体系结构之实例结构 485
    17.1  内存结构 486
    17.1.1  SGA组成结构 486
    17.1.2  自动SGA内存管理 490
    17.1.3  数据缓冲区管理 491
    17.1.4  共享池管理 494
    17.1.5  其他缓冲区管理 495
    17.1.6  SGA共享池和数据缓存池的分配 496
    17.1.7  PGA组成结构 500
    17.1.8  PGA内存管理 502
    17.2  进程结构 504
    17.2.1  Oracle进程 505
    17.2.2  DBWn(数据库写进程) 506
    17.2.3  LGWR (日志写进程) 507
    17.2.4  CKPT(检查点进程) 507
    17.2.5  SMON(系统监控进程) 508
    17.2.6  PMON(进程监控进程) 509
    17.2.7  ARCn(归档进程) 509
    17.2.8  Jnnn(任务队列进程) 509
    17.3  实例相关的文件 510
    17.3.1  参数文件(Parameter Files) 510
    17.3.2  警告文件(Alert File) 511
    17.3.3  跟踪文件(Trace Files) 512
    附录A  SQLLDR命令的诸多参数 515
    附录B  IMP和EXP命令的诸多参数 520
    附录C  IMPDP和EXPDP命令的诸多参数 529
    附录D  Data Guard环境归档中断(GAP)
    或丢失的处理 546
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册