oracle傻瓜手册

上传人:xzh****18 文档编号:34590589 上传时间:2018-02-26 格式:DOC 页数:34 大小:93.50KB
返回 下载 相关 举报
oracle傻瓜手册_第1页
第1页 / 共34页
oracle傻瓜手册_第2页
第2页 / 共34页
oracle傻瓜手册_第3页
第3页 / 共34页
oracle傻瓜手册_第4页
第4页 / 共34页
oracle傻瓜手册_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《oracle傻瓜手册》由会员分享,可在线阅读,更多相关《oracle傻瓜手册(34页珍藏版)》请在金锄头文库上搜索。

1、ORACLE 傻瓜手册 To be DBA or not to be, that is NOT the question.- Arron 作者允许自由散发此文档,但对其进行的任何修改应通知作者,以便于维护版本。 Oracle 是一头恐龙,而且随着版本号的不断上升,体系越来越庞大,功能越来越复 杂,以至于变成了一座偶像,使许多 IT 技术人员心存畏惧。然而偶像终究是要打碎的, 技术的生命力只有在人民心中才能延续成长。笔者从事过一段时间的 Oracle 数据库管理 和开发,深感 Oracle 文档虽全,但过于琐碎芜杂,实用的精华淹没于细节罗列的大海之 中,不能迅速有效地投入应用,而且缺少实践经验的

2、总结。高手牛人疏于为文,知识由 于没有共享流传而不能起到倍增的效果,令我等后辈不得不重起炉灶,惨淡经营,期间 的经验教训虽可宝贵,却实出无奈。笔者虽愚,愿尽力而为,集思广益,累积成文。希 望能借助大家的合力,将有关 Oracle 的知识化繁为简,化神秘为普及,从而提高软件应 用项目的水平。 作者:周云飞 email:zhou_ Oracle8 以 8.1.5 为界分为普通版本和 internet 版本。普通版版本号 8.0.x,接触较多的是 8.0.5;internet 版版本号包括 8.1.5(Release 1),8.1.6(Release 2),8.1.7(Release 3)。普通版简

3、称 Oracle 8,internet 版简称 Oracle 8i。如果不作特别说明,文中凡出现 Oracle 8i 均指 8.1.7 版。 Oracle9i 目前出到第二版,版本号为 9.2,简称 Oracle 9i。如果不作特别说明,文中凡出现 Oracle 9i 均指 9.2 版。 本手册介绍 Oracle 配置的基本方法,描述的是所然而不是所以然。全部操作以命令行方式出现,不涉及 GUI(只有白刃战才是真正的战斗)。鉴于大家对 Windows 已经十分熟悉,同时为了避免 Windows 和 Unix 两种截然不同的使用和开发风格给描述带来的复杂性,所以本手册不介绍在 Windows 上

4、的 Oracle(上帝的归上帝,恺撒的归恺撒)。 文中所有例子以 oradb 作为数据库实例名,数据库用户 dbuser,口令 oracle。如果不作特别说明,关于 Oracle 8i 所有的例子都在 Solaris 8 Intel Platform+Oracle 8iR3 上通过,关于 Oracle 9i 所有的例子都在 RedHat Linux 7.3+Oracle 9iR2 上通过。附录文件sample.tar 包含全部示例,简称附录。 大量使用表 emp 作为例子(参见附录 08_proc/proc/single/emp.sql): create table emp ( no numb

5、er(12) not null, name char(20) not null, age number(6) not null, duty char(1) not null, salary number(12) not null, upd_ts date not null, primary key (no) ); 开发中对应 emp 表结构,定义其宿主结构(参见附录 08_proc/proc/single/db.h): typedef struct double no; char name21; int age; char duty2; double salary; char upd_ts15

6、; emp_t; 修改历史: 2000/07 版本 1.0 2000/09 版本 1.1 增加 Linux 安装,export,import 使用,数据库监控及优化(utlbstat,utlestat,分析session),语言时间环境变量设置,Oracle8.0.5 手工建库脚本(wei_dick 提供,稍加修改) 2000/10 版本 1.2 修改 Linux 安装中 RedHat 6.x+Oracle 8.1.6、数据库优化中配置文件和 session 分析、常用技巧中下载上传文本数据和访问他机数据库;增加创建数据库实例中数据字典参考、常用技巧中删除冗余记录、应用开发,常见错误 感谢 l

7、iu_freeman,jiao_julian,huang_miles 等人对开发工具所作的努力 2001/03 版本 1.3 修改安装部分、init.ora 配置、常用技巧、应用开发;增加手工建库、MTS 配置;重写开发工具 感谢 li_bo 的大力帮助 2001/09 版本 1.4 修改数据库优化,使之较系统化;增加应用开发中多线程下的数据库连接 2002/04 版本 1.5 修改数据库优化、多线程条件下数据库编程;分离附录的程序范例 2002/12 版本 2.0 重新安排内容,增加 Oracle 9i 安装配置、OCI 开发、mysql 安装配置开发,补充数据库优化、PROC 开发 ORA

8、CLE 傻瓜手册 1 1 安装 6 1.1 通用设置 6 1.2 UnixWare7 7 1.2.1 Oracle 8 7 1.3 HP-UX 8 1.3.1 Oracle8 8 1.4 Linux 9 1.4.1 kernel 2.0 & glibc 2.0 9 1.4.2 kernel 2.2 & glibc 2.1 9 1.4.3 kernel 2.4 & glibc 2.2 10 1.5 Solaris 11 2 创建 13 2.1 Oracle 8 & 8i 13 2.1.1 工具创建 13 2.1.2 手工创建 13 2.1.3 MTS(multi-threaded server)

