Oracle实验.docx
《Oracle实验.docx》由会员分享,可在线阅读,更多相关《Oracle实验.docx(33页珍藏版)》请在冰点文库上搜索。
Oracle实验
《Oracle数据库》实验安排
[内容要求]
请完成下列上机实验,按附录1要求书写实验报告,记录实验过程和完成命令及结果(运行结果需截图,命令请复制粘贴文本)。
序号
标题
上机操作内容
实验一
Oracle数据库的基本操作
见后面各实验题目要求
实验二
体系结构、存储结构与各类参数
实验三
Oracle数据库的创建
实验四
SQL语言
实验五
PL/SQL编程
实验六
模式对象管理和安全管理
实验七
RMAN恢复管理器
[上交时间]
每人递交一份打印并装订好的实验报告,于课程结束时上交,迟交者实验成绩计0分。
实验一安装和使用Oracle数据库
【实验目的】
1.掌握Oracle软件安装过程,选择安装组件
2.掌握建立Oracle数据库,配置网络连接
3.掌握Oracle企业管理器的基本操作
4.使用SQL*Plus,登录到实例和数据库
5.掌握命令方式的关闭和启动实例及数据库
【实验内容】
1.查看已安装的Oracle组件
2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。
3.配置监听器,查看是否在服务中有LISTENER,是否能启动
4.配置本地net服务,提示:
设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:
有几种打开SQL*Plus的方法?
分别是什么?
两种,
7.用命令关闭实例和数据库,记录命令
SOL>shutdownnormal
8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
实验二体系结构、存储结构与各类参数
【实验目的】
1.理解Oracle体系结构
2.了解初始化参数文件以及初始化参数的含义
3.掌握查看三类数据字典视图和动态性能视图的方法
【实验内容】
1.如何查看初始化参数?
有哪几种方法?
1.showparameters参数名2、select[列名]from表名
2.初始化文件有几种?
默认的保存位置在哪里?
1、.Spfile默认位置:
$oracle_home\database\dbs
2.Pfile默认位置:
$oracle_home\admin\pfile
3.在SQL*Plus中查看数据字典和动态性能视图,完成下面题目将命令和结果写入实验报告。
(1)查看所有用户的用户名、默认表空间(dba_users)
(2)查看SGA的信息视图,组成部分的大小分配信息(V$SGA)
(3)查看v$session视图,列出SID,serial#,user#,machine,status各字段的信息
4.打开OEM,查看三类物理文件信息
三类物理文件:
数据文件、控制文件、日志文件
数据文件:
.DBF存储表、索引及数据结信息
日志文件:
.LOG记录对数据库的所有修信息,用于恢复
控制文件:
.CTL二进制文件,记录数据库名、文件标识、检查点
5.分别用select命令查询V$parameter动态性能视图,用show命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。
1.用show命令查看全局数据库名
2.用show命令查看实例名
3.用show命令查看是否启动自动归档
4.用show命令查看标准数据块大小
6.如何用命令查看数据文件、控制文件的文件名、存储位置和状
态信息?
1.查看数据文件的文件名、存储位置和状态信息
2.查看控制文件的文件名、存储位置和状态信息
实验三Oracle数据库的创建和管理
【实验目的】
1.掌握Oracle数据库的创建方法
2.使用DBCA创建数据库
3.掌握命令方式手工创建数据库
【实验内容】
1.使用DBCA创建数据库,名为MYDB,找到其初始化文件(文本型和服务器型文件都要找到),查看各类默认位置并记录下来(包括物理文件所在目录,该数据库相关的各个目录等),登录到mydb数据库。
2.用命令方式手工创建数据库testorcl
(1)创建批处理文件,建立必需的各级目录,参考第一题MYDB数据库的默认目录。
(2)
创建初始化文件PFILE,由此创建SPFILE,并放到指定文件夹。
提示:
pfile文件可以参考mydb数据库的pfile文件进行修改后另存。
(3)创建并启动实例testorcl,密码设为123,当前实例指向testorcl
(4)运行数据库建立脚本,更改相关服务为手动启动方式
(5)运行数据字典等创建脚本
SQL>@e:
\oracle\product\10.2.0\db_1\rdbms\admin\catalog.sql;
(加载常用数据字典包)
SQL>@e:
\oracle\product\10.2.0\db_1\rdbms\admin\catproc.sql;
(加载PL/SQL程序包)
SQL>@e:
\oracle\product\10.2.0\db_1\rdbms\admin\catrep.sql;
(加载数据复制支持软件软件包)
SQL>@e:
\oracle\product\10.2.0\db_1\javavm\install\initjvm.sql;
(加载Java程序包)
SQL>@e:
\oracle\product\10.2.0\db_1\sqlplus\admin\ppbld.sql;
(加载系统环境文件)
3.在DBCA中删除MYDB数据库。
简要操作:
打开DatabaseConfigurationAssistant,在“请选择希望执行的操作”界面选择“删除数据库”,指定删除目标删除即可。
实验四SQL语言
【实验目的】
1.掌握在Oracle中添加示例方案的方法
2.熟练掌握SQL语言的查询功能
3.掌握SQLPlus常用命令
【实验内容】
一、需要访问HR示例方案中的表,如果机器上没有该示例方案,则运行相关包和相应配置装入HR方案。
1.将hr.rar解压到D:
\oracle\product\10.2.0\db_2\demo\schema\human_resources目录下,然后在SQL*PLUS中执行hr_main.sql这个文件,以SYS用户登录执行。
即SQL>@D:
\oracle\product\10.2.0\db_2\demo\schema\human_resources\hr_main.sql
2.然后按提示依次输入如下:
SpecifypasswordforHRasparameter1:
Entervaluefor1:
hr
SpecifydefaulttablespeaceforHRasparameter2:
Entervaluefor2:
users
SpecifytemporarytablespaceforHRasparameter3:
Entervaluefor3:
temp
SpecifypasswordforSYSasparameter4:
Entervaluefor4:
runner
Specifylogpathasparameter5:
Entervaluefor5:
D:
\oracle\product\10.2.0\db_2\RDBMS\log
二、完成下面的查询,记录查询命令和结果。
1.查询HR方案种有哪些表,列出表名
2.设置行宽为160,每页行数为40
3.查询employees表中所有薪水在3000到6000元之间的员工编号、姓、名、受聘日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列
4.查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列
5.查询first_name的第三个字母是t的员工编号,first_name,电话号码,部门编号,部门名称
6.在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。
7.查询每个部门经理的员工编号、姓名、薪水、部门号
实验五PL/SQL编程
【实验目的】
1.熟悉PL/SQL的数据类型和书写规则
2.熟悉控制结构和游标的使用
3.编写和运行函数、过程和触发器
【实验内容】
编写脚本文件,调试运行脚本文件,并记录结果。
1.在SQL*Plus中编写一个PL/SQL块,功能用于打印学生信息
在DECLARE部分完成:
(2)建立学生信息记录类型stu_record_type,包括学号,姓名,性别,籍贯,学习成绩和活动成绩。
均为可变长字符类型
Setserveroutputon
Decleartypestu_record_typeisrecord
(s_novarchar(10);
s_namevarchar(10);
s_sexvarchar(10);
s_nativevarchar(10);
s_gradevarchar(10);
s_scorevarchar(10);
)
(3)编写本地子过程:
学生信息打印过程PrintStuRecord,把
(1)中定义的记录类型作为参数
ProcedurePrintStuRecord
As
begin
dbms_output.put_line(‘学号:
’||stu_record.s_no);
dbms_output.put_line(‘姓名:
’||stu_record.s_name);
dbms_output.put_line(‘性别:
’||stu_record.s_sex);
dbms_output.put_line(‘籍贯:
’||stu_record.s_native);
dbms_output.put_line(‘学习成绩:
’||stu_record.s_grade);
dbms_output.put_line(‘活动成绩:
’||stu_record.s_score);
(4)定义学生信息记录变量stu_record
Stu_recordstu_record_type;
在BEGIN…END部分完成:
(1)为stu_record变量的各个元素赋值如下:
学号:
‘2001001’
姓名:
’李新’
性别:
‘m’
籍贯:
‘黑龙江省哈尔滨市’
学习成绩:
‘Excellent’
活动成绩:
‘Good’
Begin
S_no=’2001001’;
s_name=’李新’;
s_sex=’m’;
s_native=’黑龙江省哈尔滨市’;
s_grade=’Excellent’;
s_score=’Good’;
end;
/
(2)对该变量的调用打印过程,输出到屏幕
2.建立对bookinfo表的DML触发器,一旦bookinfo表发生了任何变化,立即触发,对bookinfo表的数据进行统计,结果存储在数据统计表中
(1)如果没有则建立bookinfo表,选择建立在scott用户下,表结构为(booknovarchar2(36)Primarykey,
booknamevarchar2(40)notnull,
authornamevarchar2(10)notnull,
publishtimedate,
bookpricefloat)
(2)建立数据统计表major_stats,包含两个字段:
书的总数和作者的总数
(3)创建触发器UpdateMajorStats,完成在bookinfo表中插入、删除和修改记录之后,对bookinfo表进行统计,结果存储在
(2)建立的major_stats表中
(4)在bookinfo表中插入、删除和更新信息,再查看major_stats表中数据的变化
实验六模式对象管理与安全管理
【实验目的】
1.了解模式对象的类型
2.掌握在OEM中操作模式对象的方法
3.掌握命令方式建立表、视图、索引等常见对象的方法
4.熟悉Oracle中权限分类和设置,理解系统提供用户的角色和权限
5.熟练使用建立用户、角色,为用户授权、授予角色的命令
【实验内容】
1.创建一个TESTUSET用户,密码为test,默认表空间为user表空间
2.创建用户后为其授予登录数据库和创建数据库对象的权限
3.用TESTUSER用户登录数据库
4.创建学生信息表(学号,姓名,性别,入学成绩),定义主键和输入数据(至少5条数据),提交添加的数据。
并完成下面的题目:
(1)再继续添加2条数据,设置一个保存点savepoint,再添加1条数据,执行回退到保存点的回退命令。
查看此时表中数据
(2)查询入学成绩大于480的学生信息
(3)建立男生信息视图
(4)在“成绩”字段上建立B-树索引
5.创建一个表簇,名为empl_dep,容纳empl表和dep表,有公共字段depno(簇键),大小为500,默认表空间为USERS表空间,存储参数为,初始化区间大小为100K,第二区间为200K等。
6.在表簇中建立empl表和dep表
(1)empl表(职员表)的主键为eno,外键为depno
(2)dep表(部门表)的主键为depno,。
7.在表簇中建立一个簇键索引,名为empl_dep_index。
8.授予TESTUSER用户在empl表上的所有权限
9.收回empl表上DELETE权限
中南林业科技大学
实验报告
课程名称:
Oracle数据库
专业班级:
2013级计算机科学与技术2班
姓名:
陈旺
学号:
20134622
2015年11月5日