Oracle实验指导
目 录
第一章 Oracle基本知识与SQL*PLUS环境........................................................................ 2
一.上机目的............................................................................................................ 2
二.预备知识............................................................................................................ 2 三.上机内容............................................................................................................ 5 四.上机作业............................................................................................................ 8 第二章 数据表的创建 ...................................................................................................... 9
一.上机目的............................................................................................................ 9 二.预备知识............................................................................................................ 9 三.上机内容.......................................................................................................... 12 四.上机作业.......................................................................................................... 14 第三章 数据插入、修改和删除 ...................................................................................... 15
一.上机目的.......................................................................................................... 15 二.预备知识.......................................................................................................... 15 三.上机内容.......................................................................................................... 17 四.上机作业.......................................................................................................... 18 第四章 数据查询 ........................................................................................................... 20
一.上机目的.......................................................................................................... 20 二.预备知识.......................................................................................................... 20 三.上机内容.......................................................................................................... 29 四.上机作业.......................................................................................................... 35 第五章 视图、索引、序列和权限设置 ............................................................................ 37
一.上机目的.......................................................................................................... 37
二.预备知识.......................................................................................................... 37 三.上机内容.......................................................................................................... 40 四.上机作业.......................................................................................................... 41 第六章 PL/SQL ............................................................................................................... 42
一.上机目的.......................................................................................................... 42
二.预备知识.......................................................................................................... 42 三.上机内容.......................................................................................................... 53 四.上机作业.......................................................................................................... 56 第七章 触发器和游标 .................................................................................................... 57
一.上机目的.......................................................................................................... 57 二.预备知识.......................................................................................................... 57 三.上机内容.......................................................................................................... 62 四.上机作业.......................................................................................................... 65
第1页
第一章 Oracle基本知识与SQL*PLUS环境
一.上机目的
1.熟悉Oracle的基本知识。
2.熟悉Oracle的命令操作环境SQL*PLUS。 3.熟悉并掌握一些SQL*PLUS命令。
二.预备知识
1.Oracle数据库管理系统简介
1979年,硅谷的一个小公司推出了Oracle,这是第一个与数据访问语言SQL结合的关系数据库。今天,Oracle公司已是世界上数据库管理系统及相关产品的最大供应商。发布于1985年的Oracle第5版,是第一个真正的客户/服务器数据库系统。Oracle 8以及Oracle 8i是Oracle公司的最新产品。
2.Oracle服务器
Oracle服务器是一个精致的信息管理环境。它是一个大量数据的储藏所,并给用户提供对这些数据的快速访问。Oracle服务器允许应用系统之间共享数据。信息存放在一个地方并由许多应用系统来使用。Oracle服务器可运行在Sun系列以及Windows NT上。Oracle服务器运行在很多不同的计算机上,支持下列配置:
? 基于主机的配置 用户直接连到存放数据库的同一计算机上。
? ? ?
客户机/服务器结构 用户通过网络从他们的个人计算机(客户机)上访问数据库,数据库驻留在一个分离的计算机(服务器)上。
分布式处理 用户访问存放在不止一台计算机上的数据库。数据库分散在不止一台机器上,用户并不需要了解他们存放的数据的实际存放位置。 Web计算 能从基于Internet的应用程序访问数据。
3.SQL,SQL*Plus 和 PL/SQL
? SQL 是一种能够访问关系数据库(包括Oracle数据库)的语言。它能够用在每一个Oracle工具中。
? SQL*Plus 是一个SQL和PL/SQL都能用的Oracle产品,并且也有自己的命令语言。 ? PL/SQL是为了编写应用程序和操作数据的Oracle过程化语言,包含着SQL命令的子集,它适用于每个CDE产品。
4.Oracle数据库系统的体系结构
Oracle数据库系统是具有管理Oracle数据库功能的计算机软件系统。每一个运行的Oracle数据库与一个Oracle实例(instance)相联系。一个Oracle实例是存取和控制一数据库的软件机制。每一次在数据库服务器上启动一数据库时,称为系统全局区(system global area)的一内存区(简称SGA)被分配,有一个或多个Oracle进程被起动。该SGA和Oracle进程的结合称为一个Oracle数据库实例。一个实例的SGA和进程为管理数据库数据、为该数据库一个或多个用户服务而工作。
第2页
在Oracle系统中,首先是实例启动,然后由实例装配(mount)一个数据库。 1) 进程结构
进程(process)是操作系统中的一种机制,它可执行一系列的操作步骤。在有些操作系统中使用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。Oracle进程的体系结构设计使性能最大。
Oracle实例有两种类:单进程实例和多进程实例。
单进程Oracle(又称单用户Oracle)是一个数据库系统,一个进程执行全部Oracle代码。由于Oracle部分和客户应用程序不能分别以进程执行,所以Oracle的代码和用户数据库应用是单个进程执行,其结构如图1-2所示。
SGA Oracle Server 数据库应用 图1-1 单进程Oracle实例
在单进程环境下的Oracle实例,仅允许一个用户存取。例如在MS-DOS上运行Oracle。 多进程Oracle实例(又称多用户Oracle)使用多个进程来执行Oracle的不同部分,对于每一个连接的用户都有一个进程,如图1-3所示。
用户进程 用户进程 用户进程 用户进程 … SGA RECO PMON SMON DBWR LGWR ARCH 图1-2 多进程Oracle实例
在多进程系统中,进程分为两类:用户进程和Oracle进程。当一用户运行一应用程序,如Pro*c程序或一个Oracle工具(如SQL*Plus),为用户运行的应用建立一个用户 进程。Oracle进程又分为两类:服务器进程(server process)和后台进程(background process),服务器进程用于处理连接到该实例的用户进程的请求。当应用和Oracle是在同一台机器上运行,而不再通过网络,一般将用户进程和它相应的服务器进程组合成单个进程,可降低系统开销。然而,当应用和Oracle运行在不同的机器上时,用户进程经一个分离服务器进程Oracle通信。它执行下列任务:
? 对应用所发出的SQL语句进行语法分析和执行。
? 从磁盘(数据文件中)读入必要的数据块到SGA的共享数据库缓冲区(该块不在缓冲区时)。
? 将结果返回给应用程序处理。
系统为了使性能最好和协调多个用户,在多进程系统中使用一些附加进程,称为后台进程。在许多操作系统中,后台进程是在实例启动时自动地建立。一个Oracle实例可以有许
第3页
多后台进程,但它们不是一直存在。后台进程的名字为:
? DBWR 数据库写入程序 ? LGWR 日志写入程序 ? CKPT 检查点 ? SMON 系统监控 ? PMON 进程监控 ? ARCH 归档 ? RECO 恢复 ? LCKn 封锁 ? Dnnn 调度进程 ? Snnn 服务器
2) 内存结构
Oracle在内存存储下列信息:
? 执行的程序代码。
? 连接的会话信息(包括当前不活动的)。
? 程序执行期间所需要数据(如查询的当前状态)。 ? Oracle进程间通信和共享的信息(如封锁信息)。 ? 存储在外存储上的缓冲信息。 Oracle具有下列基本的内存结构: ? 软件代码区
? 系统全局区(SGA),包括数据库缓冲存储区、日志缓冲区和共享池 ? 程序全局区(PGA),包括栈区和数据区。 ? 排序区(sort area)。
5.SQL*Plus命令
SQL*Plus有许多命令,表1-1只是列举了一部分常用命令。
表1-1 常用SQL*Plus命令 SQL*Plus命令 APPEND text CHANGE /old/new/ CHANGE /text/ CLEAR BUFFER CONNECT userid/password DEL DESCRIBE tablename ED filename EXIT GET filename INPUT INPUT text HELP HOST command LIST LIST n 缩写 A text C/old/new/ C/text/ CL BUFF CONN userid/password DESC tablename I I text L L n 意义 把字符串增加到当前行的末尾 把当前行的旧字符串替换成新字符串 把当前行中字符串删除 从SQL缓冲区中删除所有行 在当前的登录下,击活其它的Oracle用户 删除当前行 显示任何数据库表的数据结构 用默认的编辑器编辑保存的文件内容 退出SQL*Plus 把以filename为名字的文件内容调入SQL缓冲区中 插入许多行 插入一个包含text字符串的行 击活Oracle内部的帮助部件 在SQL*Plus中击活一个操作系统命令 显示SQL缓冲区的所有行 显示SQL缓冲区中的一行到n行 第4页
LIST m n PROMPT text RUN RUNFORM filename SAVE filename SPOOL filename SPO[OL] OFF|OUT START filename L m n R @ filename SQL缓冲区中的从第m行显示到第n行 当运行一个命令文件时,显示文本 显示并运行在缓冲区中的当前SQL命令 从SQL*Plus中运行一个Oracle Forms应用程序 把SQL缓冲区中的内容保存到以filename为名字的文件中,默认路径为orawin\\bin 写所有的后面的命令或者输出到一个已经命名的文件中。假脱机输入输出文件的后缀为.LIS OFF 关闭假脱机输入输出文件;OUT改变假脱机输入输出,送文件到打印机上 运行以前保存的命令文件 三.上机内容
1. SQL*Plus的启动
当登录到操作系统后,有三种方法启动SQL*Plus。 1) SQLPLUS
(或 SQLPLUSW,下同)
将看到如下的信息:
SQL*Plus: Release 9.0.1.0.1 - Production on 星期二 9月 13 14:27:51 2005 (c) Copyright 2001 Oracle Corporation. All rights reserved. 请输入用户名:
输入你的用户名字并按回车。 SQL*Plus将提示:请输入口令: 输入你的密码并按回车。
那么,将看到SQL*Plus的提示符: SQL> 例如:
SQLPLUS
SQL*Plus: Release 9.0.1.0.1 - Production on 星期二 9月 13 14:27:51 2005 (c) Copyright 2001 Oracle Corporation. All rights reserved. Enter Username:scott Enter Password:tiger SQL>
2) SQLPLUS Username
再提示你输入密码。 例如:
SQLPLUS scott
Enter Password: tiger
SQL*Plus: Release 9.0.1.0.1 - Production on 星期二 9月 13 14:27:51 2005 (c) Copyright 2001 Oracle Corporation. All rights reserved. SQL>
第5页