9、 14 2.1.4 调整临时表空间 15 2.1.5 调整回滚表空间 15 2.1.6 调整日志 15 2.1.7 调整用户表空间 16 2.1.8 创建用户 17 2.1.9 创建数据对象 17 2.1.10 创建只读用户 18 2.1.11 启动及关闭数据库实例 19 2.1.12 网络配置 19 2.2 Oracle 9i 21 2.2.1 手工创建 21 2.2.2 创建用户表空间 22 3 初始化文件配置 23 3.1 Oracle 8 & 8i 23 3.2 Oracle 9i 25 4 工具 26 4.1 sqlldr 26 4.2 exp 27 4.3 imp 28 4.4 s

10、qlplus 29 4.4.1 命令行参数 29 4.4.2 提示符命令 29 4.4.3 SET 选项 30 4.4.4 例子 30 5 备份及恢复 32 5.1 export 与 import 方式 32 5.2 冷备份 32 5.3 联机全备份+日志备份 32 5.3.1 设置 32 5.3.2 步骤 33 5.3.3 恢复 33 5.4 注意要点 34 6 数据库优化 35 6.1 通用设置 35 6.1.1 硬件配置 35 6.1.2 应用配置 35 6.1.3 日常性能监控 36 6.2 实战分析 36 6.2.1 总体分析 37 6.2.2 详细分析 37 6.3 专题分析 39

11、 6.3.1 巨表查询 39 6.3.2 对比测试 41 6.3.3 上下载数据 44 6.3.4 回滚空间快照陈旧(snapshot too old) 46 7 常用技巧 48 7.1 增加、更改和删除域 48 7.2 删除冗余记录 49 7.3 更改字符集 49 7.4 表数据迁移 50 7.5 成批生成数据 50 7.6 注意要点 51 8 嵌入式 SQL(C) 53 8.1 编译 53 8.2 SQL 语句 54 8.2.1 内部类型与宿主类型对应 54 8.2.2 连接和断开 54 8.2.3 事务 55 8.2.4 标准 SQL 语句 55 8.2.5 动态 SQL 语句 55 8

12、.2.6 数组操作 56 8.3 编程框架 58 8.3.1 总体原则 58 8.3.2 单线程和多线程 59 8.3.3 开发工具 60 9 OCI-Oracle Call Interface 61 9.1 连接和断开 61 9.1.1 句柄层次 61 9.1.2 连接流程 61 9.1.3 断开流程 62 9.2 SQL 语句 62 9.2.1 事务 62 9.2.2 无结果集的 sql 语句 63 9.2.3 有结果集的 sql 语句 63 9.2.4 LOB 65 9.3 编程框架 67 9.3.1 总体原则 67 9.3.2 sql 语句 68 9.3.3 函数 69 10 附录-M

13、YSQL 72 10.1 安装配置 72 10.2 管理 72 10.2.1 初始调整 72 10.2.2 建立用户对象 73 10.3 开发 73 10.3.1 连接和断开 73 10.3.2 无结果集的 sql 语句 74 10.3.3 有结果集的 sql 74 10.3.4 错误处理 75 1 安装 所有参见内容都在附件 01_install_02_create_03_init/下。 1.1 通用设置 文件系统 swap 创建文件系统时应考虑 Oracle 对 swap 的需要,大约每个 oracle 服务进程将占用 10-20Mswap 空间,通常操作系统建议 2 倍于内存的 swap

14、 空间,数据库系统可能要求更多些。 操作系统用户和环境变量 Oracle 文档要求为数据库系统的管理和使用建立 3 个或更多的组,但这个需求是可以忽略的,实践中并没有体现其必要性。为简化操作起见,只建立 dba 组,即拥有更新软件和管理最高权限(SYSDBA)的操作系统用户组,此组称为 OSDBA,属于此组的用户可以 SYSDBA身份登录进任何一个数据库实例,简单的,只建立一个用户,习惯上使用 oracle 的名称。 $ groupadd dba $ useradd -g dba -d /home/oracle -m -s /bin/bash oracle 确定 oracle 系统的根目录 O

15、RACLE_BASE,如/opt/oracle,所有的软件和配置都在这个目录下展开,虽然并非一定需要如此,但这是一个良好的习惯。同时确定软件安装的起始点ORACLE_HOME,通常在 ORACLE_BASE 下。 修改 oracle 用户的.profile,加入以下各行,或者修改/etc/profile,使每一个用户都获得环境变量设置 umask 022 ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_BASE/product/版本号(如 8.0.5,8.1.7,9.2.0 等) ORACLE_SID=oradb ORACLE_TERM=ansi 仅与

16、Oracle8 字符界面安装有关 ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data 字符集支持 NLS_LANG=American_America.ZHS16CGB231280(Oracle8 支持)|ZHS16GBK(Oracle8i 支持)|ZHS16GB18030(Oracle9i 支持) NLS_DATE_FORMAT=YYYYMMDDHH24MISS LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH 动态连接路径,Unixware 中要确保/usr/ucb/lib 在/usr/ccs/lib 之后出现 TMPDIR=/tmp 安装中 Oracle 会在此目录下存储相当数量的文件,所以 TMPDIR 所在的磁盘分区要确保空闲空间的大小,至少在 1G 左右 PATH=$PATH:$ORACLE_HOME/bin export ORACLE_BASE ORACLE_H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号