编辑推荐
《Oracle数据库管理从入门到精通》
提供13.6小时配套教学视频,赠送7.8小时PL/SQL进阶教学
全面涵盖Oracle数据库管理与应用的各种技术细节,提供系统化的学习方案
对Oracle数据库管理、SQL及PL/SQL开发用到的各种技术做了原理分析和实战演练
真正做到了从Oracle实际工作的视角剖析Oracle数据库的应用,深入浅出地介绍了Oracle管理、监控、SQL及PL/SQL开发的要点
精选了实际工作中常用的知识点,并配以大量实例,让读者快速上手,提供了2个有很高参考价值的案例,提升读者的实战水平
提供了各种实际应用场景,引导读者将知识应用于实际工作中,代码精炼,注释丰富,通过研读代码,即可获得大量的经验
热销图书,大量读者好评!Oracle爱好者必读!提供300多个简洁易懂的实例,带领读者快速上手
提供2个有很高参考价值的真实项目案例,提升实战水平,提供各种实际应用场景,将知识点快速应用于实际开发
代码精炼,注释丰富,通过研读代码,便可获得大量经验,提供7.8小时多媒体教学视频、教学PPT
涵盖PL/SQL的各种技术细节,提供系统化的学习方案,对PL/SQL开发用到的各种技术做了原理分析和实战体验
真正做到了从程序员的视角剖析PL/SQL的应用,深入浅出地介绍PL/SQL在实际开发中的要点
推荐阅读(请点击链接查看):
《SQL Server 2012王者归来——基础、安全、开发及性能优化》
《NoSQL数据库技术实战》 (腾讯工程师力作,大数据时代必读)
《SQL Server入门很简单》 (数据库畅销书作者力作,10小时视频)
《MySQL入门很简单》 (畅销书,*受读者喜爱的原创IT技术图书奖,25.5小时视频)
《零点起飞学Oracle》 (从零开始,学练结合,视频教学) ;
内容简介
《Oracle数据库管理从入门到精通》
《Oracle数据库管理从入门到精通(附光盘)》以 面向应用为原则,深入浅出地介绍了Oracle数据库的 管理和开发技术。书中通过大量的图解和示例代码, 详细介绍了Oracle的体系结构、PL/SQL的语言特性, 并深入剖析了用PL/SQL进行Oracle开发的方方面面。
为了便于读者高效、直观地学习,作者为本书重点内 容录制了13.6小时多媒体教学视频。这些视频及本书 涉及的源代码一起收录于本书配套DVD光盘中。另外 ,光盘中还免费赠送了7.8小时Oracle PL/SQL教学视 频和大量的PL/SQL实例代码,供读者进一步学习参考 。
《Oracle数据库管理从入门到精通(附光盘)》共24章,分为6篇。涵盖的内容主要有关系 型数据库基础、Oracle的安装和管理、体系结构、网 络结构、物理和逻辑结构的维护和管理、SQL语言的 应用、PL/SQL语言基础、开发环境、控制语句、数据 表的管理和查询、数据表的操作、使用PL/SQL的记录 与集合、各种内置函数、游标、事务处理、异常处理 、子程序、包、Oracle的安全性、表空间和数据文件 的管理、数据库的备份和恢复等,最后还通过两个现 实案例介绍了Oracle编程的经验和技巧。
作者简介
丁士锋,2001年毕业于国防科技大学计算机学院。有多年的数据库软件开发与设计经验,深入理解数据库系统在企业信息化进程中的应用。多次主导与架构基于Oracle、SQL Server及IBM DB2等大型数据库系统的集团式信息管理系统建设。多次参与数据库平台的搭建与各种核心数据库程序代码的实现。著有《Oracle数据库管理从入门到精通》《Oracle PL/SQL从入门到精通》、《精通C# 5.0与.NET 4.5高级编程:LINQ、WCF、WPF和WF》、《网页制作与网站建设实战大全》等多本广受读者好评的计算机畅销图书。
目录
《Oracle数据库管理从入门到精通》
第1篇 Oracle基础第1篇 Oracle基础
第1章 认识关系型数据库( 教学视频:37分钟)
第2章 创建和连接Oracle数据库( 教学视频:43分钟)
第3章 SQL语言与SQL*Plus( 教学视频:34分钟)
第4章 认识Oracle体系结构( 教学视频:20分钟)
第2篇 管理方案对象
第5章 创建和管理表( 教学视频:52分钟)
第6章 索引和约束( 教学视频:36分钟)
第7章 视图( 教学视频:28分钟)
第8章 序列和同义词( 教学视频:24分钟)
第3篇 使用SQL语言
第9章 SQL查询( 教学视频:50分钟)
第10章 操作数据表( 教学视频:25分钟)
第11章 Oracle内置函数( 教学视频:25分钟)
第4篇 PL/SQL编程
第12章 使用PL/SQL创建Oracle程序( 教学视频:39分钟)
第13章 子程序和包( 教学视频:45分钟)
第14章 记录与集合( 教学视频:33分钟)
第15章 触发器和游标( 教学视频:26分钟)
第16章 异常处理机制( 教学视频:17分钟)
第17章 动态SQL语句( 教学视频:25分钟)
第18章 事务和锁( 教学视频:31分钟)
第5篇 Oracle维护
第19章 数据库安全性管理( 教学视频:42分钟)
第20章 数据库空间管理( 教学视频:17分钟)
第21章 数据库文件管理( 教学视频:46分钟)
第22章 备份和恢复数据库( 教学视频:49分钟)
第6篇 PL/SQL案例实战
第23章 基于PL/SQL物料报表程序( 教学视频:25分钟)
第24章 PL/SQL采购订单分析程序( 教学视频:45分钟)
《Oracle PL/SQL从入门到精通》
第1篇 PL/SQL开发入门
第1章 Oracle 11g数据库系统(教学视频:40分钟)
第2章 PL/SQL基本概念(教学视频:30分钟)
第3章 变量和类型(教学视频:14分钟)
第4章 PL/SQL控制语句(教学视频:13分钟)
第2篇 PL/SQL开发基础
第5章 管理数据表(教学视频:33分钟)
第6章 查询数据表(教学视频:33分钟)
第7章 操纵数据表(教学视频:27分钟)
第8章 记录与集合(教学视频:32分钟)
第9章 SQL内置函数(教学视频:26分钟)
第10章 使用游标(教学视频:20分钟)
第11章 事务处理和锁定(教学视频:14分钟)
第12章 异常处理机制(教学视频:19分钟)
第3篇 PL/SQL进阶编程
第13章 PL/SQL子程序(教学视频:18分钟)
第14章 包(教学视频:10分钟)
第15章 触发器(教学视频:23分钟)
第16章 动态SQL语句(教学视频:17分钟)
第4篇 PL/SQL高级编程
第17章 面向对象编程(教学视频:24分钟)
第18章 PL/SQL性能优化建议(教学视频:14分钟)
第5篇 PL/SQL案例实战
第19章 企业IC芯片欠料计算程序(教学视频:28分钟)
第20章 PL/SQL邮件发送程序(教学视频:33分钟)
前沿
《Oracle数据库管理从入门到精通》
为什么要写这本书
随着信息产业化的飞速发展,数据的增长速度也在迅速膨胀,越来越多的企业认识到数据库数据的重要性。Oracle公司的数据库管理系统是世界领先的关系型数据库管理系统,一直是各大企事业单位后台存储的首选。Oracle数据库系统的灵活体系结构以及跨平台的特性,使得很多Oracle从业人员备感压力,相较之容易使用的SQL Server,Oracle似乎太难以驾驭。Oracle公司出于便于学习的目的,提供了大量的文档,但是这些文档主要为英文版,而且文档过于偏重于某一技术的细节,掌握起来颇具难度。
目前市场上Oracle数据库相关的图书虽然比较丰富,而且质量也比较高,但是偏重于技术的深度,初学者会觉得过于专业,有点难懂。本书作者站在Oracle从业人员的视角,以简洁轻松的文字,简短精练的示例代码,以力求让不同层次的开发人员尽快掌握Oracle数据库开发为主旨编写了本书,在本书最后还提供了两个实际应用的项目,让开发人员能够通过项目学习PL/SQL开发,提高实际开发水平和项目实战能力。
本书有何特色
1. 附带多媒体教学视频,提高学习效率
为了便于读者理解本书内容,提高学习效率,作者专门为本书录制了长达13.6小时的配套多媒体教学视频。这些视频和本书涉及的源代码及附赠的大量PL/SQL教学视频与实例代码一起收录于配书光盘中。
2. 涵盖Oracle管理和PL/SQL语言的各种技术细节,提供系统化的学习思路
本书涵盖Oracle的体系结构、维护技巧及PL/SQL语言在实际项目中需要重点掌握的方面,包含数据库基础、安装和管理数据库、数据库体系结构、表、索引、约束、序列、同义词、基本的SQL操作知识比如查询、插入、修改和删除、PL/SQL语言基础、记录和集合、游标、SQL的内置函数、事务处理、异常处理机制、子程序、包、触发器、面向对象的开发,以及动态SQL语句等知识点。
3. 对Oracle管理和开发的各种技术作了原理分析和实战体验
全书使用了简洁质朴的文字,配以大量的插图,对一些难以理解的原理部分进行了重点剖析,让读者不仅知晓实现的原理,通过图形化的展现方式,更能加强对原理的理解。同时,本书讲解时配以大量的示例对技术要点在实际工作中的应用进行了详解,让读者能尽快上手这些知识点。
4. 应用驱动,实用性强
对于每个示例代码,都进行了仔细的锤炼,提供了各种实际应用的场景,力求让应用开发人员将这些知识点尽快应用到实际的开发过程中。
5. 项目案例典型,实战性强,有较高的应用价值
本书最后一篇提供了两个项目实战案例。这些案例来源于作者所开发的实际项目,具有很高的应用和参考价值。而且这些案例分别使用不同的PL/SQL技术实现,便于读者融会贯通地理解本书中所介绍的技术。这些案例稍加修改,便可用于实际项目开发。
6. 提供完善的技术支持和售后服务
本书提供了专门的技术支持邮箱。读者在阅读本书过程中有任何疑问都可以通过该邮箱获得帮助。
本书内容及知识体系
第1篇 Oracle基础(第1~4章)
本篇介绍了关系型数据库基础、安装和管理Oracle及Oracle体系结构的知识。主要包括关系型数据库系统范式、安装和创建Oracle数据库、启动和连接Oracle、SQL语言和SQL*Plus的操作,以及Oracle数据库的体系结构。
第2篇 管理方案对象(第5~8章)
本篇介绍了在Oracle上创建和管理方案对象的知识,包含使用Oracle SQL语句创建数据库表、视图、索引、约束、序列和同义词等知识,是操纵和管理Oracle的基础。
第3篇 使用SQL语言(第9~11章)
本篇讨论了使用SQL语言操作数据库的知识,讨论了用SQL语言进行简单与复杂查询,比如多表连接查询、子查询和分组查询等,接下来讨论了使用SQL语言向表中插入、更改和删除数据,并且介绍了SQL中各种内置函数的使用方法。
第4篇 PL/SQL编程(第12~18章)
本篇介绍了PL/SQL过程化SQL语言的基础,首先对PL/SQL进行了概览,然后讨论了存储过程、函数、包的定义和使用方式,讨论了参数模式、包重载及包作用域范围的知识,并且讨论了PL/SQL中的记录与集合、触发器和游标,以及异常处理机制、动态SQL语句、事务和锁的知识。
第5篇 Oracle维护(第19~22章)
本篇讨论了如何维护和管理Oracle数据库,首先讨论了数据库安全性相关的用户、角色和权限,然后介绍了Oracle表空间的管理,比如创建和删除表空间、为表空间扩容等,在数据库文件部分讨论了如何添加和管理数据库物理文件,最后介绍了备份与恢复的知识,讨论了恢复管理器RMAN的使用技巧。
第6篇 PL/SQL案例实战(第23~24章)
本篇通过两个实际的项目示例,从需求分析、数据库表的设计、系统的总体规划开始,到包规范的定义、包体的具体实现详细剖析一个PL/SQL的实现生命周期,通过对这两个示例的一步一步深入体验,能让开发人员立即上手进行PL/SQL项目的开发。同时对这两个示例稍加修改,即可应用到实际的工作项目中。
配书光盘内容介绍
为了方便读者阅读本书,本书附带1张DVD光盘。内容如下:
* 本书所有实例的源代码;
* 13.6小时配套多媒体教学视频;
* 7.8小时Oracle PL/SQL教学视频(赠送);
* 96个Oracle PL/SQL实例源文件(赠送)。
适合阅读本书的读者
* Oracle数据库管理人员;
* 学习Oracle PL/SQL开发技术的人员;
* 广大数据库开发程序员;
* 应用程序开发人员;
* 希望提高项目开发水平的人员;
* 专业数据库培训机构的学员;
* 软件开发项目经理;
* 需要一本案头必备查询手册的人员。
阅读本书的建议
* 没有Oracle基础的读者,建议从第1章顺次阅读并演练每一个实例;
* 有一定Oracle基础的读者,可以根据实际情况有重点地选择阅读各个技术要点;
* 对于每一个知识点和项目案例,先通读一遍有个大概印象,然后将每个知识点的示例代码都在开发环境中操作一遍,加深对知识点的印象;
* 结合光盘中提供的多媒体教学视频再理解一遍,这样理解起来就更加容易,也会更加深刻。
进一步学习建议
当您阅读完本书后,相信已经掌握了Oracle数据库管理和开发的基本知识。但如果还要更进一步深入下去,那么还必须要系统地掌握PL/SQL编程的知识,毕竟它是Oracle数据库开发所需要使用的查询语言。可以说,在Oracle世界里,离开了PL/SQL,您将寸步难行。
要系统学习PL/SQL编程,建议阅读笔者编写的《Oracle PL/SQL从入门到精通》一书。该书可以当作本书的姊妹篇。它自2012年由清华大学出版社出版后广受读者好评,在当当网、亚马逊和京东商城等网上书店都有大量读者对这本书给出了很好地评价,并极力推荐阅读,相信不会让您失望。
该书非常系统地介绍了PL/SQL开发的方方面面,给读者提供了系统化的学习方案,并对PL/SQL开发用到的各种技术做了原理分析。书中还提供了300多个简单易懂的实例,引领读者快速上手。相信阅读完这本书后,您已经很系统地掌握了PL/SQL开发的各种技术细节。
本书作者
虽然我们对本书中所述内容都尽量核实,并多次进行文字校对,但因时间所限,可能还存在疏漏和不足之处,恳请读者批评指正。
编著者
《Oracle PL/SQL从入门到精通》
随着计算机信息技术的飞速发展,数据存储已经成为很多公司越来越重视的问题。Oracle公司的数据库管理软件以其稳定、高效和灵活性,一直是各大企事业单位后台存储的首选。Oracle系统本身的复杂性,使得很多刚入门的开发人员不知从何入手,尽管Oracle公司提供了大量的文档,但是这些文档大多为英文版本,每个文档都偏重于某一技术细节,没有提供系统的、适合我国程序员思维的学习材料。
目前在市面上关于PL/SQL的图书并不是很多,特别是由国内程序员经验总结的图书更是寥寥无几。本书作者站在一线开发人员的视角,通过简洁轻松的文字,简短精练的示例代码,以力求让不同层次的开发人员尽快掌握Oracle数据库开发为主旨编写了本书,同时在本书最后还提供了两个实战项目,让开发人员能够通过项目学习PL/SQL开发,提高实际开发水平和项目实战能力。
本书有何特色
1.附带多媒体语音教学视频,提高学习效率
为了便于读者理解本书内容,提高学习效率,作者专门为每一章内容都录制了大量的多媒体语音教学视频。这些视频和本书涉及的源代码一起收录于配书光盘中。
2.涵盖PL/SQL语言的各种技术细节,提供系统化的学习思路
本书涵盖了PL/SQL语言在实际项目中需要重点掌握的所有方面,包含语言基础、开发环境、常量和变量的定义、基本的控制结构、基本的SQL操作知识(比如查询、插入、修改和删除)、记录和集合、游标、SQL的内置函数、事务处理、异常处理机制、子程序、包、触发器、面向对象的开发及动态SQL语句等知识点。
3.对PL/SQL开发的各种技术做了原理分析和实战体验
全书使用简洁质朴的文字,配以大量的插图,将一些难以理解的原理部分进行了重点剖析,让读者不仅知晓实现的原理,通过图形化的展现方式,更能加强对原理的理解,同时配以大量的示例对技术要点在实际工作中的应用进行了详解,让读者能尽快上手。
4.应用驱动,实用性强
对于每段示例代码,都进行了仔细的锤炼,提供了各种实际应用的场景,力求让应用开发人员将这些知识点尽快应用到实际的开发过程中。
5.项目案例典型,实战性强,有较高的应用价值
本书最后一篇提供了两个项目实战案例。这些案例来源于作者所开发的实际项目,具有很高的应用价值和参考性。而且这些案例分别使用不同的PL/SQL技术实现,便于读者融会贯通地理解本书中所介绍的技术。这些案例稍加修改,便可用于实际项目开发中。
6.提供完善的技术支持和售后服务
本书提供了专门的技术支持邮箱。读者在阅读本书过程中有任何疑问都可以通过该邮箱获得帮助。
本书内容及知识体系
第1篇 PL/SQL开发入门(第1~4章)
第2篇 PL/SQL开发基础(第5~12章)
第3篇 PL/SQL进阶编程(第13~16章)
第4篇 PL/SQL高级编程(第17~18章)
第5篇 PL/SQL案例实战(第19~20章)
配书光盘内容介绍
为了方便读者阅读本书,本书附带1张DVD光盘,内容如下。
* 本书所有实例的源代码;
* 本书每章内容的多媒体语音教学视频;
* 免费赠送的Oracle入门教学视频。
适合阅读本书的读者
* 需要全面学习Oracle PL/SQL开发技术的人员;
* 数据库开发程序员;
* 应用程序开发人员;
* Oracle数据库管理人员;
* 希望提高项目开发水平的人员;
* 专业培训机构的学员;
* 软件开发项目经理;
* 需要一本PL/SQL案头必备查询手册的人员。
阅读本书的建议
* 没有Oracle PL/SQL基础的读者,建议从第1章顺次阅读并演练每一个示例。
* 有一定Oracle PL/SQL基础的读者,可以根据实际情况有重点地选择阅读各个技术要点。
* 对于每一个知识点和项目案例,先通读一遍有个大概印象,然后对于每个知识点的示例代码都在开发环境中操作一遍,加深对知识点的印象。
* 结合光盘中提供的多媒体教学视频再理解一遍,这样理解起来就更加容易,也会更加深刻。
笔者写作本书虽然耗费了大量精力,力争消灭错误,但恐百密难免一疏。若您在阅读本书的过程中发现任何问题,或者有任何疑问,都可以随时提出,笔者将尽最大努力解决。
编著者
免费在线读
《Oracle数据库管理从入门到精通》
第2章 创建和连接Oracle数据库
创建数据库是DBA在安装好一个Oracle系统之后要面对的第一项工作。数据库必须要经过规划和设计,Oracle提供了DBCA可视化工具,它可以帮助用户创建一个全新的数据库,也可以手动使用SQL脚本的方式创建数据库,不过这要求DBA对Oracle的数据库结构具有较深刻的理解。本章除介绍数据库创建外,还将讨论各种Oracle客户端工具及Oracle服务的管理。
2.1 创建Oracle数据库
类似于OUI(Oracle通用安装管理器),Oracle也提供了一个图形化的数据库创建工具DBCA,DBCA提供了完全自动化的方式来创建数据库。DBA也可以通过CREATE DATABASE这个SQL语句来创建数据库,使用这个SQL语句可以让DBA全方位地控制数据库的创建过程。
2.1.1 使用DBCA创建数据库
数据库配置助手DBCA是创建数据库的一个非常便利的方法,它提供了窗口向导的方式,引导创建者一步一步地指定数据库的创建,当DBCA创建完成时,数据库就可以立即使用了。DBCA可以在安装Oracle数据库软件时由Oracle通用安装管理器OUI来启动,也可以通过在Windows平台上使用“开始”菜单来启动、创建数据库。
使用DBCA创建数据库有如下两种方式:
交互式数据库创建,这种方式提供了图形界面引导读者一步一步地创建和配置一个数据库。
静默方式,允许指定命令行参数或一个配置的文件让DBCA在命令行模式下进行安装。
交互式方式的图形化界面对于不了解Oracle的体系结构但是又迫切需要创建数据库的用户来说非常有用,而静默方式可以根据现有的数据库创建预备脚本来创建一个新的数 据库。
注意:在Oracle安装时,会提示是否创建一个数据库,如果选择创建数据库,Oracle安装管理器将自动开启Oracle数据库配置助手向导DBCA来开始一个数据库的配置。如果在安装数据库软件时没有创建数据库,那么在创建后可以使用DBCA来创建一个新的数据库。
无论是手工使用DBCA或者是在安装期间由OUI启动的方式创建了数据库,一般情况下,不建议在同一台服务器上同时创建多个数据库,这与SQL Server不同。每个Oracle实例只能管理一个数据库,在一台服务器上创建多个数据库需要创建多个实例,在Oracle中可行但是不建议,Oracle服务于多应用程序是通过方案的方式来分隔应用程序,不像SQL Server可以创建多个数据库来管理不同的应用程序。
使用Database Creation Assistant(DBCA)程序创建数据库非常简单,它使用数据库模板来加速且标准化数据库的创建过程。下面以BookLib数据库为例,介绍如何使用这个工具创建一个图书馆数据库。
(1)单击“开始”菜单中的Oracle程序组中的“配置和移植工具”程序组,打开程序组中的“Database Creation Assistant”菜单项,将打开DBCA工具。
首先显示一个欢迎页面,单击“下一步”按钮后,将看到DBCA可以执行的操作。DBCA可以被用于创建数据库,重新配置一个已经存在的数据库、删除一个数据库和管理数据库模板,如图2.1所示。
图2.1 DBCA的可以执行的操作界面
注意:数据库模板是一个已经保存的数据库的设置集合,可以使得用户很容易地创建一个与模板数据库相同配置的副本。
(2)在确认了“创建数据库”选项后,单击“下一步”按钮,DBCA将进入到模板选择窗口,如图2.2所示。
在该窗口中可以看到如下3个可供使用的模板:
一般用途或事务处理,支持普通用途和事务处理的数据库,适用于大多数事务型的数据库系统,这是默认选项,也是使用得最多的选项。
定制数据库,使用此模板可以自己创建定制的数据库。
数据仓库,大型的复杂查询的数据仓库环境数据库。所谓“数据仓库”是指将联机事务处理数据库积累的大量资料,用数据仓库理论所特有的存储架构进行系统的分析整理,主要用来分析处理、数据挖掘,主要用于一些面向主题的数据分析工作。
图2.2 选择数据库模板
如果想知道每种模板的具体的参数配置信息,单击右下角的“显示详细资料”按钮,将显示模板所使用的详细资料,如图2.3所示。
图2.3 模板参数详细资料
DBCA的数据库模板以XML的形式而存在,可以从ORACLE_HOMEassistants dbca emplates文件夹中找到这些模板文件。由于BookLib是一个普通的数据库和事务处理数据库,因此选择第一项作为数据库模板。
(3)接下来需要指定数据库标识符。在该窗口中,需要指定在分布式计算环境中的数据库全局名称,通常由数据库名.域名组成,对于本机多实例的区分来说,是由Oracle系统标识符(SID)标识的,这两个名称可以相同,但是如果数据库是在多服务器集群之间使用,则需要注意全局数据库的命名,如图2.4所示。
图2.4 数据库标识符的设置
Oracle系统会利用环境变量ORACLE_SID指定当前默认的数据库,因此可以通过设置环境ORACLE_SID来设置当前操作系统上的默认的数据库SID,这个名称也与DB_NAME初始化参数相同。
(4)在配置了全局数据库名称之后,接下来进入到Oracle管理选项配置窗口,在该窗口中,可以配置Oracle企业管理器。Oracle企业管理器是一个界面友好的Web数据库管理工具,主要用来进行数据库的控制,一般只用来控制单个数据库,更高级的选项是使用网格控制在一台计算机上控制所有的数据库。在这里使用默认的配置选项,即由DBCA对Oracle企业管理器进行配置,如图2.5所示。
图2.5 Oracle管理选项配置
注意:管理选项的自动维护任务页面,提示是否要启动Oracle的自动维护任务,它可以定期地进行Oracle数据库系统的优化工作,一般建议选中这个选项。
(5)在配置了管理选项后单击“下一步”按钮,将进入到数据库身份验证窗口,要求用户必须为Oracle数据库的4个系统账户指定管理口令,如图2.6所示。
图2.6 配置身份证明窗口
SYS账户是所有Oracle数据字典的拥有者,SYSTEM账户拥有管理性视图和其他Oracle管理基础结构组件,DBSNMP和SYSMAN由Oracle企业管理器使用。
注意:除了这几个账户之外,Oracle还具有很多管理账户,但是这些账户在Oracle数据库创建时被锁定,仅在需要时才启用。
尽管可以为每个账户指定不同的密码,但是出于简单易记的考虑,这里为所有的账户使用相同的管理性的密码。
(6)确认了密码之后,在存储选项窗口中,要求指定数据库文件的存储方法。文件系统是大多数数据库系统的首选,而ASM自动存储管理是一个用于磁盘管理的高级技术,它取代了传统的基于卷标的管理,可以用来管理成百上千的磁盘,如图2.7所示。
DBCA在创建数据库的过程中会创建很多文件,在存储选项中可以指定由模板中指定的文件路径,或者是自己选择一个存储位置。
(7)在配置了数据库的路径后,DBCA要求配置数据恢复选项,在这一步中,要求指定一个闪回区域(即快速恢复区),用来存储由RMAN(恢复管理器)创建的备份和归档重做日志。也可以指定快速恢复区的最大磁盘空间,这个值依赖于数据库的大小、数据库方案和期望的归档重做日志的大小,如图2.8所示。
图2.7 指定数据库文件的存储选项
注意:出于安全性的考虑,应该将这个区域指定到与数据库系统不同的磁盘。
图2.8 指定快速恢复选项
除了指定闪回区域外,还可以指定是否允许归档日志,这也是一个被建议的选项,如果不进行归档重做日志,除非先关闭数据库,否则不能创建一个创建数据库的备份。
(8)在数据库内容区域,指定所创建的数据库是否包含Oracle的示例方案内容,比如scott和hr方案,这些方案有助于学习Oracle数据库,但是如果是正式使用的场合,则不建议包含这些示例的方案,如图2.9所示。
图2.9 指定数据库的内容
(9)在确定了数据库内容后,单击“下一步”按钮,将进入到初始化参数设置窗口,在该窗口中可以指定Oracle的内存大小、SGA和PGA的大小、I/O大小以及内存大小、所使用的字符集与连接模式等。由于这些设置涉及Oracle机制的较多内容,在此保留默认值即可。
(10)在数据库存储页,DBCA提供了即将创建的数据库的物理文件内容,此时可以通过文件位置变量按钮来查看文件位置变量的具体位置,如图2.10所示。
图2.10 查看物理数据库文件位置
(11)在第11步的数据库创建选项窗口,指定是立即创建数据库还是创建为数据库模板,或者是仅创建数据库脚本。由于本节是要立即创建数据库,因此使用默认的选项即可,如图2.11所示。
图2.11 创建数据库选项
(12)在确认了这些选项后,DBCA将显示前面所有配置的概要窗口,该窗口列出了前面所有的配置选项,以方便用户进行确认,如图2.12所示。
(13)在确认了配置选项无误后,单击“确定”按钮,DBCA将开始数据库的创建工作,如图2.13所示。
图2.12 数据库创建概要窗口 图2.13 开始创建数据库
(14)Oracle会创建一个数据库实例及相应的数据库文件,然后会启动这个Oracle实例。在安装完成后,Oracle会弹出如图2.14所示的安装结束对话框。
在创建提示窗口中,还可以对数据库的口令进行进一步的管理,通过单击“口令管理”按钮,将弹出口令管理窗口,在该窗口中列出了可以设置口令的大部分用户账户,对于已经锁定的用户,还可以轻松地进行解锁,如图2.15所示。
图2.14 数据库创建完成对话框
图2.15 管理数据库用户口令在设置完口令后,单击“退出”按钮退出DBCA,此时可以通过Windows服务列表,单击“开始|运行”菜单项,在弹出的对话框中输入services.msc,将打开服务列表,在服务列表窗口中可以看到刚刚创建的BookLib实例服务已经成功运行,如图2.16所示。
2.1.2 使用静默方式创建数据库
静默方式又称为非交互式方式,允许用户在命令行模式下,通过一系列预先配置的参数来创建数据库,这种模式不会弹出图形化的向导界面。这种预先配置的模式可以快速创建一个数据库。在命令行模式下,可以使用dbca -help命令查看dbca的命令行参数,如图2.17所示。
图2.16 数据库实例服务
图2.17 查看DBCA的命令行帮助
可以看到,要设置静默模式,需要指定-silent标志指定用静默模式运行,DBCA使用指定的值来创建数据库,可以是一个响应文件或者是一个命令行的选项。响应文件是一个扩展名为.rsp的文本文件,它可以指定所有必要的参数。不过也可以使用命令行参数的方式,指定所有必需的参数来创建一个数据库。
下面的示例将演示如何使用DBCA命令通过指定命令行参数的方式来创建一个名为ORCL的数据库。示例命令如下:
C:>dbca -silent -createDatabase -templateName General_Purpose.dbc
-gdbname ORCL
-sid ORCL -responseFile NO_VALUE -characterSet ZHS16GBK -memoryPercentage
30 -e
mConfiguration LOCAL
输入 SYS 用户口令:
oracle
输入 SYSTEM 用户口令:
oracle
输入 DBSNMP 用户口令:
oracle
输入 SYSMAN 用户口令:
oracle
复制数据库文件
1% 已完成
3% 已完成
11% 已完成
18% 已完成
……
在这个命令中,-silent参数指示将要使用没有图形界面的静默模式进行安装,-templateName指定模板名称,位于ORACLE_HOMEassistantsdbca emplates文件夹下,也可以使用DBCA图形化工具来创建一个定制的模板文件。-gbdname指定全局数据库名称;-sid指定数据库的全局唯一标识,这里都指定了ORCL;-responseFile指定响应文件,因为不使用响应文件,所以指定了NO_VALUE;-characterSet用于指定字符集,这里选择了简体中文ZHS16GBK;-memoryPercentage指定数据库实例将占用的物理百分比;-emConfiguration用于指定Oracle企业管理器的安装位置。
注意:《Oracle Database Installation Guide》文档中包含了使用静默模式的详细的介绍,它介绍了响应文件的工作方式以及如何创建一个响应文件,对于需要了解使用DBCA和响应文件方式来创建数据库的读者来说,有必要进行仔细阅读。
2.1.3 删除现有数据库
DBCA同样提供了删除数据库的选项,这个向导使得用户可以非常轻松地将Oracle中已经存在的数据库删除。删除数据库包含删除Oracle的例程和数据库文件。使用DBCA删除BookLib的过程如以下步骤所示。
(1)打开DBCA,在可执行的选项中选择“删除数据库”,如图2.18所示。选中了执行选项后,单击“下一步”按钮,将进入到数据库选择窗口,如图2.19所示。
(2)在选择了所要删除的数据库之后,单击“完成”按钮,DBCA将弹出确认提示,提示删除将会移除数据库实例和数据库文件,在确保无误后单击“确定”按钮,将开始进行数据库的删除工作,如图2.20所示。
图2.18 删除数据库选项
图2.19 选择所要删除的数据库
图2.20 开始数据库的删除工作
数据库删除完成后,可以看到在服务列表中的数据库服务和监听服务都已经被移除,这也就是说Oracle实例已经被删除,并且磁盘上的数据库文件也进行了删除工作。
有时候使用DBCA不一定能够正常删除数据库,此时可以手工来实现数据库的删除工作。手工删除分为两步:
删除数据库的数据文件、重做日志文件、控制文件及初始化参数文件。
对于Windows平台,需要删除数据库实例,也就是删除相关的服务进程。
可以使用SQL语句DROP DATABASE删除一个数据库,这个语句将会移除数据库,删除所有的控制文件和数据文件。如果数据库使用了服务器参数文件SPFILE,那么SPFILE也会被删除,不过它不会移除归档日志文件和备份文件,这可以通过RMAN来完成。
要能使用DROP DATABASE语句,除了具有SYSDBA的权限外,Oracle必须启动到MOUNT状态,并且处于RESTRICTED SESSION模式,示例语句如下:
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MOUNT
ORACLE 例程已经启动。
Total System Global Area 778387456 bytes
Fixed Size 1374808 bytes
Variable Size 268436904 bytes
Database Buffers 503316480 bytes
Redo Buffers 5259264 bytes
数据库装载完毕。
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
系统已更改。
SQL> DR
《Oracle PL/SQL从入门到精通》
第1章 Oracle 11g数据库系统
Oracle数据库系统是世界领先的数据库管理系统,Oracle数据库以其功能强大和配置灵活而著称,同时也因有一定的操作难度,让很多初学者望而却步。本书将由浅入深,以简单易懂的示例带领读者拨开Oracle的神秘面纱。
目前在Oracle世界主要有两类人员:一类是Oracle数据库管理人员,简称DBA;一类是Oracle开发人员。Oracle DBA主要的工作是负责日常的数据库维护和性能优化管理。由于Oracle系统较庞大、复杂,要成为一名合格的DBA,需要掌握的知识较多,比如要掌握Oracle体系结构和性能优化等方面的知识,相对其他数据库而言入门门槛较高,但是薪酬一般也较丰厚。Oracle开发人员的主要工作是使用Oracle提供的SQL语言和PL/SQL结构化程序设计语言操作数据库,主要职责是操纵Oracle数据库对象,不需要对Oracle系统结构有深入了解,入门较容易。当Oracle开发人员积累了一定的开发知识后,可以通过学习Oracle DBA方面的知识向数据库管理员转型。
1.1 关系型数据库系统介绍
1970年6月,IBM公司的研究员E.F.Codd博士(中文名:埃德加弗兰克科德),发表了名为“大型共享数据库的关系模型”的论文,受到了学术界和产业界的高度重视和广泛响应,使得关系型数据库系统很快成为数据库市场的主流。E.F.Codd博士被誉为“关系数据库之父”,其照片如图1.1所示。
图1.1 关系数据库之父埃德加弗兰克科德
1.1.1 什么是关系型数据模型
关系型数据库简而言之就是使用关系或二维表存储信息。以公司的人员信息管理为例,为了存储公司内部的员工信息,人事部门一般会建一份列表,在公司未引入信息化管理系统时,大多数人事职员会使用Excel来保存员工信息,例如图1.2是一份简单的人员信息列表的Excel文件。
这种Excel存储数据的方式,将人员的所有信息都包含在一张表中,随着Excel中的栏位和记录数越来越多,这份人员信息表会变得越来越繁杂,这种存储数据的方式称为平面文件数据模型。
为了简化修改与维护的复杂性,关系型数据库设计人员通过使用实体关系模型进行数据库建模,例如人员信息表可以分为员工表和部门表,通过部门编号进行关联,ER模型如图1.3所示。
图1.2 Excel人员信息列表 图1.3 人员信息表ER关系模型
由图1.3中可以看到,通过将员工和部门分别存储在不同的二维表格中,使用主键(PK)和外键(FK)进行关联,使得获取和维护数据变得更容易,这就是关系型数据模型。上述ER图的3个关键组件分别如下所示。
实体:需要了解的信息,比如部门和员工信息。
属性:一般也称为列或字段,描述实体必须或可选的信息,比如员工表中的工号和姓名等。
关系:实体之间指定的关联,比如员工的部门编号关联到了部门表的编号属性。
关系型数据模型还涉及一些较复杂的组成元素,涉及较多的数学知识,有兴趣的读者可以参考一些理论性的读物。
1.1.2 数据库系统范式
为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库系统范式。了解范式是每个数据库设计或开发人员必须具备的基本功,范式的主要目的是降低数据冗余,设计结构合理的数据库。目前较常用的范式有如下3种。
1.第一范式(1NF):字段必须具有单一属性特性,不可再拆分
如果字段中的值已经是无法再分割的值,则符合第一范式,即1NF。例如,在员工表中,姓名字段一般仅包含员工的正式姓名,这是符合第一范式的,但是如果要在姓名字段中包含中文名、英文名、昵称、别名等信息,就意味着姓名字段是可再拆分的。因此员工名的设计可以如图1.4所示。
图1.4 修改后的员工表以匹配1NF范式
2.第二范式(2NF):表要具有唯一性的主键列
第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分,为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。第二范式是在第一范式的基础上的进一步增强,在数据库设计时一般使用唯一性主键来唯一地标识行。比如在员工表中定义了以工号作为主键,因为公司员工的工号通常用来识别某个员工个体,不能进行重复;在部门表中通过部门编号作为主键,来唯一地区分一个部门。
3.第三范式(3NF):表中的字段不能包含在其他表中已出现的非主键字段
第三范式(3NF)是在前两个范式的基础上的进一步增强,主要用来降低数据的冗余。比如,员工表中包含了部门编号,它引用到部门表中的部门编号这个主键,符合第三范式。如果在员工表中又包含一个部门名称,那么表中的字段就包含了其他表中已出现的非主键字段,造成了数据的冗余,不符合第三范式。
范式主要用来规范数据库的设计,使得设计出来的数据库结构清晰,简洁易懂,避免了数据冗余和操作的异常。在设计数据库模型时,灵活地应用范式是创建一个优秀的数据库系统的基石。
1.1.3 关系型数据库管理系统
关系型数据库管理系统,简称DBMS,是基于关系型数据库理论而开发的软件系统。目前比较热门的关系型数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。数据库管理系统是用于建立、使用和维护数据库,对数据库进行统一的管理和控制,保证数据库的安全性和完整性的一套大型的电脑程序。数据库管理系统功能结构示意图如图1.5所示。
图1.5 数据库管理系统功能结构示意图
如图1.5所示,一个数据库管理系统通常要提供如下所示的几项功能。
定义数据库结构:DBMS提供数据定义语言来定义(DDL)数据库结构,用来搭建数据库框架,并被保存在数据字典中。
存取数据库内容:DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作,即检索、插入、修改和删除等。
数据库的运行管理:DBMS提供数据控制功能,即数据的安全性、完整性和并发控制等,对数据库运行进行有效的控制和管理,以确保数据正确有效。
数据库的建立和维护:包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。
数据库的传输:DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。
有了关系型数据库管理系统,开发人员就可以在数据库中创建数据库、创建表、存取数据库内容、对数据库进行备份和管理,只需要理解常用的系统相关的操作,而不用去研究关系型数据库系统内部深奥难懂的数据方面的理论知识。
1.1.4 使用SQL语句与数据库管理系统通信
关系型数据库管理系统提供了SQL语言,允许用户操纵数据库。SQL语言的全称是结构化查询语言(Structured Query Language),它是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式,其操作示意图如图1.6所示。
尽管SQL语言已经被ISO组织定义了具有国际标准的SQL规范,但是各种数据库系统厂商在其数据库管理系统中都对SQL规范做了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用,目前比较流行的两大类SQL语言分别是微软的T-SQL和Oracle的PL/SQL,这两类SQL既有相似之处又有不同之处。
图1.6 使用SQL操作数据库管理系统
SQL语言主要又分为如下两大类。
DML数据操纵语言,主要是完成数据的增、删、改和查询的操作。
DDL数据定义语言,主要用来创建或修改表、视图、存储过程及用户等。
除此之外,还包含称为DCL的数据控制语言。数据库管理员,即DBA,通常使用DDL来管理数据库的对象,而数据操纵语言DML则主要由数据库开发人员使用来操纵数据。
举个例子,如果想要在数据库中创建如图1.4所示的关系模型,可以使用代码1.1的DDL语句来实现。
代码1.1 使用DDL语句创建列和键
--创建员工表
CREATE TABLE 员工表
(
--定义员工表列
工号 INT NOT NULL,
中文姓名 NVARCHAR2(20) NOT NULL,
英文姓名 VARCHAR2(20) NULL,
别名 VARCHAR2(20) NULL,
年龄 INT DEFAULT 18,
入职日期 DATE NULL,
部门编号 I
Oracle数据库管理从入门到精通(套装全2册) pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版