编辑推荐
《Oracle Database 12c DBA 官方手册(第8 版)》是全新、完整的Oracle DBA 知识宝库,披露了更好实践和专家级技术,力求将先进的理念、更好的方法和实用的技能奉献给读者,帮助你维护性能卓越的Oracle 数据库。《Oracle Database 12c DBA官方手册(第8版)》描述如何高效地管理数据库,交付高质量的产品,*终获得一个可靠、健壮、安全的可扩展数据库。《Oracle Database 12c DBA官方手册(第8版)》在上一版的基础上做了全面更新,将分析多租户体系结构、Oracle Database In-Memory选项和更强大的云功能等*特性和实用工具,并针对性地列举每种主要配置的示例。
《Oracle Database 12c DBA官方手册(第8版)》的内容是国内Oracle DBA 人员所急需的,很多真知灼见令人豁然开朗、如沐春风。 ;
内容简介
《Oracle Database 12c DBA官方手册(第8版)》在上一版的基础上做了全面更新,涵盖新功能和实用工具,如多租户体系结构、Oracle Database In-Memory选项和更强大的云功能;并列举每种主要配置的示例。你将学习如何成功地管理高度可用、可靠、安全和可扩展的Oracle企业级数据库环境。第Ⅰ部分讲述Oracle 体系结构、Oracle Database 12c 升级问题以及表空间计划,第Ⅱ部分介绍针对单机和网络数据库的适当监控、安全性和调整策略。“可扩展性”和“管理”无疑是Oracle Database 12c *的亮点,使用多租户数据库,可在保持性能不变的前提下在给定服务器上运行更多数据库实例,并更有效地利用服务器资源。第Ⅲ部分全方位描述“高可用性”,介绍RAC,详述恢复管理器,简述如何管理Oracle Data Guard 环境。第Ⅳ部分详述Oracle Net、网络化配置、物化视图、位置透明性以及其他方面的知识,帮助你成功实现分布式数据库或客户端/服务器数据库。主要内容● 升级到Oracle Database 12c● 规划和管理表空间● 借助高效的物理数据库布局和存储管理方法*限度地提高数据库性能● 监视数据库对象使用的磁盘空间● 用撤消表空间管理事务● 实施专家级性能调整技术● 使用新增的Oracle Database In-Memory选项提高查询速度● 利用身份验证、授权和审核等方式管理数据库安全● 充分利用多租户数据库体系结构● 利用Oracle RAC和Oracle Active Data Guard实现高可用性和高度扩展能力● 使用Oracle Recovery Manager执行备份和恢复● 管理分布式数据库和VLDB
作者简介
Bob Bryla是Oracle 9i、10g、11g和12c认证专家,在数据库设计、数据库应用开发、培训以及Oracle数据库管理领域拥有逾20年的经验。Bob是Epic公司(位于威斯康星州维罗纳)的首席Oracle DBA和数据库系统工程师,还担任多本Oracle Press图书的技术编辑,包括一些针对Oracle Database 10g、11g和12c认证的学习指南。闲暇之余他喜欢在Android上看科幻电影或玩游戏。
目录
目 录 第Ⅰ部分 数据库体系结构第1章 Oracle体系结构概述 31.1 数据库和实例概述 41.1.1 数据库 41.1.2 实例 51.2 Oracle逻辑存储结构 51.2.1 表空间 61.2.2 块 71.2.3 盘区 71.2.4 段 71.3 Oracle逻辑数据库结构 81.3.1 表 81.3.2 约束 141.3.3 索引 161.3.4 视图 181.3.5 用户和模式 201.3.6 配置文件 201.3.7 序列 201.3.8 同义词 211.3.9 PL/SQL 211.3.10 外部文件访问 221.3.11 数据库链接和远程数据库 221.4 Oracle物理存储结构 231.4.1 数据文件 241.4.2 重做日志文件 241.4.3 控制文件 241.4.4 归档的日志文件 251.4.5 初始参数文件 251.4.6 警报和跟踪日志文件 261.4.7 备份文件 261.4.8 Oracle管理文件 271.4.9 密码文件 271.5 多元复用数据库文件 271.5.1 自动存储管理 281.5.2 手动的多元复用 281.6 Oracle内存结构 301.6.1 系统全局区域 301.6.2 程序全局区域 321.6.3 软件代码区域 331.6.4 后台进程 331.7 备份/恢复概述 351.7.1 导出/导入 351.7.2 脱机备份 361.7.3 联机备份 361.7.4 RMAN 361.8 安全功能 361.8.1 权限和角色 371.8.2 审核 371.8.3 细粒度的审核 381.8.4 虚拟私有数据库 381.8.5 标号安全性 381.9 实时应用群集 381.10 Oracle流 391.11 Oracle企业管理器 391.12 Oracle初始参数 401.12.1 基本初始参数 401.12.2 高级初始参数 441.13 本章小结 45第2章 升级到Oracle Database 12c 472.1 选择升级方法 482.2 升级前的准备工作 502.3 使用DBUA 502.4 执行手动直接升级 512.5 使用Data Pump Export和Import 532.5.1 使用的Export和Import版本 532.5.2 执行升级 532.6 使用数据复制方法 542.7 升级后的工作 542.8 本章小结 55第3章 计划和管理表空间 573.1 表空间的体系结构 583.1.1 表空间类型 583.1.2 OFA 643.2 Oracle安装表空间 683.2.1 SYSTEM 683.2.2 SYSAUX 683.2.3 TEMP 683.2.4 UNDOTBS1 693.2.5 USERS 693.2.6 EXAMPLE 693.3 段分离 693.4 本章小结 70第4章 物理数据库布局和存储管理 714.1 传统磁盘空间存储 724.1.1 重设表空间和数据文件的大小 724.1.2 移动数据文件 784.1.3 移动联机重做日志文件 814.1.4 移动控制文件 834.2 自动存储管理 854.2.1 ASM体系结构 854.2.2 创建ASM实例 864.2.3 ASM实例组件 884.2.4 ASM动态性能视图 904.2.5 ASM文件名格式 914.2.6 ASM文件类型和模板 934.2.7 管理ASM磁盘组 944.3 本章小结 103第Ⅱ部分 数据库管理第5章 开发和实现应用程序 1075.1 调整设计:最佳实践 1085.1.1 做尽可能少的工作 1085.1.2 做尽可能简单的工作 1115.1.3 告诉数据库需要知道的内容 1125.1.4 最大化环境中的吞吐量 1135.1.5 分开处理数据 1135.1.6 正确测试 1145.1.7 标准的可交付成果 1165.2 资源管理 1185.2.1 实现数据库资源管理器 1185.2.2 调整数据库对象的大小 1235.2.3 使用全局临时表 1295.3 支持基于抽象数据类型的表 1305.3.1 使用对象视图 1305.3.2 抽象数据类型的安全性 1335.3.3 对抽象数据类型属性创建索引 1355.4 停顿并挂起数据库 1365.5 支持迭代开发 1375.5.1 迭代式列定义 1375.5.2 强制光标共享 1385.6 管理程序包开发 1395.6.1 生成图表 1395.6.2 空间需求 1395.6.3 调整目标 1395.6.4 安全性需求 1395.6.5 数据需求 1405.6.6 版本需求 1405.6.7 执行计划 1405.6.8 验收测试过程 1405.6.9 测试环境 1405.7 本章小结 141第6章 监控空间利用率 1436.1 常见的空间管理问题 1446.1.1 用尽表空间中的空闲空间 1446.1.2 用于临时段的空间不足 1456.1.3 所分配的撤消空间过多或过少 1456.1.4 分片的表空间和段 1456.2 Oracle段、盘区和块 1466.2.1 数据块 1476.2.2 盘区 1486.2.3 段 1496.3 数据字典视图和动态性能视图 1506.3.1 DBA_TABLESPACES 1506.3.2 DBA_SEGMENTS 1506.3.3 DBA_EXTENTS 1516.3.4 DBA_FREE_SPACE 1516.3.5 DBA_LMT_FREE_SPACE 1526.3.6 DBA_THRESHOLDS 1526.3.7 DBA_OUTSTANDING_ALERTS 1526.3.8 DBA_OBJECT_USAGE 1526.3.9 DBA_ALERT_HISTORY 1536.3.10 V$ALERT_TYPES 1536.3.11 V$UNDOSTAT 1536.3.12 V$SORT_SEGMENT 1546.3.13 V$TEMPSEG_USAGE 1546.4 空间管理方法学 1546.4.1 本地管理的表空间 1546.4.2 使用OMF管理空间 1556.4.3 大文件表空间 1576.4.4 自动存储管理 1586.4.5 撤消管理的考虑事项 1606.5 SYSAUX监控和使用 1616.6 归档重做日志文件的管理 1626.7 内置的空间管理工具 1636.7.1 段顾问 1636.7.2 撤消顾问和自动工作负荷存储库 1666.7.3 索引利用率 1676.7.4 空间利用率警告级别 1696.7.5 可恢复的空间分配 1716.7.6 用ADR管理警报日志和跟踪文件 1746.7.7 OS空间管理 1766.8 空间管理脚本 1766.8.1 无法分配额外盘区的段 1766.8.2 表空间和数据文件已使用的空间和空闲空间 1766.9 自动化和精简通知过程 1786.9.1 使用DBMS_SCHEDULER 1786.9.2 Cloud Control和监控 1786.10 本章小结 185第7章 使用撤消表空间管理事务 1877.1 事务基础 1887.2 撤消基础 1887.2.1 回滚 1897.2.2 读一致性 1897.2.3 数据库恢复 1897.2.4 闪回操作 1897.3 管理撤消表空间 1907.3.1 创建撤消表空间 1907.3.2 撤消表空间的动态性能视图 1957.3.3 撤消表空间的初始参数 1957.3.4 多个撤消表空间 1977.3.5 撤消表空间的大小调整和监控 1997.3.6 读一致性与成功的DML 2027.4 闪回特性 2027.4.1 Flashback Query(闪回查询) 2037.4.2 DBMS_FLASHBACK 2047.4.3 Flashback Transaction Backout(闪回事务停止) 2067.4.4 Flashback Table(闪回表) 2077.4.5 Flashback Version Query(闪回版本查询) 2087.4.6 Flashback Transaction Query(闪回事务查询) 2117.4.7 Flash Data Archive(闪回数据归档) 2127.4.8 闪回与LOB 2167.5 迁移到自动撤消管理 2167.6 本章小结 216第8章 数据库调整 2198.1 调整应用程序设计 2208.1.1 有效的表设计 2208.1.2 CPU需求的分布 2218.1.3 有效的应用程序设计 2238.2 调整SQL 2248.2.1 顺序对加载速率的影响 2258.2.2 其他索引选项 2258.2.3 生成解释计划 2278.3 调整内存使用率 2298.3.1 管理SGA池 2298.3.2 指定SGA的大小 2318.3.3 使用基于成本的优化器 2328.4 调整数据访问 2338.4.1 标识链行 2338.4.2 使用索引组织表 2348.4.3 索引组织表的调整问题 2358.5 调整数据操作 2368.5.1 批量插入:使用SQL*Loader Direct Path选项 2368.5.2 批量数据移动:使用外部表 2378.5.3 批量插入:常见的陷阱和成功技巧 2388.5.4 批量删除:TRUNCATE命令 2398.5.5 使用分区 2408.6 减少网络流量 2408.6.1 使用物化视图复制数据 2408.6.2 使用远程过程调用 2428.7 使用AWR 2438.7.1 管理快照 2438.7.2 管理基线 2448.7.3 生成AWR报告 2448.7.4 运行Automatic Database Diagnostic Monitor报告 2458.7.5 使用自动SQL调整顾问 2468.8 多租户环境中的性能调整 2478.8.1 调整方法 2488.8.2 调整CDB 2488.8.3 使用内存顾问 2508.8.4 使用AWR报告 2518.8.5 使用SQL调整顾问 2518.9 管理PDB中的资源分配 2528.9.1 使用份额来管理PDB之间的资源分配 2528.9.2 创建和修改Resource Manager计划 2538.10 执行数据库重放 2578.10.1 分析源数据库工作负荷 2578.10.2 捕获源数据库工作负荷 2588.10.3 在目标系统上处理工作负荷 2588.10.4 在目标CDB上重放工作负荷 2588.10.5 验证重放结果 2588.11 本章小结 258第9章 In-Memory选项 2619.1 Oracle In-Memory选项概述 2619.1.1 系统需求和设置 2629.1.2 In-Memory案例研究 2629.2 数据字典视图 2669.2.1 V$IM_SEGMENTS 2669.2.2 V$INMEMORY_AREA 2679.2.3 V$SGA 2679.3 本章小结 267第10章 数据库安全性和审核 26910.1 非数据库的安全性 27010.2 数据库身份验证方法 27110.2.1 数据库身份验证 27110.2.2 数据库管理员身份验证 27110.2.3 操作系统身份验证 27410.2.4 网络身份验证 27510.2.5 三层身份验证 27710.2.6 客户端身份验证 27710.2.7 用户账户 27810.3 数据库授权方法 28310.3.1 配置文件的管理 28310.3.2 系统权限 29010.3.3 对象权限 29210.3.4 创建、分配和维护角色 29610.3.5 使用VPD实现应用程序安全策略 30210.4 审核 31910.4.1 审核位置 31910.4.2 语句审核 32010.4.3 权限审核 32410.4.4 模式对象审核 32510.4.5 细粒度的审核 32610.4.6 与审核相关的数据字典视图 32710.4.7 保护审核跟踪 32810.5 数据加密技术 32810.5.1 DBMS_CRYPTO程序包 32910.5.2 透明数据加密 32910.6 本章小结 330第11章 多租户数据库体系结构 33111.1 理解多租户体系结构 33211.1.1 利用多租户数据库 33311.1.2 理解多租户配置 33311.2 在多租户环境中预配 33511.2.1 理解可插入数据库预配 33511.2.2 配置和创建CDB 33811.2.3 理解新增的后续数据字典视图 34211.2.4 创建PDB 34411.2.5 拔下和删除PDB 34911.3 管理CDB和PDB 35211.3.1 理解CDB和PDB服务名 35211.3.2 使用SQL Developer连接到CDB或PDB 35311.3.3 为CDB或PDB创建服务 35411.3.4 在CDB中切换连接 35511.3.5 启动和关闭CDB及PDB 35511.3.6 更改CDB中的参数 36211.3.7 管理CDB和PDB中的永久和临时表空间 36311.4 多租户安全 36611.4.1 管理公共和本地用户 36611.4.2 管理公共和本地权限 36811.4.3 管理公共和本地角色 36911.4.4 使公共用户访问特定PDB中的数据 37011.5 多租户环境中的备份和恢复 37211.5.1 执行CDB和所有PDB的备份 37211.5.2 备份CDB 37511.5.3 备份PDB 37711.5.4 恢复丢失的PDB数据文件 37911.5.5 使用DRA 38711.5.6 确定受损的块 39211.5.7 使用RMAN复制PDB 39311.6 本章小结 393第Ⅲ部分 高 可 用 性第12章 实时应用群集 39712.1 实时应用群集概述 39812.1.1 硬件配置 39812.1.2 软件配置 39912.1.3 网络配置 39912.1.4 磁盘存储 40012.2 RAC特征 40012.2.1 服务器参数文件特征 40012.2.2 与RAC相关的初始化参数 40112.2.3 动态性能视图 40112.3 RAC维护 40312.3.1 启动RAC 40312.3.2 RAC环境中的重做日志 40412.3.3 RAC环境中的撤消表空间 40412.3.4 故障转移情况和TAF 40412.3.5 调整RAC节点 40612.4 本章小结 406第13章 备份和恢复选项 40913.1 备份功能 40913.2 逻辑备份 41013.3 物理备份 41113.3.1 脱机备份 41113.3.2 联机备份 41113.4 使用Data Pump Export和Data Pump Import 41313.4.1 创建目录 41313.4.2 Data Pump Export选项 41413.4.3 启动Data Pump Export作业 41713.4.4 Data Pump Import选项 42113.5 实现脱机备份 42813.6 实现联机备份 42813.6.1 开始(操作) 42913.6.2 执行联机数据库备份 43013.7 集成备份过程 43113.7.1 集成逻辑备份和物理备份 43113.7.2 集成数据库备份和操作系统备份 43213.8 本章小结 433第14章 使用恢复管理器(RMAN) 43514.1 RMAN的特性和组件 43614.1.1 RMAN组件 43614.1.2 RMAN与传统备份方法 43714.1.3 备份类型 43914.2 RMAN命令和选项的概述 44014.2.1 在RMAN中运行SQL命令 44014.2.2 常用命令 44114.2.3 设置存储库 44214.2.4 注册数据库 44414.2.5 持久保存RMAN设置 44514.2.6 初始化参数 44914.2.7 数据字典和动态性能视图 44914.3 备份操作 45114.3.1 完整数据库备份 45114.3.2 备份表空间 45614.3.3 备份数据文件 45714.3.4 映像副本备份 45714.3.5 备份控制文件和SPFILE 45914.3.6 备份归档重做日志 45914.3.7 增量备份 46014.3.8 增量更新的备份 46214.3.9 增量备份块变化跟踪 46414.3.10 使用快速恢复区 46514.3.11 验证备份 46514.4 恢复操作 46814.4.1 块介质恢复 46814.4.2 还原控制文件 46914.4.3 还原表空间 46914.4.4 还原表 47114.4.5 还原数据文件 47214.4.6 还原整个数据库 47214.4.7 验证还原操作 47414.4.8 时间点恢复 47614.4.9 数据恢复顾问 47614.5 其他操作 47914.5.1 编目其他备份 47914.5.2 目录维护 48014.5.3 REPORT和LIST 48114.6 本章小结 483第15章 Oracle Data Guard 48515.1 Data Guard体系结构 48515.1.1 物理备用数据库与逻辑备用数据库 48615.1.2 数据保护模式 48715.2 LOG_ARCHIVE_DEST_n参数属性 48915.3 创建备用数据库配置 48915.3.1 准备主数据库 49015.3.2 创建逻辑备用数据库 49415.4 使用实时应用 49615.5 管理归档日志序列中的间隙 49715.6 管理角色—— 切换和故障转移 49715.6.1 切换 49715.6.2 故障转移 50015.7 管理数据库 50115.7.1 启动和关闭物理备用数据库 50115.7.2 以只读模式打开物理备用数据库 50215.7.3 在Data Guard环境中管理数据文件 50215.7.4 在逻辑备用数据库上执行DDL 50215.8 本章小结 503第16章 其他高可用性特性 50516.1 使用闪回删除来恢复被删除的表 50616.2 FLASHBACK DATABASE命令 50716.3 使用LogMiner 51016.3.1 LogMiner的工作方式 51016.3.2 提取数据字典 51016.3.3 分析一个或多个重做日志文件 51116.4 联机对象重组织 51416.4.1 联机创建索引 51416.4.2 联机重建索引 51516.4.3 联机合并索引 51516.4.4 联机重建以索引组织的表 51516.4.5 联机重新定义表 51516.4.6 联机移动数据文件 51716.5 本章小结 517第Ⅳ部分 网络化的Oracle第17章 Oracle Net 52117.1 Oracle Net概述 52217.1.1 连接描述符 52517.1.2 网络服务名 52517.1.3 用Oracle Internet Directory替换tnsnames.ora 52617.1.4 侦听程序 52617.2 使用Oracle Net Configuration Assistant 53017.2.1 配置侦听程序 53117.2.2 Naming Methods Configuration 53217.2.3 Local Net Service Name Configuration 53217.2.4 Directory Usage Configuration 53317.3 使用Oracle Net Manager 53417.4 启动侦听程序服务器进程 53517.5 对侦听程序服务器进程进行控制 53717.6 Oracle Connection Manager 53917.6.1 使用Oracle Connection Manager 54017.6.2 配置Oracle Connection Manager 54017.6.3 使用连接管理器控制实用程序(CMCTL) 54217.7 使用Oracle Internet Directory 的目录命名 54317.7.1 Oracle Internet Directory体系结构 54317.7.2 设置Oracle Internet Directory 54417.8 使用Easy Connect Naming 54517.9 使用数据库链接 54617.10 调整Oracle Net 54717.10.1 限制资源的使用 54817.10.2 使用压缩 54817.10.3 调试连接问题 54917.11 本章小结 550第18章 管理大型数据库 55118.1 在VLDB环境中创建表空间 55218.1.1 大文件表空间的基本知识 55318.1.2 创建和修改大文件表空间 55318.1.3 大文件表空间ROWID格式 55418.1.4 DBMS_ROWID和大文件表空间 55518.1.5 将DBVERIFY用于大文件表空间 55718.1.6 大文件表空间的初始化参数需要考虑的因素 55918.1.7 大文件表空间数据字典的变化 55918.2 高级的Oracle表类型 56018.2.1 索引组织的表 56018.2.2 全局临时表 56118.2.3 外部表 56218.2.4 分区表 56418.2.5 物化视图 58818.3 使用位图索引 58918.3.1 理解位图索引 58918.3.2 使用位图索引 59018.3.3 使用位图连接索引 59018.4 本章小结 591第19章 管理分布式数据库 59319.1 远程查询 59419.2 远程数据处理:两阶段提交 59519.3 动态数据复制 59619.4 管理分布式数据 59719.4.1 基础设施:实施位置透明性 59719.4.2 管理数据库链接 60219.4.3 管理数据库触发器 60319.4.4 管理物化视图 60419.4.5 使用DBMS_MVIEW和DBMS_ADVISOR 60819.4.6 可执行什么类型的更新 61719.4.7 使用物化视图改变查询执行路径 62019.5 管理分布式事务 62219.5.1 解决未确定的事务 62219.5.2 提交点强度 62319.6 监控分布式数据库 62319.7 调整分布式数据库 62419.8 本章小结 626
前沿
前 言
无论是有经验的DBA、DBA新手还是应用程序开发人员,都需要了解Oracle Database 12c的新特性,以最好地满足顾客的需求。《Oracle Database 12c DBA官方手册(第8版)》将介绍这些最新特性(包括In-Memory选项)以及如何将这些特性结合到Oracle数据库管理中。贯穿《Oracle Database 12c DBA官方手册(第8版)》的重点是高效地管理数据库的功能,从而交付高质量的产品。最终结果是得到一个可靠的、健壮的、安全的和可扩展的数据库。有些元素对于实现该目标至关重要。《Oracle Database 12c DBA官方手册(第8版)》第Ⅰ部分中,在介绍了Oracle体系结构、Oracle 12c升级问题以及表空间计划后,将探讨所有这些元素。设计良好的逻辑和物理数据库体系结构将凭借合理分布的数据库对象来改进性能并简化管理。《Oracle Database 12c DBA官方手册(第8版)》第Ⅱ部分将介绍针对单机和网络数据库的适当监控、安全性和调整策略。《Oracle Database 12c DBA官方手册(第8版)》也介绍了用于帮助确保数据库可恢复性的备份和恢复策略。每一章节都重点讲述相应的特性以及每个领域的适当计划和管理技术。可扩展性和管理无疑是Oracle Database 12c中最大的改进之处。与Oracle Database 12c问世之前的单实例数据库相比,使用可插入数据库(又称多租户数据库或容器数据库)可以更有效地利用服务器资源;这意味着可在保持性能不变的前提下在给定服务器上运行更多数据库实例,就像这些实例运行在不同服务器上一样。由于可以非常便捷地从一个容器数据库“拔下”可插入数据库,将其“插回”另一个容器数据库,因此可以根据需要,将一个或多个可插入数据库迁移到其他服务器上。《Oracle Database 12c DBA官方手册(第8版)》第Ⅲ部分将全方位讲述高可用性,知识点多,例如将介绍实时应用群集(Real Application Clusters,RAC)、详述恢复管理器(RMAN)、简述如何管理Oracle Data Guard环境。《Oracle Database 12c DBA官方手册(第8版)》也透彻讲解网络化问题以及分布式数据库和客户端/服务器数据库的管理。第Ⅳ部分将详细讨论Oracle Net、网络化配置、物化视图、位置透明性以及其他方面的内容,从而帮助你成功实现分布式数据库或客户端/服务器数据库。该部分也介绍一些针对每个主要配置的实际示例。除了执行DBA活动所需的命令外,《Oracle Database 12c DBA官方手册(第8版)》还介绍Oracle Enterprise Manager Cloud Control 12c网页,你可在其中执行类似功能。学习《Oracle Database 12c DBA官方手册(第8版)》中介绍的技术,可很好地设计并实现自己的系统,从而尽量减少调整工作。数据库管理工作也变得更简单,用户可以获得更好的产品,数据库也可以运作得更好。最后,也是较重要的一点是,如果一《Oracle Database 12c DBA官方手册(第8版)》包含示例,却未提供示例的源代码,那么这《Oracle Database 12c DBA官方手册(第8版)》是不完整的。可访问http://www.tupwk.com.cn/downpage,获取示例代码文件12c DBA Handbook Code Listings.zip。
Oracle Database 12c DBA官方手册(第8版) pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版