首页 图解oracle基础教程2005.5.27图文修正版

图解oracle基础教程2005.5.27图文修正版

举报
开通vip

图解oracle基础教程2005.5.27图文修正版在正式开始本教程之前,大家有必要简单的了解一下关于数据库的一些基本概念,如果你已经对数据库有相当的了解,那你完全可以跳过这一章 图解ORACLE 9i基础教程 于 群 编著 (QQ:70012069) 2004年10月 中国.重庆 序 言 ORACLE数据库是数据库中的姣姣者,性能卓著。 然而,对于学习和应用ORACLE,很多人都感到困难。作者为其感受颇深。基于此,我们便萌发了编写本书的愿望,期望能给哪些希望学习和应用ORACLE的人,减少一些烦恼,把学习变成一种乐趣。 因此,我们在编写中力图采用最通俗的方式,首先...

图解oracle基础教程2005.5.27图文修正版
在正式开始本教程之前,大家有必要简单的了解一下关于数据库的一些基本概念,如果你已经对数据库有相当的了解,那你完全可以跳过这一章 图解ORACLE 9i基础教程 于 群 编著 (QQ:70012069) 2004年10月 中国.重庆 序 言 ORACLE数据库是数据库中的姣姣者,性能卓著。 然而,对于学习和应用ORACLE,很多人都感到困难。作者为其感受颇深。基于此,我们便萌发了编写本书的愿望,期望能给哪些希望学习和应用ORACLE的人,减少一些烦恼,把学习变成一种乐趣。 因此,我们在编写中力图采用最通俗的方式,首先考虑用图的方式示表述,不能用图的用表表述,最后才是选择文字表述。希望通过这种方式减少学习的障碍。 当我们为这种想法而欢欣鼓舞的时候,在实际的编写过程中却遇到了极大的困难,因为ORACLE毕竟不是通话,要深入浅出并非易事。但,我们还是做了最大的努力。现在呈现在你面前的就是我们操劳结果。 本教程共分三大板块,其中第一板块是ORACLE的最基本知识和技能,学习了这一部分,就基本可以应用ORACLE了。第二个板块是最常用的基本技能,主要是维护ORACLE所具备的必备知识,也是进一步学习提高基础。第三板块是根据自己的情况选学的内容。介于ORACLE 在LINUX上的应用越来越广泛,专门介绍了ORACLE FOR LINUX的安装和应用方法。 本书采用循序渐进的方式,介绍了如下内容: 第一板块:基本知识和技能 第1章 Oracle9i的安装 第2章 ORACLE 基本知识 第3章 Oracle 9i的结构 第4章 创建数据库和表 第5章 创建数据库和表的具体应用 第6章 数据库的查询和视图 第二板块:ORACLE维护必备知识和技能 第7章 用户和权限管理 第8章 PL/SQL应用基础 第9章 数据库的备份和恢复 第10章 应用与维护技巧 第三板块:ORACLE在LINUX环境上的安装和应用 第11章 ORACLE FOR LINUX的安装和应用 在编写中,参考了ORACLE公司的有关资料及其他参考书籍,这里一并表示感谢。 在编写过程中,得到了许多关心这项工作的好友的支持,这里表示诚挚的谢意。 作者 2004年10月18日 于重庆 目 录 TOC \o "1-1" \h \z \u 第1章 Oracle9i的安装 4 第2章 ORACLE 基本知识 30 第3章 Oracle 9i的结构 37 第4章 创建数据库和表 61 第5章 创建数据库和表的具体应用 95 第6章 数据库的查询和视图 108 第7章 用户和权限管理 123 第8章 PL/SQL应用基础 140 第9章 数据库的备份和恢复 154 第10章 应用技巧 194 第11章 Oracle 9i For Linux上的安装和配置、卸装 203 第12章 附录 229 第1章 Oracle9i的安装 Oracle简介 Oracle是oracle公司的数据库产品,ORACLE(甲骨文)公司位于美国加州,是埃里森(Ellison)于1977年以关系软件公司的名义创立,最初是一个小型的关系数据库公司,迄今已经成为领导数据库发展超潮流的大型公司。其软件可以在100多种不同的计算机上运行。 ORACLE公司的Oracle数据库,从20世纪70年代开发推出,历经多次版本更新,至今最新版本为Oracle10g,而使用最为广泛的是Oracle9i。ORACLE公司自86年推出版本5开始,系统具有分布数据库处理功能.88年推出版本6,ORACLE RDBMS(V6.0)可带事务处理选项(TPO),提高了事务处理的速度.1992年推出了版本7,在ORACLE RDBMS中可带过程数据库选项(procedural database option)和并行服务器选项(parallel server option),称为ORACLE7数据库管理系统,它释放了开放的关系型系统的真正潜力。 1.1 Oracle9i安装环境及构成 1.1.1 安装环境 Oracle9i功能强大,相应的对计算机硬件要求也高,推荐最低配置如下,否则可能会影响oracle性能: (1)​ PentiumⅢ以上CPU (2)​ 256MB以上的内存。 (3)​ 4GB以上的空闲硬盘空间。 1.1.2 软件构成 一般安装Oracle9i有两个选择,一个是安装数据库服务器,另一个是安装数据库客户端。如果选择安装数据库服务器就包含了数据库客户端,大家根据自己的用途不同选择不同的安装模式。利用客户端就可以连接和使用安装在其它计算机上的数据库服务器。 1.2 Oracle9i数据库服务器的安装 Oracle9i数据库服务器主要有3个版本,个人版、 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 版和企业版。个人版支持需要完 全兼容Oracle9i企业版和Oracle9i标准版的单用户开发和部署;标准版适用于工作组或部门级别的应用程序;企业版适用于对高端应用程序的数据管理,如大容量的联机事物处理(OLTP)环境、查询密集型的数据仓库和要求较高的应用提供高效、可靠和安全的数据管理方式。运行安装程序后首先显示如图 2所示的“欢迎”窗口。 图 2 ⑶ 单击“下一步”按钮,就进入如图 3所示的“文件定位”窗口,在这里指定的是Oracle9i安装程序的所在位置和你所要安装到的目录。 图 3 “源…”标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 下的“路径”文本框是安装产品组件的说明文件Products.jar存放的完整路径。如果路径不正确,也可以手工填入。在文本框中已有默认的路径,如果需要改变,可以使用“浏览”按钮查找并指定该程序的路径。在“目标…”目录下的“名称”文本框中指定将要建立的Oracle主目录的名称,默认为OraHome91,如果以前安装过其它版本Oracle,可能自动会显示其它名称。“目标……”标题下的“路径”文本框中指定oracle安装主目录的完整路径,也可以通过“浏览”按钮选择。这里我们使用了安装程序给出的默认值。 ⑷ 单击“下一步”按钮,进入如图 4所示的 “文件定位”窗口,窗口上方显示了产品装载进度条。装载完毕后,出现“可用产品”窗口,如图 5所示,这里选择要安装的Oracle9i的产品种类。 这里有3个产品可供选择。 1​ Oracle9i Database9.0.1.1.1:安装Oracle数据库服务器端。 2​ Oracle9iCliemt9.0.1.1.1:安装Oracle数据库客户端。 3​ Oraclei Management and Integration9.0.1.1.1: Oracle9i管理和集成。 这里我们安装第一个――数据库服务器端。 图 4 图 5 ⑸ 单击“下一步”按钮,进入“安装类型”窗口,如图 6所示,这里选择Oracle9i数据库版本。图 6列出了数据库的版本,如果大家第一次安装Oracle数据库,这里最好直接选择“企业版”、或“标准版”或是“个人版”,如果对Oracle已经比较熟悉,可以选择“自定义”来自定义要安装的组件。这里我们选择“企业版”。 图 6 ⑹ 单击“下一步”按钮,进入带有“执行先决条件”进度条的窗口,如图 7所示。 图 7 ⑺ 装载完毕后,单击“下一步”按钮,进入“数据库配置”窗口,如图 8所示,在这里设置数据库的基本配置。 这里有5种设置类型: 名称 解释 通用 安装通用目的预配置数据库。通用类型适合于简单的事务处理或复杂的查询,支持大量并发用户对数据的快速访问。它既可用于事务处理环境的典型应用,又可用于决策支持系统(DSS)查询,并能对历史数据进行数据扫描。 事务处理 安装优化事务处理的预配置数据库。事务处理类型支持大量并发用用户执行简单的事务处理。可以提供较高的可用性和事务处理性,提供大量用户并行访问相同数据的能力并具有较高的恢复性能。事务处理的典型应用有银行事务处理或Internet商务数据库的事务处理。 数据仓库 安装优化数据仓库的预配置数据库。数据仓库类型适合于对主题进行复杂的查询,它支持对大量数据进行快速访问并且使用类似联机 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 处理(ZHANGP)等应用程序。数据仓库的典型应用包括用于客房订单研究、支持呼叫、销售预测、购物和采购模式以及其他战略性业务问题的历史数据库。 自定义 选择该选项,安装的时间较长,但可以选择需要的安装的类型和组件。 只安装软件 选择这个类型则只安装软件,但可以再配置数据库时遇到困难。 请大家根据使用Oracle数据库的实际用途选择最佳的配置。例如,如果数据库需要针对事务处理进行优化,就可以选择“事务处理”选项。这里选择“通用”选项。 图 8 ⑻ 单击“下一步”按钮,进入带“正在处理”进度条的数据库配置窗口,如图 9所示。 图 9 ⑼ 装载完毕后,单击“下一步”按钮,进入“数据库标识”窗口,如图 10所示,这里设定Oracle数据库的识别数据。 图 10 Oracle数据库从8i以后的版本都是使用全局数据库名(Global Database Name)来惟一识别每一个Oracle数据库的。它通常的格式是: [Oracle SID名称].[数据库主机所在网络名称] 一个数据库至少被一个Oracle9i例程使用。通过Oracle9i系统标识符(SID)区别Oracle9i例程。 在“全局数据库名”文本框中输入Ora.domain,则在“SID”文本框中会自动填入Ora。用户可以接受该值也可以改变它。这里使用默认值。 ⑽ 单击“下一步”按钮,进入“数据库文件位置”窗口,如图 11所示,这里指定放数据库文件的位置。 图 11 为了使数据库结构和性能达到最优,建议将数据库文件和Oracle9i软件安装在不同的磁盘上。数据库软件应安装在一个磁盘的Oracle主目录中:数据库内容,包括数据文件、控制文件和重做日志应安装在另一个磁盘上,本书的后边还会解释为什么这样做会提高数据库的性能。 这里使用默认目录,即Oracle主目录。 ⑾ 单击“下一步”按钮,进入“数据库字符集”窗口,如图 12所示,这里指定数据库所用的字符集。 图 12 字符集是建立Oracle数据库时最重要的一项设定,如果设定错误,就很可能无法存取中文资料。这里使用默认值。 ⑿ 单击“下一步”按钮,进入“摘要”窗口,如图 13所示。在该窗口中,列出了前面所进行的配置及所要安装的新组件等概要信息。 图 13 ⒀ 确认无误后单击“安装”按钮就开始正是安装Oracle数据库了,如图 14所示 图 14 ⒁一般安装到44%左右时,会出现“磁盘位置”对话框,要求放入第二张光盘。将第二张光盘放入光驱,如果大家是使用硬盘安装的方式,就指定第二张盘的所在位置即可,单击“确定”按钮,继续安装。 一般安装到87%左右时,会再次出现“磁盘位置”对话框,要求放入第三张光盘如果大家是使用硬盘安装的方式,就指定第三张盘的所在位置即可。将第三张光盘放入光驱,单击“确定”按钮,继续安装。 复制结束后,会出现“配置工具”窗口,如图 15所示。安装系统会自动启动数据库配置工具程序,这些工具虽然不是必需的,但建议运行这些工具。 图 15 其中有两个重要的配置工具:Oracle网络设定配置助手和Oracle数据库创建配置助手。第一个自动执行的就是Oracle网络设定配置助手,使用本配置助手可以配置Oracle数据库服务器监听的Oracle实例、网络服务名称以及通过网络管理其他Oracle9i数据库的相关设定。第二步会安装Oracle Web Server。安装完毕后激活最重要的Oracle数据库创建配置助手(Database Configuration Assistant),如图 16所示,这是必要的一个步骤,因为当前Oracle Universal Install只在 系统中安装了Oracle9i数据库服务器,但还没有任何Oracle数据库的实例,如同修建了一个仓库,但内部还没有任何货物。所以需要使用Database Configuration Assistant来创建一个Oracle数据库。当然,Database Configuration Assistant并不是创建数据库的唯一方法,本教程以后的章节还介绍了其他创建Oracle数据库的方法以及相关的注意事项,请大家参阅后边章节。 当出现如图 17所示的窗口时就算大功告成了。窗口中显示了配置过程中给定的数据库信息,如全局数据库名称、系统标识符、默认系统用户等。请记住SYS 和SYSTEM这两个系统管理预设的密码,分别为change_on_install 与manager。为了数据库安全性考虑,请注意修改默认口令。 若要修改口令,单击“口令管理”按钮,进入“口令管理”窗口,如图 16,这里可以执行解除锁定和更改口令的操作。 图 16 (15)在图 17击“退出”按钮,进入安装结束窗口,整个安装过程全部结束。 图 17 1.3 Oracle9i客户端的安装 Oracle9i客户端的安装步骤如下: ⑴ 将第一张安装盘放入光驱,如果是通过硬盘文件安装,则双击setup.exe文件,启动后显示如图 1所示的安装系统封面窗口。单击“开始安装”按钮,进入如图 2所示的“欢迎”窗口。 ⑵ 单击“下一步”按钮,进入如图 3所示的“文件定位”窗口。在该窗口的“名称”文本框中输入主目录名称,如client;在“路径”文本框中输入主目录路径,如D:\client。 ⑶ 单击“下一步”按钮,显示带“正在装载产品列表”的进度条的“文件定位”窗口,如图 19所示。装载完毕后,进入“可用产品”窗口,如图 20所示。选择安装“Oracle9i Client”。 图 19 图 20 ⑷ 单击“下一步”按钮,进入“安装类型”窗口,如图 21所示。该窗口有3种类型可供选择。 ① Administrator:表示管理员安装。安装管理控制台、管理工具、实用程序和基本客户机软件。 ② 运行时:安装用于开发应用程序、网络服务和基本客户机软件的工具。为数据库应用程序用户提供了连接Oracle9i数据库并行交互的网络连接服务和支持文件。 ③ 自定义:用户自己选择安装组件。 ⑸ 单击“下一步”按钮,显示带进度条的“安装类型”窗口,如图 22所示。装载完毕后,进入“摘要”窗口,如图 23所示。 ⑹ 单击“安装”按钮,进入“安装”窗口,如图 24所示。 复制结束后,切换到“配置工具”窗口,如图 25所示。配置过程中会激活网络配置助手(Net Configuration Assistant)窗口,如图 26所示。 图 21 图 22 图 23 图 24 图 25 (7)出现欢迎窗口,点击下一步,进入下一个窗口,这里窗口中选择是否使用目录服务。选择以后再进行该配置,可以在Oracle9i网络配置助手的提示下完成创建网络服务名。如图27 图26 图27 (8)填入主机名,其它采用默认值,如图28 图28 (9)选择命名方法,采用默认值,如图29 图29 (10) 单击“下一步”按钮,进入“网络服务名配置,数据库版本“窗口,如图 27所示。在该窗口中选择数据库版本。 (11) 单击“下一步”按钮,进入“网络服务名配置,服务名”窗口,如图30所示。在“服务名”文本框中输入全局数据库名,如sample。 图30 (12)单击“下一步”按钮,选择网络协议,TCP,如图31 图31 (13)单击“下一步”按钮,填入主机名,如admin,如图32 图32 (14)单击“下一步”按钮,选择现在进行测试,系统自行进行测试,如果成功,给出测试成功信息如图33 图33 图33 (15)单击“下一步”按钮,进入“网络服务名配置,网络服务名”窗口,可以采用前面输入的服务名,也可以更改为其他名称。建议使用前面输入的服务名。 (16)选择“否”,单击“下一步”按钮,选择是否继续配置另外一个网络服务名。 (17)单击“下一步”按钮,进入“网络服务名配置完毕”窗口。 (18)单击“下一步”按钮,进入完成窗口,提示Oracle Net已经配置完毕。 (19)单击“下一步”按钮,切换到“配置工具“窗口,此时。配置工具窗口的状态为成功。 (20)单击“下一步“按钮,切换到安装接收窗口。至此,Orale客户端的安装完成。 1.4 Oracle9i的卸载 ⑴ 首先要停止所有的Oracle服务 。如图 37所示,选中“我的电脑“图标,单击鼠 标右键,在弹出的快捷菜单中选择“管理”,激活“计算机管里”窗口,如图 38。 图 37 图 38 双击“服务和应用程序”选项;然后双击“服务”选项;接着在计算机管理窗口的右边选项栏中选中打开的Oracle服务(以Oracle开头的都是Oracle服务),单击鼠标右键,在如图 39所示的快捷菜单中选择“停止”。依次把所有代开的Oracle服务关闭。 图 39 ⑵ 用Universal Install 卸载所有Oracle产品。按照图 40所示的步骤,选择“开始-程序-Oracle Installation Products-Universal Install”,进入如图 2所示的“欢迎”窗口,单击“卸装产品”,进入已安装产品窗口如图 41所示。一次可以卸载全部产品,也可以只卸载部分产品。建议当计算机系统资源,尤其是内存不是足够大时,不要一次卸载全部产品,否则卸载速度很慢或者不能成功卸载。 图 40 图 41 单击要删除的产品前的复选框,复选框中出现对勾,表明已选择里该项产品。选择所有产品,单击“删除”,系统显示确认是否删除窗口;单击“是”,进入“删除”窗口,如图 42所示。 耐心等待进度条达到100%,卸载完毕后,在“Inventorymul目录”中,提示未安装的产品,并且Oracle选项在“程序”菜单中消失里了。 图 42 ⑶ 把注册表中所有的Oracle入口删除。按照步骤执行:开始-运行,打开运行窗口,如图 43 所示。在“代开”文本框中输入Regedit,单击“确定”按钮,进入“注册表编辑器”窗口,如图 44所示。 图 43 图 44 在注册表编辑器中把“HKEY-LOCHONGQINGL-MACHINE\SOFTWARE\ORACLE”删除:把“HKEY-LOCHONGQINGL-MACHINE\SYSTEM\CURRENTCONTROLSET\SERVIES”下的Oracle 入口删除:把HKEY-LOCHONGQINGL-MACHINE\SYSTEM\CURRENTCONTROLSET\SERVIES\EVENTLOG\APPLICHONGQINGTION下的入口删除。 ⑷ 删除Oracle目录。把安装路径下和操作系统目录下的Oracle目录删除,这时并不能完全删除,重新启动计算机后,才能完全删除Oracle目录。 到这里,Oracle9i才真正完全卸载完毕。 第2章 ORACLE 基本知识 2.1 数据、数据库、数据库管理系统、数据库系统 数据、数据库、数据库管理系统和数据库系统是与数据技术密切相关的四个基本概念。 1、数据(Data) 数据是数据库中存储的基本对象。数据在大多数人头脑中的第一个反应就是数字。其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。我们平时听的音乐,看的图片,电影,撰写的文章等等,它们其实都是数据。很多正式的教科书上对数据的定义:描述事物的符号 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 称为数据。 2、数据库(DataBase,简称DB) 数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且是按一定的格式存放的。再直白点说,数据库就象一个箱子,我们放在箱子里的东西就相当于数据。 3、数据库管理系统(DataBase Management System,简称DBMS) 现在大家知道了数据和数据库的概念,下一个问题就是如何科学地组织和存储数据,如何高效地获取和维护数据。完成这个任务的是一个系统软件――数据库管理系统。我们将要学习的oracle数据库软件其实就是一个――数据库管理系统。 4、数据库系统(DataBase System,简称DBS) 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要专门的人员来完成,这些人被称为数据库管理员((DataBase Administrator,简称DBA).简单点来说,如果你是数据库管理员,那么你+oracle数据库+你的服务器+还有其他使用这个数据库的人,大家一起组成了―――数据库系统。 下边这个图简单的说明了上边我们所说的概念的关系 2.2 数据库、表、记录、字段 1、数据库 数据库系统中最核心的部分当然就是数据库了,那么我们来看看数据库里边都有什么吧。 2、表、记录、字段 表里边是记录和字段。为了更容易理解,下边就是一张实际的表 2.3 SQL语言 学习数据库就不能不知道SQL语言,SQL全称是“结构化查询语言(Structured Query Language)”, SQL语言结构简洁,功能强大,简单易学,所以自从FUAN公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。SQL语言功能极强,但由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词, SQL接近英语口语,容易学习. 不过大家不用太担心,有些人一听到要学什么语言就头痛,如果你不是很懂SQL语言,还是可以使用Oracle,但是如果你学会了SQL,那就事半功倍了。 SQL语言的动词 SQL功能 动词 说明 数据查询 SELECT 从一个表或多个表中检索列和行 数据操纵 INSERT, UPDATE, DELETE 向一个表中增加、修改、删除行 数据定义 CREATE, ALTER, DROP 按特定的表模式创建一个新表 数据控制 GRAND,REVOKE 把查询结果排序 1、​ SQL和数据库的关系 SQL是我们操作数据库的工具,是和数据库打交道的语言,对数据的查询,修改,管理都可以通过SQL来完成。 2、​ 用SQL查询数据库 SQL语句中最常用和最基础的就是“查询数据库”,下面我们通过一个实例来学习。在SQL语言中使用SELECT这个单词来执行查询,语法是: SELECT 字段名 FROM 表名 [WHERE 条件] [order by 字段名] 单词 说明 SELECT 指明要检索的数据的列 FROM 指明从哪(几)个表中进行检索 WHERE 指明返回数据必须满足的标准 GROUP BY 指明返回的列数据通过某些条件来形成组 HAVING 指明返回的集合必须满足的标准 ORDER BY 指明返回的行的排序顺序 例子1、一个简单的SELECT语句,不使用[WHERE 条件]和[order by 字段名]: SELECT id, name, From gongzi 语句的意思是从gongzi表中选择id, name,这两列,这条语句执行的结果: id Name 1 张三 2 李四 3 王五 4 赵七 5 陈九 在where条件从句中可以使用以下一些运算符来设定查询标准: = 等于 > 大于 < 小于 >= 大于等于 <= 小于等于 <> 不等于 例子2、一个简单的SELECT语句,使用[WHERE 条件]: SELECT name, age From gongzi where sex=女 id Name Age Sex Pay 1 张三 56 男 500 2 李四 32 女 1000 3 王五 25 男 900 4 赵七 28 男 700 5 陈九 42 女 600 语句的意思是从gongzi表中选择name,age这两列,并且性别是女,这条语句执行的结果: Name Age 李四 32 陈九 42 例子3、一个简单的SELECT语句,使用[WHERE 条件]: SELECT name, age From gongzi where sex<>男 id Name Age Sex Pay 1 张三 56 男 500 2 李四 32 女 1000 3 王五 25 男 900 4 赵七 28 男 700 5 陈九 42 女 600 Name Age 李四 32 陈九 42 语句的意思是从gongzi表中选择name,age这两列,并且性别不是男的,这条语句执行的结果: 使用order by 对查询结果进行排序,ORDER BY [DESC] 是指定以某个栏位做排序,[DESC]是指从大到小排列,若没有指明,则是从小到大排列。 例子4、一个简单的SELECT语句并且排序: SELECT * From gongzi order by pay id Name Age Sex Pay 1 张三 56 男 500 5 陈九 42 女 600 4 赵七 28 男 700 3 王五 25 男 900 2 李四 32 女 1000 语句的意思是选择表中所有的字段,并且按照工资从小到大显示,结果如下: 如果语句为SELECT * From gongzi order by pay desc 那么结果顺序正好相反 id Name Age Sex Pay 1 张三 56 男 500 2 李四 32 女 1000 3 王五 25 男 900 4 赵七 28 男 700 5 陈九 42 女 600 第3章 Oracle 9i的结构 下边我们就分物理结构和逻辑结构来简单的学习一下Oracle9i的一些基本概念。如果不是很理解一些概念,也不需着急,继续往下看。 Oracle 9i是Oracle公司推出的数据库最新版本, Oracle 9i将数据库和因特网技术融合在一起,是特别适合于因特网上数据管理的的数据库开发平台。一个ORACLE数据库是数据的集合,被处理成一个单位。一个ORACLE数据库有物理结构和逻辑结构。 如果是自己学习使用,可以在oracle公司网站上注册后下载得到安装文件,与正规购买的是一样的。 3.1 Oracle数据库物理结构 每一个ORACLE数据库是由四种类型的文件组成:数据文件、日志文件、参数文件和控制文件。数据库的文件为数据库信息提供真正的物理存储。 Oracle数据库的物理结构 3.1.1 数据文件(Datefile) 任何一种类型的数据库都有一个存放数据的实体文件,以Oracle而言,它是以数据文件来存放数据库中相关的对象的,每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。 数据库中可以创建的数据文件的数量是受到限制的: 下面的图示演示了数据文件分别创建在不同的硬盘上可以提高数据库存取速度的原因: 3.1.2 重做日志文件(Redo log file) 日志文件主要是保护数据库以减少可能发生的故障所带来的损失。为了防止日志文件本身的故障,ORACLE允许镜象日志(mirrored redo log),甚至在不同磁盘上维护两个或多个日志副本。当数据库中的数据遭到破坏时,我们就可以用这些日志来恢复数据库。 一个数据库至少需要两个重做日志文件,ORACLE以循环方式向重做日志文件写入。第一个日志被填满后,就向第二个日志文件写入,然后依次类推。当所有日志文件都被写满时,就又回到第一个日志文件,用新事务对其进行重写。 需要提示大家的是,当前活动的和归档模式下未归档的日志组不能被删除。 3.1.3 控制文件(control file) 每一个ORACLE数据库有一个控制文件(control file),它记录数据库的物理结构,它包含下列信息类型: ​ 数据库名; ​ 数据库数据文件和日志文件的名字和位置; ​ 数据库建立日期。 ​ 日志记录序列码 每一次ORACLE数据库的实例启动时,它的控制文件用于标识数据库和日志文件,当进行数据库操作时它们必须被打开。当数据库的物理组成更改时,ORACLE自动更改该数据库的控制文件。数据恢复时,也要使用控制文件。 3.2 Oracle数据库主要逻辑结构 Oracle数据库逻辑结构包含表空间、段、范围(extent)、数据块和模式对象。 Oracle数据库的逻辑层次结构: 为了更好的理解数据库的逻辑结构,我们不妨做个比喻,如下图: Oracle数据库逻辑结构层次图: 3.2.1表空间 表空间好比是oracle的数据库文件夹,它是一个虚拟的概念,用户建立的数据库对象应该被存放在各种具有典型意义的表空间下,这样便于更好的管理数据库。默认有9个表空间,它是系统自动建立的。 一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(TABLESPACE)。一个表空间可将相关的逻辑结构组合在一起。DBA(数据库管理员)可利用表空间作下列工作: ​ 控制数据库数据的磁盘分配。 ​ 将确定的空间份额分配给数据库用户。 ​ 通过使单个表空间在线或离线,控制数据的可用性。 ​ 执行部分数据库后备或恢复操作。 ​ 为提高性能,跨越设备分配数据存储。 数据库、表空间和数据文件之间的关系如下图所示: 每个数据库可逻辑划分为一个或多个表空间 每一个表空间是由一个或多个数据文件组成,该表空间物理地存储表空间中全部逻辑结构的数据。DBA可以建立新的表空间,可为表空间增加数据文件或可删除数据文件,设置或更改缺省的段存储位置。 每一个ORACLE数据库包含有一个名为SYSTEM的表空间,在数据库建立时自动建立。在该表空间中总包含有整个数据库的数据字典表。最小的数据库可只需要SYSTEM表空间。该表空间必须总是在线。表和存储的PL/SQL程序单元(过程、函数、包和触发器)的全部存储数据是存储在SYSTEM表空间中。如果这些PL/SQL对象是为数据库建的,DBA在SYSTEM表空间中需要规划这些对象所需要的空间。 表空间利用增加数据文件扩大表空间,表空间的大小为组成该表空间的数据文件大小的和。 DBA可以使ORACLE数据库中任何表空间(除SYSTEM表空间外)在线(ONLINE)或离线(OFFLINE)。表空间通常是在线,这样它所包含的数据对数据库用户就是可用的。当表空间为离线时,其数据不可使用。在下列情况下,DBA可以使其离线。 。使部分数据不可用,而剩余的部分允许正常存取 。执行离线的表空间后备 。为了修改或维护一应用,使它和它的一组表临时不可用。 包含有正在活动的回滚段的表空间不能被离线,仅当回滚段不正在使用时,该表空间才可离线。 在数据字典中记录表空间的状态,在线还是离线。如果在数据库关闭时表空间为离线,那么在下次数据库装配和重新打开后,它仍然保持离线。 当出现某些错误时,一个表空间可自动地由在线改变为离线。通过使用多个表空间,将不同类型的数据分开,更方便DBA来管理数据库。 ORACLE数据库中表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间想联系。当为表空间建立一数据文件时,ORACLE建立该文件,分配指定的磁盘空间容量。在数据文件初次建立后,所分配的磁盘不包含任何数据。表空间可以在线或离线。在ORACLE中还允许单独数据文件在线或离线。 3.2.2数据段、分区和数据块 ORACLE通过段、分区和数据块逻辑数据结构可更细地控制磁盘空间的使用。 数据段(SEGMENT)包含表空间中一种指定类型的逻辑存储结构,是由一组分区组成。在ORACLE数据库中有几种类型的段:数据段、索引段、回滚段和临时段。 名称 解说 数据段 对于每一个非聚集的表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中 索引段 每一个索引有一索引段,存储索引数据 回滚段 是由DBA建立,用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务 临时段 当一个SQL语句需要临时工作区时,由ORACLE建立。当语句执行完毕,临时段的范围退回给系统 ORACLE对所有段的空间分配,以分区为单位。 分区 一个分区(EXTENT)是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。每一个段是由一个或多个分区组成。当一段中间所有空间已完全使用时,ORACLE为该段分配一个新的分区。 为了维护的目的,在数据库的每一段含有段标题块(segment header block)说明段的特征以及该段中的分区目录。 数据块 数据块(data block)是ORACLE管理数据文件中存储空间的单位,为数据库使用的I/O的最小单位,其大小可不同于操作系统的标准I/O块大小。通常大小为2kb或4kb,与操作系统有关,在windows 2000 server里默认为4kb. 3.2.3 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 和方案对象 一个方案(schema)为方案对象(scehma object)的一个集合,每一个数据库用户对应一个方案。方案对象为直接引用数据库数据的逻辑结构,方案对象包含如表、视图、索引、聚集、序列、同义词、数据库链、过程和包等结构。方案对象是逻辑数据存储结构,每一种方案对象在磁盘上没有一个相应文件存储其信息。一个方案对象逻辑地存储在数据库的一个表空间中,每一个对象的数据物理地包含在表空间的一个或多个数据文件中。 表 表(Table)为数据库中数据存储的基本单位,其数据按行、列存储。每个表具有一表名和列的集合。每一列有一个列名、数据类型、宽度或精度、比例。一行是对应单个记录的列信息的集合。在本书的第二章也介绍了表的概念,请大家参考。 视图 一个视图(view)是由一个或多个表(或其他视图)中的数据的一种定制的表示,是用一个查询定义,所以可认为是一个存储的查询(stored query)或是一个虚表(virtual Table)。视图可在使用表的许多地方使用。 由于视图是由表导出的,视图和表存在许多类似,视图象表最多可定义254列。视图可以被查询,而在修改、插入或删除时具有一定的限制,在视图上执行的全部操作真正地影响视图的基本表中的数据,受到基本表的完整性约束和触发器的限制。 视图与表不同,一个视图不分配任何存储空间,视图不真正地包含数据。由查询定义的视图相应于视图引用表中的数据。视图只在数据字典中存储其定义。 引入视图有下列好处: 视图的好处 通过限制对表的行预定义集合的存取,为表提供附加的安全性 隐藏数据复杂性 为用户简化命令 为基本表的数据提供另一种观点 可将应用隔离基本表定义的修改 用于不用视图无法表示的查询 可用于保存复杂查询 簇(cluster)是存储表数据的可选择的方法。一个簇是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用。这些公共列构成聚集码。例如:EMP表各DEPT表共享DEPTNO列,所以EMP表和DEPT表可聚集在一起,聚集码的列为DEPTNO列,该聚集将每个部门的全部职工行各该部门的行物理地存储在同一数据块中。 索引 索引(index)是与表和聚集相关的一种选择结构。索引是为提高数据检索的性能而建立,利用它可快速地确定指定的信息。ORACLE索引为表数据提供快速存取路径。索引适用于一范围的行查询或指定行的查询。 索引可建立在一表的一列或多列上,一旦建立,由ORACLE自动维护和使用,对用户是完全透明的。索引是逻辑地和物理地独立于数据,它们的建立或删除对表没有影响,应用可继续处理。索引数据的检索性能几乎保持常数,而当一表上存在许多索引时,修改、删除和插入操作的性能会下降。 索引有唯一索引各非唯一索引。唯一索引保证表中没有两行在定义索引的列上具有重复值。ORACLE在唯一码上自动地定义唯一索引实施UNIQUE完整性约束。 组合索引是在表的某个列上所建立的一索引。组全索引可加快SELECT语句的检索速度,在其WHERE子句中可引用组合索引的全部或主要部分 。所以在定义中给出列的次序,将经常存取的或选择最多的列放在首位。 在建立索引时,将在表空间自动地建立一索引段,索引段空间分配和保留空间的使用受下列方式控制: 索引段范围的分配常驻该索引段的存储参数控制。 其数据块中未用空间可受该段的PCTFREE参数设置所控制。 序列生成器 序列生成器(sequence generator)产生序列号。在多用户环境下该序列生成器特别有用,可生成各返回序列号而不需要磁盘I/O或事务封锁。 序列号为ORACLE整数,最多可有38个数字。一个序列定义指出一般信息:序列的名字、上升或下降、序列号之间间距和其它信息。对所有序列的确的定义以行存储在SYSTEM表空间中的数据字典表中,所以所有序列定义总是可用。由引用序列号的SQL语句使用序列号,可生成一个新的序列号或使用当前序列号。一旦在用户会话中的SQL语句生成一序列号,该序列号仅为该会话可用。序列号生成是独立于表,所以同一序列生成器可用于一个和多个表。所生成序列号可用于生成唯一的主码。 同义词 同义词(synonym)可以为表、视图、快照、序列、过程、函数或包提供别名,它的定义存储在数据字典中。使用同义词可以提高数据库安全性,可以更方便的使用数据库种的对象和功能: ​ 可屏蔽对象的名字及其持有者。 ​ 为分布式数据库的远程对象提供位置透明性。 ​ 为用户简化SQL语句。 同义词有两种:公用和专用。一个公用同义词为命名为PUBLIC特殊用户组所持有,可为数据库中每一个用户所存取。一个专用同义词是包含在指定用户的模式中,仅为该用户和授权的用户所使用。 程序单元 程序单元(program unit)是指存储过程、函数和包(PACKAGE)。一个过程和函数,是由SQL语句和PL/SQL语句组合在一起,为执行某一个任务的一个可执行单位。 一个过程或函数可被建立,在数据库中存储其编译形式,可由用户或数据库应用所执行。过程和函数区别在于函数有返回值,而过程没有返回值。 包是把相关的过程、函数、变量和其它包结构封装起来并存贮在一起的一种方法,管理员和开发人员可利用包来组织程序,提供更多的功能和提高性能。 数据库链 数据库链是一个命名的对象,说明从一数据库到另一数据库的一路径(PATH)。在分布式数据库中,对全局对象名引用时,数据库链隐式地使用。 3.2.4内存分配(SGA和PGA) SGA:是用于存储数据库信息的内存区,数据库进程共享该信息。它包含Oracle 服务器的数据和控制信息, 它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收。 3.2.5后台进程 数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程。 名称 解说 数据写进程 负责将更改的数据从数据库缓冲区高速缓存写入数据文件 日志写进程 将重做日志缓冲区中的更改写入在线重做日志文件 系统监控 检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复 进程监控 负责在一个Oracle 进程失败时清理资源 检查点进程 负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息 归档进程 在每次日志切换时把已满的日志组进行备份或归档 服务进程 用户进程服务 用户进程 在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据 3.2.6 oracle实例 Oracle 实例由SGA 内存结构和用于管理数据库的后台进程组成。实例一次只能打开和使用一个数据库。 Oracle 实例结构简易示意图 Oracle 实例结构示意图 3.2.7 SCN(System Change Number):系统改变号 系统改变号是一个由系统内部维护的序列号。当系统需要更新的时候自动增加,它是系统中维持数据的一致性和顺序恢复的重要标志。 3.3 Oracle数据库总体结构 以上我们讲述了Oracle数据库的物理结构和逻辑结构,为了帮助大家更好的理解Oracle数据库的总体结构,请查看下边的图示,也许有助于大家对Oracle数据库服务器有个总体的印象。 3.3 主要管理工具 安装好Oracle后,在开始-程序菜单中就会有Oracle的快捷方式存在,Oracle提供了多个管理工具,其中最常用的是企业管理器(OEM),SQL*Plus, SQL*Plus Worksheet, 数据库配置助手(Database Configuration Assistant),下边就简单的介绍以下这几个工具。 3.3.1 企业管理器(OEM) 企业管理器是各种管理工具的集成平台,进入企业管理器(OEM)后就可以对数据库进行管理,这里是我们以后经常要来的地方哟,进入步骤如下,如图 图3.7 进入OEM步骤示意图 单击选择后出现如图3.8所示的企业管理器控制台界面,共有两个选项。这也是和Oracle8不同的地方,Oracle8里是没有这两个选项地。 图3.8启动界面 这两个选项一个是独立启动,一个是登录到管理服务器,这两个选项有什么不同呢?为了弄清楚这个问题,首先就要知道Oracle9i有哪些管理模式。Oracle9i有四种不同的管理模式:①命令行管理模式 ②企业管理器直接管理 ③管理服务器集中管理 ④基于web的管理 它们之间的区别,请如图3.9 模式 特点 适合对象 命令行管理 提供的命令文件有限,只能完成基本的管理工作,操作界面不友好,只能在服务器上完成管理,无法远程管理 有经验的管理员,作为其他管理模式的补充 企业管理器直接管理 直接管理数据库,无法管理整个服务器的环境,不能使用Oracle9i提供的大量向导工具 只需完成简单的数据管理的管理员 管理服务器集中管理 可以完成所有的管理任务,需要安装Oracle9i客户软件,速度快,对管理客户机的硬件要求较高 硬件环境满足要求,需要完成负责管理任务的管理员 基于web的管理 对客户机的硬件配置要求较低,和web浏览器紧密集成,非常适合远程管理,但速度较慢 硬件环境配置较低,有web运行环境,需要完成负责管理任务的管理员 图3.9 Oracle9i数据库管理模式 我们选择“独立启动”然后点击确定。出现独立启动后的企业管理其界面,如图3.10 整个管理界面分为,菜单栏,快捷功能按钮区,集成管理工具区,管理目标导航器,管理目标显示区 如图3.11 图3.10 图3.11菜单栏,快捷功能按钮区,集成管理工具区 把鼠标放到相应的按钮上可以出现提示,请大家自己查看。 单击数据库文件夹前的“+”,可以展开数据库列表,就出现了目前已经挂接上来的数据库,如果没发现你要管理的数据库,可以在数据库文件夹上点击右键来关节数据库。单击你要管理的数据库前的“+”,就会出现数据库连接信息窗口,要求你登录。如图3.12 图3.12 数据库连接信息窗口 我们使用SYSTEM登录, 连接身份请选择SYSDBA, Oracle9i中连接身份有: 名称 说明 SYSDBA 数据库系统管理员,拥有最高权限 SYSOPER 数据库操作员,权限比管理员低 Normal 一般用户,权限比较低 如果选中了“另存为首选身份证明”,那么下次连接数据库的时就不用输入信息了,但这样做可能会不安全。 展开数据库后就可以进行相关的操作了,展开数据库后 如图3.13 图3.13展开后的数据库 登录数据库以后,在例程管理器中可以对数据库进行一些基本操作,例如打开,关闭等等。展开例程管理器如图3.14和图3.15 图3.14展开后的例程管理器 图3.15 数据库关闭选项 3.3.2 SQL*Plus Oracle9i的SQL*Plus是Oracle公司对标准SQL语言进行扩充后的产品,用户可以在SQL*Plus的窗口中进行多种操作来对数据库进行操作。通常我们在里边执行一些SQL命令,SQL命令我们在前面的章节里进行过讲解,没有忘记吧? 类似SQL*Plus还有PLSQL Developer这个工具,它的功能更加强大,大家可以试用一下。 SQL*Plus可以在DOS下使用也可以在windows里使用,我们先在windows里启动SQL*Plus,在开始――程序――Oracle - OraHome92――Applichongqingtion Development――SQL Plus启动SQL*Plus,如图3.16, 图3.16 启动SQL*Plus 单击SQL Plus后出现注册界面,如图3.17, 图3.17注册界面 在用户名称里输入sysytem,在口令里输入manager,在主机字符串里输入example,如果你的和口令和字符串与我不一样,那请输入你自己的。然后确定。主机字符串一般就是你要连接的数据库的名字,如果连接数据库成功就会出现SQL*Plus的界面,如图3.18 图3.18 SQL*Plus的界面 这时候就可以在窗口中使用SQL命令来操作数据库了,窗口的上边几行显示了SQL*Plus的版本、启动时间和版权信息。我们来使用一个简单的语句,体验一下效果,还记得select这个单词吧,也是前面章节里讲过的 在窗口中输入查询语句:select * from scott.emp; 语句中的scoot为系统安装默认的数据库用户,可以对emp表查询,语句运行结果如图3.19 图3.19 语句运行结果 3.3.3 SQL*Plus Worksheet SQL*Plus Worksheet和SQL*Plus的功能上大致差不多,最明显的不同就是界面不同,SQL*Plus Worksheet更符合用惯了windows的用户的习惯,象我这样喜欢Dos的人就更喜欢用SQL*Plus。 选择开始――程序――Oracle - OraHome92――Applichongqingtion Development――SQL*Plus Worksheet启动SQL*Plus Worksheet,如图3.20 图3.20 单击以后出现企业管理器登陆界面,如图3.21 图3.21 企业管理器登陆界面 选择直接连接到数据库,输入用户名和口令,在“服务”里输入要连接的数据库名字,连接身份选择sysdba,可以根据需要选择其他身份。(如果不理解各种身份,请查看本章的前面“注意”),点击确定以后出现SQL*Plus Worksheet界面。如图3.22 图3.22 SQL*Plus Worksheet界面 图3.23 在输入命令区中输入查询语句:select * from scott.emp;然后点击左边第二个按钮执行命令,如图3.24 图3.24 执行命令 3.3.4数据库配置助手(Database Configuration Assistant) 数据库配置助手是图形化的数据库管理员助手,对于不熟悉的用户有很大帮助,可以使用它创建,删除数据库,配置现有数据库等功能。通过 开始――程序――Oracle - OraHome92――Configuration and Migration Tools――Database Configuration Assistant启动数据库配置助手(Database Configuration Assistant),如图3.25 图3.25 数据库配置助手(Database Configuration Assistant)使用比较简单,请大家根据向导实际操作。它的详细操作请看第四章。 第4章 创建数据库和表 本章中我们一起来亲自创建一个数据库,然后在其中在添加表。还记得第一章提到的“数据库、表、记录、字段”的概念么?如果不记得了,那么为了更好的学习和理解本章的内容,你就有必要到第一章温习一下“数据库、表、记录、字段”的概念啦。 4.1基本操作 4.1.1启动和关闭一个数据库 参看第三章的“主要管理工具”。 4.2用图形界面创建数据库和表 4.2.1创建数据库 ORACLE中创建数据库有很多中方法,可以使用Database Configuration Assistant,OEM,和命令方式,使用数据库配置助手(Database Configuration Assistant)是创建数据的最方便的方法,也
本文档为【图解oracle基础教程2005.5.27图文修正版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_570403
暂无简介~
格式:doc
大小:12MB
软件:Word
页数:236
分类:互联网
上传时间:2011-07-17
浏览量:19