基本信息
作者: 赵振平 [作译者介绍]
出版社:电子工业出版社
ISBN:9787121061899
上架时间:2008-5-30
出版日期:2008 年5月
开本:16开
页码:932
版次:1-1
编辑推荐
耗时3年,作者曾为本书辞职在家专心写作.
754个实务,件件源自实际工作的经验与教训,配有实务速查目录
分享经验,现在作者管理数据库时,就通过复制本书内容来搞定问题..
为初学者去除Oracle的神秘面纱,少走弯路
为专业人士提供速查手册,遇到故障不求人...
内容简介
本书是一本毫无保留的Oracle学习宝典。通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理以及应用程序开发等相关知识。本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。
目录
第1篇 创建属于自己的oracle数据库
第1章 认识oracle的世界——oracle的体系结构
1.1 oracle的发家史
1.2 数据库
1.3 数据库管理系统(dbms)
1.4 关系数据库的概念(rdbms)
1.4.1 关系数据库模型
1.4.2 表
1.5 oracle的总体框架结构
1.5.1 oracle实例(oracle instance)
1.5.2 oracle的存储结构
1.6 数据字典(data dictionary)
1.6.1 数据字典概述
1.6.2 数据字典的结构
1.6.3 数据字典的使用
第2章 迈出第1步——oracle的安装/卸载
2.1 oracle的安装
2.1.1 oracle安装的几个概念
2.1.2 oracle g(10.1)的安装——windows篇
2.1.3 oracle g的安装——solaris篇
. 2.1.4 oracle安装疑难解析
2.2 oracle的卸载
2.2.1 oracle完全卸载——windows篇
2.2.2 oracle完全卸载——unix篇
第3章 有米之炊——数据库的创建与删除
3.1 创建数据库
3.1.1 数据库创建概述
3.1.2 solaris下用dbca创建数据库
3.1.3 diy——solaris下手工创建数据库
3.1.4 数据库创建疑难解析
3.2 删除数据库
3.2.1 数据库删除概述
3.2.2 数据库删除——手工篇
3.2.3 数据库删除——dbca篇
第2篇 网 络 管 理
第4章 oracle网络管理并不难
4.1 oracle网络体系结构
4.1.1 oracle应用的几种网络结构
4.1.2 oracle net
4.1.3 osi模型
4.1.4 oracle net的堆栈结构
4.1.5 oracle监听器
4.1.6 连接描述符(connect identifier)
4.1.7 网络服务名(net service name)
4.1.8 命名方法
4.1.9 配置oracle网络的工具
4.2 oracle网络管理
4.2.1 oracle网络服务器端配置
4.2.2 oracle网络客户端配置
4.3 oracle网络管理疑难解析
4.3.1 oracle网络服务器端配置疑难解析
4.3.2 oracle网络客户端配置疑难解析
4.3.3 oracle网络与防火墙(firewall)
第3篇 系 统 管 理
第5章 系统管家婆——sql*plus的使用
5.1 系统管理工具sql*plus
5.2 sql缓冲区(sql buffer)
5.3 sql*plus的环境配置
5.3.1 sql*plus的环境变量
5.3.2 sql*plus站点配置文件(site profile)
5.3.3 sql*plus用户配置文件(user profile)
5.4 sql*plus的启动
5.5 sql*plus专有命令介绍
5.5.1 登录,注销命令
5.5.2 编辑命令
5.5.3 其他有用的sql*plus命令
5.6 sql*plus 与疑难解析
第6章 有始有终——数据库的启动与关闭
6.1 数据库启动
6.1.1 数据库启动原理
6.1.2 数据库启动
6.1.3 数据库启动疑难解析
6.2 数据库关闭
6.2.1 数据库关闭原理
6.2.2 数据库的关闭(shutdown)
6.2.3 数据库关闭疑难解析
第7章 理清两个模式问题——专有/共享服务器模式
7.1 理解专有服务器模式(dedicated server mode)
7.2 共享服务器模式(shared server mode)原理
7.2.1 共享服务器模式(shared server mode)的架构
7.2.2 监听器和调度进程的关系
7.2.3 请求队列(request queue)/响应队列(response queue)
7.2.4 调度进程(dispatcher processes,dnnn)
7.2.5 共享服务器进程(shared server processes,snnn)
7.3 共享服务器模式(shared server mode)
7.4 共享服务器模式(shared server mode)疑难解析
第8章 掌握两个管理问题——表空间和数据文件的管理
8.1 数据库存储结构
8.1.1 物理结构
8.1.2 逻辑结构
8.2 深刻理解表空间
8.2.1 大文件表空间
8.2.2 系统表空间
8.2.3 辅助表空间
8.2.4 回滚表空间(undo tablespace)
8.2.5 临时表空间
8.2.6 表空间中区的管理方式
8.2.7 表空间中段的管理方式
8.2.8 非标准块表空间
8.2.9 表空间的离线(offline)与在线(online)
8.2.10 只读表空间(read-only tablespace)
8.3 深刻理解数据文件
8.3.1 数据文件的内容
8.3.2 数据文件的尺寸(size)
8.3.3 离线数据文件
8.3.4 临时数据文件(temporary datafiles)
8.4 表空间管理 与疑难解析
8.4.1 永久表空间管理
8.4.2 临时表空间管理 与疑难解析
8.4.3 回滚表空间管理 与疑难解析
8.5 数据文件管理 与疑难解析
8.5.1 数据文件管理
8.5.2 数据文件管理疑难解析
第9章 进程管理
9.1 oracle进程简介
9.2 用户进程
9.3 oracle进程
9.3.1 服务器进程
9.3.2 后台进程
9.4 进程综合管理 与疑难解析
9.5 会话管理 与疑难解析
第10章 内存管理
10.1 oracle内存结构简介
10.2 系统全局区
10.3 sga自动管理
10.4 sga组成介绍
10.4.1 数据库高速缓冲区
10.4.2 日志缓冲区
10.4.3 共享池
10.4.4 大池
10.4.5 java池
10.4.6 流池
10.5 程序全局区
10.6 内存管理 与疑难解析
第11章 用户管理
11.1 用户验证
11.1.1 口令认证
11.1.2 外部认证
11.1.3 全局认证
11.2 oracle的安全大门——权限(privileges)
11.2.1 系统权限
11.2.2 对象权限
11.3 使权限管理变得更加容易——角色(role)
11.4 限制用户的资源消耗——资源限制文件(profile)
11.4.1 资源限制的级别
11.4.2 限制资源的参数
11.5 用户与权限管理 与疑难解析
11.5.1 用户管理 与疑难解析
11.5.2 权限管理 与疑难解析
11.5.3 角色管理 与疑难解析
11.5.4 资源限制文件管理 与疑难解析
第4篇 移动你的数据库
第12章 数据导出
12.1 数据导出方法介绍
12.1.1 oracle最新导出工具——data pump export
12.1.2 oracle原来的导出工具——export
12.2 数据导出
12.3 数据导出疑难解析
第13章 数据导入
13.1 数据导入方法介绍
13.1.1 oracle最新导入工具——data pump import
13.1.2 oracle以前的导入方法——import
13.2 数据导入
13.3 数据导入疑难解析
第5篇 oracle文件管理
第14章 重中之重——控制文件的管理
14.1 控制文件的概念
14.2 控制文件管理 与疑难解析
第15章 成为数据库的最高统治者——口令文件(password file)管理
15.1 超级用户权限(sysdba、sysoper)介绍
15.2 口令文件的基本概念
15.3 启用口令文件认证
15.4 口令文件管理 与疑难解析
第16章 联机日志文件管理
16.1 联机日志文件的概念
16.1.1 联机日志文件的内容
16.1.2 联机日志文件的循环利用
16.2 联机日志文件管理 与疑难解析
第17章 参数文件(pfile/spfile)管理
17.1 参数文件的基本概念
17.2 初始化参数文件
17.3 服务器参数文件
17.4 初始化参数的修改
17.5 参数管理 与疑难解析
第6篇 oracle高级专题
第18章 全球应用——分布式数据库疑难攻略
18.1 分布式数据库系统的概念
18.1.1 同构分布式数据库系统
18.1.2 异构分布式数据库系统
18.1.3 数据库链接(database link)
18.2 分布式数据库管理 与疑难解析
第19章 并不陌生的问题——裸设备
19.1 裸设备的概念
19.2 裸设备管理 与疑难解析
第7篇 数据库备份/恢复
第20章 备份/恢复之基石——归档(archivelog)管理
20.1 归档的基本概念
20.1.1 非归档模式
20.1.2 归档模式
20.1.3 归档路径
20.2 归档管理 与疑难解析
第21章 必行之举——数据库备份
21.1 理解数据库备份
21.1.1 数据库失败的种类
21.1.2 备份和恢复的解决方案
21.1.3 备份和恢复的物理结构
21.1.4 备份的类型
21.1.5 执行用户管理的备份
21.2 恢复管理器(rman)
21.2.1 通道
21.2.2 备份集的维护
21.2.3 rman资料库
21.2.4 rman的使用
21.3 数据库备份 与疑难解析
21.4 恢复目录管理 与疑难解析
第22章 失而复得——数据库恢复
22.1 数据库恢复
22.1.1 实例恢复
22.1.2 介质恢复
22.1.3 用户错误(user error)的恢复
22.2 数据库闪回(flashback database)
22.3 用户管理的恢复(user-managed recovery)
22.4 联机日志文件丢失的恢复
22.5 控制文件损坏的恢复
22.6 数据文件损坏的恢复
22.7 表的恢复(用户错误的恢复)
第8篇 oracle程序设计
第23章 数据库通用语言——sql语句
23.1 结构化查询语言简介
23.2 select语句
23.2.1 理解select 语句
23.2.2 select语句使用 与疑难解析
23.3 insert语句
23.3.1 理解insert语句
23.3.2 insert语句使用 与疑难解析
23.4 update语句
23.4.1 理解update语句
23.4.2 update语句使用 与疑难解析
23.5 delete语句
23.5.1 理解delete语句
23.5.2 delete语句的使用
23.6 sql语句中,集合函数使用 与疑难解析
第24章 模式对象(schema object)的管理
24.1 模式(schema)的概念
24.2 模式对象管理
24.2.1 表(table)
24.2.2 索引(index)
24.2.3 外部表(external table)
24.2.4 临时表(temporary table)
24.2.5 分区表(partition table)
24.2.6 聚簇(cluster)
24.2.7 索引组织表(index-organized table,iot)
24.2.8 视图
24.2.9 同义词
24.2.10 序列
第25章 pl/sql应用程序开发
25.1 pl/sql简述
25.1.1 pl/sql块结构
25.1.2 数据类型
25.1.3 运算符
25.1.4 pl/sql语句控制结构
25.2 存储过程(stored procedure)
25.2.1 存储过程的基本原理
25.2.2 存储过程管理 与疑难解析
25.3 函数(function)
25.3.1 函数的基本原理
25.3.2 函数的管理 与疑难解析
25.4 包
25.4.1 包的基本原理
25.4.2 包管理 与疑难解析
25.5 触发器
25.5.1 触发器的基本原理
25.5.2 触发器管理 与疑难解析
25.6 游标
25.6.1 游标的基本原理
25.6.2 游标管理 与疑难解析
速查目录
第2章 迈出第1步——oracle的安装/卸载
实务1 安装oracle时,为什么不能启动安装界面
实务2 为什么oracle安装界面无法显示中文,都是“□□□”
实务3 安装oracle时,报告错误“ora-12547:tns:lost contact” 实务
实务4 如何下载oracle的安装文件
实务5 oracle安装完成后,用户sys与system默认的密码是什么 实务
实务6 如何找到oracle安装时生成的日志文件
实务7 安装oracle时,是否需要安装jdk
实务8 解压安装文件时,报告无权限 实务
实务9 安装oracle软件并创建完数据库后,服务内的oraclesid显示
实务9 “启动”而不是“已启动”
实务10 安装oracle时,报告错误“thrown when the ip address of a host
实务10 cannot be determined”
实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/
实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息”
实务12 安装时,提示“安装程序交换区c:\documents and settings\
实务12 administrator\local settings\temp\orainstall没有足够的磁盘空间,
实务12 请再装备一些磁盘空间,然后再试” 实务
实务13 创建数据库时,出现错误“ora-03113: end-of-file on
实务13 communication channel”
实务14 安装oracle时,报告错误“ora-27102:out of memory”
实务15 在linux(unix)环境下成功安装了oracle g,从windows
实务15 下用ie登录oracle g的em时,按钮显示为“□□” 实务
实务16 在linux as4安装oracle i(9.2.x.x),当执行runinstaller时,出现错误
实务17 是否可以在同一机器上既装oracle i又装oracle i 实务
实务18 安装oracle i时,遇到错误“invalid end header format” 实务
实务19 在同一台机器上同时安装oracle i与oracle g
实务20 安装oracle时,报告错误“ora-27123:unable to attach to shared
实务20 memory segment”。 实务
实务21 安装oracle时,报告错误,不能够写/tmp目录 实务
实务22 安装oracle g时,报告操作系统版本(operating system version)
实务22 检查失败之案例一 实务
实务23 在安装oracle g时,报告补丁包(service pack)检查失败 实务
实务24 安装oracle时,报告显示器(monitor)设置检查失败
实务25 oracle安装完成以后,为什么在提示符下输入sqlplus,提示命令不存在
实务26 安装oracle时,报告打开共享对象文件libawt.so:libxp.so.6错误 实务
实务27 安装oracle时,报告错误“…cannot restore segment prot after reloc:
实务27 permission denied” 实务
实务28 安装oracle时,报告错误“…libaio.so.1: cannot open shared object file” 实务
实务29 在windows上安装oracle,临时目录的空间充足,却报告不能够
实务29 写临时目录
实务30 安装oracle到一定进度时,报告错误“加载数据库时出错:areasqueries”
实务31 oracle i在奔腾4(p4)机器上安装的异常处理
实务32 安装oracle时,报告先决条件检查失败
实务33 如何标识已经存在的oracle根目录(oracle base directory) 实务
实务34 如何标识已经存在的oracle清单目录(oracle inventory director)
实务35 如何标识已经存在的oracle主目录(oracle home directory) 实务
第3章 有米之炊——数据库的创建与删除
实务36 使用dbca创建数据库时,报告错误“ora-12547: tns: lost contact” 实务
实务37 使用dbca创建数据库时,报告错误“ora-12571: tns:packet writer failure”
实务38 使用dbca创建数据库时,报告错误“ora-27123: unable to attach to shared memory segment”
实务39 手工创建数据库时,如何查找数据库创建失败的原因
实务40 手工创建数据库时,报告错误“ora-01504: database name 'tt' does not match parameter db_name 'man'”
实务41 手工创建数据库,启动实例时,报告错误“ora-24324: service handle not initialized”
实务42 手工创建数据库时,报告错误“ora-27038: created file already exists” 实务
实务43 手工创建数据库时,报告错误“ora-01100: database already mounted”
实务44 手工重建数据库时,报告错误“ora-01092: oracle instance terminated. disconnection forced”之案例一 实务
实务45 手工重建数据库时,报告错误“ora-01092: oracle instance terminated. disconnection forced”之案例二 实务
实务46 手工重建数据库时,报告错误“ora-01092: oracle instanceterminated. disconnection forced”之案例三
实务47 手工创建数据库时,报告错误“ora-01034: oracle not available”
实务48 手工创建数据库,启动实例时,后台进程启动失败(如ora-00444:background process "lgwr" failed while starting)
实务49 手工创建数据库,启动实例时,报告参数user_dump_dest错误
第4章 oracle网络管理并不难
实务50 启动监听器时,报告错误“无法找到指定的路径” 实务
实务51 连接数据库时,报告错误“tns-12541:tns:no listener”(没有监听器)之案例一
实务52 连接数据库时,报告错误“tns-12541:tns:no listener”(没有监听器)之案例二
实务53 连接数据库时,报告错误“tns-12541:tns:no listener”(没有监听器)之案例三
实务54 如何修改监听器的端口号
实务55 启动监听器时,报告错误“tns-12545:connect failed because target host or object does not exist”案例一 实务
实务56 启动监听器时,报告错误“tns-12545:connect failed because target host or object does not exist”案例二 实务
实务57 客户端连接数据库时,报告权限不足(ora-01031:insufficient privileges)
实务58 以sysdba的身份登录数据库,报告错误“ora-12518:tns:listener could not hand off client connection” 实务
实务59 连接数据库时,报告错误“tns-12538:tns:no such protocol adapter”
实务60 如何禁止以操作系统认证方式登录oracle 实务
实务61 连接数据库时,报告错误“ora-12505: tns:listener does not currently know of sid given in connect descriptor”
实务62 连接数据库时,报告错误“tns-03505 failed to resolve name”(无法解析服务名)之案例一
实务63 连接数据库时,报告错误“tns-03505:failed to resolve name”(无法解析服务名)之案例二
实务64 连接数据库时,报告错误“tns-03505:failed to resolve name”(无法解析服务名)之案例三
实务65 连接数据库时,报告错误“tns-03505:failed to resolve name”(无法解析服务名)之案例四
实务66 连接数据库时,报告错误“tns-12535:tns:operation timed out”之案例一 实务
实务67 连接数据库时,报告错误“tns-12533:tns:illegal address parameters”
实务68 连接数据库时,报告错误“tns-12504:tns:listener was not given the sid in connect_data”
实务69 协议适配器错误(ora-12560: tns:protocol adapter error)之案例一
实务70 协议适配器错误(ora-12560: tns:protocol adapter error)之案例二
实务71 连接数据库时,报告错误“ora-03113: end-of-file on communication channel,ora-24315: illegal attribute type” 实务
实务72 连接数据时,报告错误“ora-12545:connect failed because target host or object does not exist”之案例三 实务
实务73 连接数据库时,报告错误“ora-12154: tns:could not resolve the connect identifier specified”
实务74 连接数据库时,报告错误“ora-12162: tns:net service name is incorrectly specified”
实务75 连接数据库时,报告错误“ora-12514: tns:listener does not currently know of service”
实务76 连接数据库时,报告错误“ora-12523: tns:listener could not find instance appropriate for the client connection”
实务77 连接数据库时,报告错误“ora-12520: tns:listener could not find available handler for requested type of server” 实务
实务78 连接数据库时,报告错误“ora-12170: tns:connect timeout occurred”
实务79 连接数据库时,报告错误“tns-12535:tns:operation timed out”之案例二 实务
实务80 连接数据库时,报告错误“ora-12537: tns:connection closed” 实务
第5章 系统管家婆——sql*plus的使用 实务
实务81 如何定义绑定变量(bind variables)
实务82 使用sql*plus,如何登录数据库
实务83 如何在sql*plus中执行sql语句
实务84 如何把sql*plus设置成自动提交模式(autocommit)
实务85 在sql*plus中,如何终止sql语句的执行
实务86 如何在sql*plus中执行操作系统命令(os commands) 实务
实务87 在sql*plus中,如何执行一段pl/sql块(pl/sql blocks)
实务88 如何在sql*plus中执行存储过程
实务89 如何重复执行一条sql语句
实务90 如何在启动sql*plus时,不出现登录界面
实务91 如何修改oracle日期显示格式
实务92 如何把sql缓冲区的内容保存到操作系统文件中
实务93 如何编辑缓冲区中的sql语句
实务94 如何运行一个sql脚本文件
实务95 如何将查询结果保存到文件中
实务96 如何知道sql语句的执行速度
实务97 如何查看sql*plus的系统变量
实务98 如何设置sql*plus的系统变量
实务99 如何改变sql*plus的启动选项
实务100 如何关闭sql*plus
实务101 如何禁止用户在sql*plus中执行指定命令
实务102 如何列出sql缓冲区中的内容 实务
实务103 如何把sql脚本文件的内容装载到sql*plus的缓冲区中
实务104 如何查出sql*plus默认使用哪个编辑器(editor)
实务105 如何设置sql*plus默认使用哪个编辑器(editor)
实务106 如何把sql*plus所有环境变量的设置保存到操作系统文件中
实务107 在sql*plus中,为什么无法显示小时
实务108 为什么sql语句的返回结果非常零乱
第6章 有始有终——数据库的启动与关闭
实务109 如何使数据库自动启动/关闭之unix/linux篇 实务
实务110 如何使数据库自动启动/关闭之windows篇
实务111 如何把数据库启动到nomount状态
实务112 如何把数据库启动到mount状态
实务113 如何打开数据库(open)
实务114 如何一步一步启动数据库
实务115 如何用特定的初始化参数文件(initialization parameter file,file)启动数据库
实务116 如何把数据库启动到限制模式(restrict) 实务
实务117 如何以只读模式(read only)打开数据库
实务118 如何把数据库启动到恢复模式(recover) 实务
实务119 如何重新启动数据库(reset)
实务120 启动数据库时,报告错误“lrm-00123: invalid character found in the input file”
实务121 启动数据库时,报告“权限不足”(ora-01031: insufficient privileges)
实务122 启动数据库时,报告错误“ora-07217: sltln: environment variable cannot be evaluated” 实务
实务123 连接数据库时,提示错误“ora-27101: shared memory realm does not exist” 实务
实务124 启动数据库时,报告错误“ora-00600:internal error code,arguments: [num],[?],[?],[?],[?] ”
实务125 如何判断数据库是否已经启动
实务126 如何知道数据库处于何种状态
实务127 打开数据库时,报告错误“ora-01507: database not mounted” 实务
实务128 启动数据库时,报告错误“未知参数名”(lrm-00101: unknownsarameter name 'ss')
实务129 启动数据库时,报告错误“不能打开参数文件”(ora-01078: failure in processing system parameters) 实务
实务130 启动数据库时,报告错误“lrm-00116: syntax error at 'db_block_size' following '='”
实务131 启动数据库时,报告错误“ora-24323: value not allowed” 实务
实务132 启动数据库时,报告错误“标识控制文件时,发生错误”(ora-00205: error in identifying control file, check alert log for more info) 实务
实务133 启动数据时,报告错误“ora-00381: cannot use both new and old parameters for buffer cache size specification”
实务134 启动数据库时,报告错误“数据库已经运行”(ora-01081: cannot start already-running oracle - shut it down first) 实务
实务135 启动数据库时,报告错误“ora-19809: limit exceeded for recovery file”
实务136 启动数据库时,数据库被挂起之案例一
实务137 启动数据库时,数据库被挂起之案例二
实务138 启动数据库时,数据库被挂起之案例三
实务139 启动数据库时,报告错误“ora-10997: another startup/shutdown operation of this instance inprogress”
实务140 启动数据库时,报告错误“ora-02778: name given for the log directory is invalid” 实务
实务141 启动数据库时,报告错误“ora-01565: error in identifying file 'e:\oracle\ product\10.2.0\db_1/dbs/spfilewm.ora'”
实务142 启动数据时,报告错误“ora-27046: file size is not a multiple of logical block size”
实务143 启动数据库时,报告错误“ora-00106: cannot startup/shutdown database when connected to a dispatcher”
实务144 如何以normal方式关闭数据库
实务145 如何以immediate方式关闭数据库
实务146 如何以transactional方式关闭数据库
实务147 如何以abort方式关闭数据库 实务
实务148 为什么关闭数据库如此慢
实务149 连接数据库时,报告错误“ora-01090: shutdown in progress - connection is not permitted”
实务150 登录数据库时,报告错误“ora-01033: oracle initialization or shutdown in progress”
实务151 为什么使用shutdown immediate命令不能关闭数据库 实务
第7章 理清两个模式问题——专有/共享服务器模式
实务152 如何把数据库配置成共享服务器模式(shared server)之手工篇 实务
实务153 如何把数据库配置成共享服务器模式(shared server)之dbca篇
实务154 数据库已经被配置成共享服务器模式,如何请求一个专有服务器连接
实务155 如何确定数据库中有多少个共享服务器进程(shared server processes) 实务
实务156 如何确定数据库中有多少个调度进程(dispatcher)
实务157 如何增加调度进程(dispatcher)的数量 实务
实务158 如何增加共享服务器进程(shared server processes)的数量
实务159 如何关闭指定的调度进程
实务160 使用数据库时,报告错误“ora-00104: deadlock detected; all public servers blocked waiting for resources”
实务161 关闭数据库时,报告错误“ora-00106: cannot startup/shutdown database when connected to a dispatcher”
实务162 启动数据库时,报告错误“ora-00132: syntax error or unresolved network name 'listeners_wm'” 实务
实务163 如何把数据库从共享服务器模式(shared server)改成专有服务器模式(dedicatied server)之手工篇
实务164 如何把数据库从共享服务器模式(shared server)改成专有服务器模式(dedicatied server)之dbca篇
实务165 如何判断数据库是运行在专有服务器模式,还是共享服务器模式
实务166 数据库已经被配置成共享服务器模式,为什么客户端请求到的还是专有服务器连接? 实务
实务167 如何判断客户端请求到的是专有服务器连接还是共享服务器连接
第8章 掌握两个管理问题——表空间和数据文件的管理
实务168 如何创建大文件表空间
实务169 如何创建表空间
实务170 如何删除表空间
实务171 如何知道表空间product由哪些数据文件组成
实务172 如何创建非标准块表空间
实务173 如何把字典管理的表空间(dictionary extent management)转换成本地管理的表空间local extent management)
实务174 如何把本地管理的表空间(local extent management)转换成字典管理的表空间(dictionary extent management)
实务175 为什么表空间离线后无法在线
实务176 用delete语句删除表中数据以后,为什么表空间的空闲空间没有增加 实务
实务177 如何禁止任何人写表空间test
实务178 如何对一个表空间进行扩展
实务179 如何限制某个用户对表空间的使用(tablespace quota)
实务180 如何使只读表空间可读/写 实务
实务181 如何使一个表空间在线
实务182 如何使一个表空间离线
实务183 如何重命名表空间
实务184 如何知道数据库中有哪些表空间
实务185 如何知道一个表空间的存储参数(storage parameters)
实务186 如何知道表空间的空间使用情况
实务187 如何知道哪些表空间是本地管理的
实务188 把表空间设置成只读,为什么很长时间还没有完成
实务189 如何收缩表空间
实务190 如何使用户能够使用另外一个表空间
实务191 如何把永久表空间转换成临时表空间
实务192 如何知道数据库中所有用户的默认表空间
实务193 如何得到创建表空间的sql语句
实务194 对表空间进行操作时,报告错误“表空间不存在”
实务195 删除表空间时,报告错误“ora-22868: table with lobs contains segment in different tablespaces”
实务196 创建表时,报告错误:ora-01950: no privileges on tablespace 'users'”
实务197 删除表空间时,报告错误“ora-01549: tablespace not empty, use including contents option”
实务198 删除表空间时,报告错误“ora-02429: cannot drop index used for enforcement of unique/primary key” 实务
实务199 创建表时,报告错误“ora-01536: space quota exceeded for tablespace 'tbst'” 实务
实务200 创建表空间时,报告错误“ora-27038: created file already exists(创建的数据文件已经存在) 实务 201 创建表空间时,报告错误“ora-12913: cannot create dictionary managed tablespace”
实务202 报告错误“ora-03212:temporary segment cannot be create in locally-managed tablespace”
实务203 创建表时,报告错误“ora-01659: unable to allocate minextents beyond in tablespace tp”
实务204 创建表时,报告错误“ora-01658:unable to create inital extent for segment in tablespace tp”
实务205 删除表空间时,报告错误“ora-23515: materialized views and/or their indices exist in the tablespac” 实务
实务206 不能删除表空间,报告错误“ora-00942: table or view does not exist”
实务207 创建表空间时,报告错误“ora-29339: tablespace block size 16384 does not match configured block sizes”
实务208 删除表空间时,报告错误“ora-25183: index-organized table top index segment is in a different tablespace”
实务209 往表空间中添加数据文件时,报告错误“ora-00059: maximum
number of db_files exceeded”
实务210 往表中插入数据时,报告错误“ora-01653: unable to extend table rep.phone_ resume by in tablespace tbs_pro”
实务211 往表中插入数据时,报告错误“ora-1654: unable to extend index product. ind_sty by in tablespace ind_tbs”
实务212 如何创建临时表空间
实务213 如何知道数据库中有哪些临时表空间
实务214 如何知道数据库使用哪个临时表空间作为默认临时表空间(default temporary tablespace) 实务
实务215 如何改变数据库默认的临时表空间
实务216 如何重建临时表空间
实务217 临时表空间为空的错误(ora-25153:temporary tablespace is empty)
实务218 删除临时表空间时,报告错误“ora-12906: cannot drop default temporary tablespace” 实务
实务219 改变临时文件时,报告错误“ora-01516: nonexistent log file, datafile, or tempfile”
实务220 报告错误“ora-01652:unable to extend temp segment by intablespace temp”
实务221 创建临时表空间时,提示错误“ora-25139: invalid option for create temporary tablespace”
实务222 如何创建回滚表空间
实务223 如何删除回滚表空间
实务224 如何查看数据库中回滚段的管理方式
实务225 如何往回滚表空间中增加数据文件
实务226 如何显示数据库当前正在使用的回滚表空间
实务227 如何切换回滚表空间
实务228 如何使用回滚段自动管理
实务229 如何知道数据库中有哪些回滚表空间
实务230 如何重建数据库正在使用的当前回滚表空间(活动回滚表空间)
实务231 使用数据库时,报告错误“ora-01650: unable to extend rollback segment rb01 by in tablespace undotbs1”
实务232 如何移动数据文件
实务233 如何删除数据文件
实务234 如何使数据文件离线
实务235 如何知道数据文件的使用情况
实务236 如何使数据文件product1在线
实务237 如何重命名数据文件product2
实务238 如何增加数据文件的尺寸
实务239 如何使数据文件自动扩展
实务240 如何知道整个数据库中有哪些数据文件
实务241 改变数据文件的尺寸时,报告错误“ora-03297: file contains used data beyond requested resize value”
实务242 不能扩展数据文件(ora-01237: cannot extend datafile ) 实务
实务243 往表空间中添加数据文件时,报告错误“ora-01641: tablespace 'tbs_contro' is not online - cannot add data file”
第9章 进程管理 实务
第10章 内存管理 实务
第11章 用户管理 实务
第12章 数据导出 实务
第13章 数据导入 实务
第14章 重中之重——控制文件的管理
第15章 成为数据库的最高统治者——口令文件(password file)管理
第16章 联机日志文件管理 实务
第17章 参数文件(pfile/spfile)管理
第18章 全球应用——分布式数据库疑难攻略 实务
第19章 并不陌生的问题——裸设备 实务
第20章 备份/恢复之基石——归档(archivelog)管理 实务
第21章 必行之举——数据库备份
第22章 失而复得——数据库恢复
第23章 数据库通用语言——sql语句
第24章 模式对象(schema object)的管理
第25章 pl/sql应用程序开发 实务
前言
对我有用,所以管用.
亲爱的朋友,在使用Oracle时,你肯定会遇到许多诸如下面的问题:
安装Oracle时,不能启动安装界面……
安装Oracle时,安装界面显示乱码……
Oracle 8i不能在奔腾4(P4)机器上安装……
不能完全卸载Oracle数据库……
数据库突然掉电……
一个数据文件损坏……
一个表中的数据被意外删除……
连接数据库时,提示:监听器不存在(TNS-12541 TNS:no listener)……
连接数据库时,提示:无法解析服务名(TNS-03505 Failed to resolve name)......
连接数据库时,提示“TNS-12535 TNS:operation timed out……”
数据库无法启动……
数据库无法关闭……
使用数据库时,报告错误“ORA-00104: deadlock detected; all public servers blocked waiting for resources……”
对表空间进行操作时,提示:表空间不存在(表空间确实存在)……
创建表时,报告错误“ORA-01950: no privileges on tablespace 'USERS'……”
创建表时,报告错误“ORA-01536: space quota exceeded for tablespace 'TBST'…..”
往表中插入数据时,提示“ORA-01653: unable to extend table REP.PHONE_RESUME by 32 in tablespace TBS_PRO……”
不能往表空间中添加数据文件……
. 不能杀掉一个进程……
如何提高Oracle的最大会话数……
为什么数据库高速缓冲区(Database Buffer Cache)的大小总是显示为0……
表被锁住,如何解锁……
为什么我不能成为超级用户……
遇到snapshot too old错误……
导出数据时,报告错误“EXP-00091: Exporting questionable statistics……”
如何把Access的数据导入Oracle中……
如何把Excel的数据导入到Oracle中……
导入数据时,报告错误“IMP-00020: long column too large for column buffer size (7) ……”
为什么数据总是被导到SYSTEM表空间……
修改初始化参数时,报告错误“ORA-32001: write to SPFILE requested but no SPFILE specified at startup…...”
修改初始化参数时,报告错误“ORA-02095: specified initialization parameter cannot be modified……”
使用数据库链接时,报告错误ORA-02019: connection description for remote database not found……
执行命令ARCHIVE LOG LIST时,报告权限不足……
无法归档(ARCHIVELOG)数据库……
普通用户登录数据时,报告错误“ORA-00257 : archiver error. Connect internal only, until freed……”
在SELECT中使用函数时,报告错误“ORA-14551: cannot perform a DML operation inside a query……”
ORA-00937: not a single-group group function……
查询数据时,报告错误“ORA-02032: clustered tables cannot be used before the cluster index is built……”
访问序列时,报告错误“ORA-08002: sequence string.CURRVAL is not yet defined in this session……”
执行存储过程,报告错误“ORA-01031: insufficient privileges……”
……......……......……......……......……......……......……......……......
遇到上面的问题,怎么办?Oracle博大精深,出现的问题亦千奇百怪,本书正是为了解决你使用Oracle中遇到的各种疑难问题编著而成的,它能助你破除重重障碍,成功到达Oracle的彼岸。特别注意的是,本书不是只为了讲解基本概念而写,而是重在疑难解惑,与读者分享工作经验。
写本书的体会
我在2000年参加工作,2001年正式成为DBA(数据库管理员),一直从事Oracle数据库的管理工作,从Oracle 7到Oracle 8i,从Oracle 8i到Oracle 9i、Oracle 10g,直到当前的Oracle 11g,7年多的光阴,我依然奋斗在DBA这个行列。在以往的日子里,每当遇到许多疑难问题时,我总是重复经历(看英文文档-研究-解决问题)的过程。问题解决以后,我总是把解决的过程记录在一个文本文件中。正是这一次次的经历,为我积累了丰富的经验,也为我成就今天这本书打下了坚实的基础。正所谓“宝剑锋从磨砺出,梅花香自苦寒来”。积累的这个“文本文件”,现在也成了我的“宝贝”,所以,我会经常把它备份到好多地方,以防丢失!!
2005年7月,电子工业出版社的胡辛征老师正在筹划一本有关Oracle疑难解析方面的书,我也很乐意与大家一起分享我的经验,于是我和胡老师不谋而合。
于是,我开始蜷伏在北京上地的某个角落,从日出东方到夕阳西下,经历了不知多少个日日夜夜。看过漫天尘土的春季,浸泡在炎热的夏季,看着秋天的落叶,不知不觉中走过了冬季。漫漫长路,历时三载,2008年元旦,本书初稿终于尘埃落定。
本书重在疑难解析,帮助读者解决使用Oracle中遇到的疑难问题。这本书中的疑难问题都是缘于我的亲身经历。
出于严谨性的考虑,本书中的例子我都在机器上重新进行了模拟试验,因此,这本书耗费了我大量的时间和精力。
由于这本书中例子很多、很常见,所以,虽然这本书是我自己写的,但是我自己也经常在使用这本书的电子版,当我遇到问题的时候,我只需要在本书的电子版中输入错误提示信息(或者关键字)进行搜索,马上就能找到答案,并且,只需把本书中给出的步骤(脚本/命令)复制出来,稍微修改一下,马上就能运行,真的很方便、很快捷!所以,我相信这是一本Oracle疑难解析方面的好书。因为这本书对我有用,所以管用!
学习Oracle其实并没有那么难,做任何事情都要讲究途径和努力。学习Oracle要先把它的体系结构、概念机制搞清楚,在了解熟悉了这些之后,接下来的工作就是要建立一个测试环境并不断去实践,这是尤为关键的。因为做Oracle的DBA,其水平高低不在于你对它的名词概念掌握了多少,也不在于你是否有Oracle官方的OCP认证,而是在于你的实际排查、解决故障问题的能力——这是衡量一个数据库管理员水平高低的唯一标准。对于那些已经熟悉了Oracle的名词概念和体系结构的人,如果想要更进一步地提升自己水平的话,那么本书正是提供了这样一种途径,让你掌握更多的解决Oracle问题的方法。水平再高的Oracle DBA也不敢说自己能解决Oracle出现的所有问题,Oracle机制复杂,版本也不断更新,总会有我们没有遇到过的问题出现,这就需要我们不断地积累经验、整理总结。我是一个对技术有些偏执的人,每当碰到一个技术问题,我都会反复实验,钻研得很深很细,谓之触类旁通并非过誉,这本书总结了我多年以来在Oracle领域的疑难问题解决经验。..
本书的结构
本书共25章,近1000页,每章的第一小节(或者更小的小节)介绍一些基本概念,让初学者对Oracle的基本概念有个清晰的了解(介绍Oracle的体系结构,不是本书的重点)。然后下面的小节将手把手教会读者如何(HOW TO)操纵数据库(大部分是基于命令行的)。如果在操纵数据库的时候遇到疑难问题,在最后一小节(或者更小的小节)我们将会告诉你为什么会出现这样的问题,并Step By Step地教会读者如何解决这样的问题,只要严格按照我们给出的步骤,一定能解决你遇到的问题(FAQ)。
本书快速目录
第1章 认识Oracle的世界——Oracle的体系结构
本章介绍主要Oracle的一些基本概念。
第2章 迈出第1步——Oracle的安装/卸载 含35个实务
本章介绍如何安装/卸载Oracle,并帮助读者解决安装/卸载过程中遇到的疑难问题。
第3章 有米之炊数据库的创建与删除 含14个实务
本章介绍如何创建和删除数据库,并解决安装过程中遇到的疑难问题。
第4章 Oracle网络管理并不难 含31个实务
本章介绍Oracle网络的基本配置,并解析Oracle网络中遇到的各种疑难问题。
第5章 系统管家婆——SQL*Plus的使用 含28个实务
SQL*Plus是Oracle的管理工具,本章主要介绍SQL*Plus使用的各种技巧。
第6章 有始有终——数据库的启动关闭 含43个实务
本章引导读者如何启动和关闭数据库,并解答启动数据库和关闭数据库中遇到的疑难问题。
第7章 理清两个模式问题——专有/共享服务器模式 含16个实务
本章介绍Oracle的两种模式——共享服务器(Shared Server)模式和专有服务器模式(Dedicated Server),并教会读者如何配置这两种模式,并解答配置这两种模式时遇到的疑难问题。
第8章 掌握两个管理问题——表空间和数据文件的管理 含76个实务
本章介绍表空间/数据文件的基本概念,并解析表空间/数据文件使用中遇到的疑难问题。
第9章 进程管理 含14个实务
本章介绍进程的基本概念,并解析与进程有关的疑难问题。
第10章 内存管理 含25个实务
本章介绍Oracle内存的组成及内存使用中遇到的疑难问题。
第11章 用户管理 含38个实务
本章介绍用户和权限,并解析用户管理及权限管理中遇到的各种疑难问题。
第12章 数据导出 含39个实务
本章介绍Oracle数据的导出,详细介绍Oracle导出的各种方法(如使用Oracle的导出工具、使用第三方的导出工具)。本章介绍的导出方法并不仅仅局限于Oracle提供的导出方法。本章不仅介绍导出的各种技巧,还向读者展示导出过程中遇到的各种疑难问题,并给出应对之策。
第13章 数据导入 含26个实务
如何把文本数据导入Oracle;如何把EXCEL的数据导入Oracle;如何把ACCESS的数据导入Oracle。本章介绍数据的各种导入方法,并解析导入过程中遇到的各种疑难问题。本书并不局限于Oracle提供的导入工具。
第14章 重中之重——控制文件的管理 含8个实务
本章介绍控制文件的管理,并介绍管理控制文件时遇到的各种疑难问题。
第15章 成为数据库的最高统治者——口令文件(Password File)管理 含14个实务
口令文件是Oracle安全体系的一部分,本章介绍控制文件的使用及控制文件管理时遇到的疑难问题。
第16章 联机日志文件管理 含19个实务
本章介绍联机日志文件管理技巧及联机日志文件使用中遇到的各种疑难问题。
第17章 参数文件(PFILE/SPFILE)管理 含9个实务
数据库启动时会用到参数文件,本章介绍如何使用参数文件启动数据库,并解析参数文件使用中遇到的各种疑难问题。
第18章 全球应用——分布式数据库疑难攻略 含12个实务
本章介绍如何使用分布式数据库,介绍使用分布式数据库的技巧及解惑。
第19章 并不陌生的问题——裸设备 含6个实务
本章详细介绍了裸设备的基本概念,裸设备的使用技巧。
第20章 备份恢复之基石——归档(Archivelog)管理 含25个实务
本章主要讨论归档的管理技巧,及归档设置中的各种疑难问题。
第21章 必行之举——数据库备份 含38个实务
本章通过实战演习,介绍数据库的各种备份方法。
第22章 失而复得——数据库恢复 含32个实务
本章通过实战演习,介绍数据库故障的各种恢复技巧。
第23章 数据库通用语言——SQL语句 含26个实务
本章介绍SQL语句的使用技巧及疑难问题。
第24章 模式对象(Schema Object)的管理 含110个实务
本章介绍各种数据库对象的管理及管理数据库对象中会遇到的各种问题。
第25章 PL/SQL应用程序开发 含70个实务
本章主要介绍程序开发过程中遇到的与数据库相关的各种疑难问题。
本书的实务速查目录电子版的下载地址是http://space.itpub.net/?13804621或www.broadview.com.cn。查询电子版实务目录,再翻阅本书内容,真正做到遇到问题速查解决。
本书的使用
本书的学习流程如下图所示:
本书的符号说明
〖Environment(环境)〗 :对数据库环境和操作系统环境进行简要描述
〖Symptom(现象)〗 :对问题产生时的现象进行描述
〖Cause(原因)〗 :解释问题产生的原因
〖Action(方法)〗 :描述问题的解决方法和步骤
2008年4月...