《Oracle数据库》实验报告
- 格式:doc
- 大小:631.50 KB
- 文档页数:20
实验6 Oracle数据库备份与恢复实验一、实验目的理解数据库备份工作的重要性,将备份与恢复策略的理论和实践相结合,能根据实际情况确定备份和恢复策略。
熟练掌握逻辑备份和恢复工具。
二、实验要求1.逻辑备份工具表方式备份以实验3中创建的用户登录利用Oracle提供的逻辑备份工具EXP,选择表方式备份实验3中创建的模式对象2.逻辑备份工具用户方式备份以实验3中创建的用户登录利用Oracle提供的逻辑备份工具EXP,选择用户方式备份实验3中创建的模式对象3.逻辑备份工具数据库方式备份以SYSTEM用户登录利用Oracle提供的逻辑备份工具EXP,选择全库方式备份数据库4.逻辑恢复工具进行恢复以SYSTEM用户登录利用Oracle提供的逻辑恢复工具IMP,将前面1、2、3中选择的不同备份方式备份的文件,进行相应的数据库恢复5.备份向导进行联机热备份配置企业管理器的集成方式管理OMS 配置进行联机热备份的环境利用备份向导将实验2中创建的表空间联机热备份6.备份向导进行联机热恢复利用备份向导将5中联机热备份出的文件进行联机热恢复三、实验学时安排课堂内1学时完成二中所列1、2、3、4四项内容,其余各项内容均在课外自行上机练习完成。
四、实验内容与步骤任务1:逻辑备份工具EXP表方式备份选择【开始】/【程序】/【附件】/【命令提示符】选项,执行exp命令,在用户名后输入实验3中创建的用户名/口令@连接描述符并执行,数据库连接成功后出现如图6-1所示界面。
在该界面根据提示信息输入相应参数,将开始逻辑备份过程。
这里选择以表方式备份数据库。
备份出来的文件保存在指定的路径下(在本例中保存在e:\uwxd1.dmp下)。
图6-1 执行exp.exe 命令以表方式备份任务2:以用户方式备份选择【开始】/【程序】/【附件】/【命令提示符】选项,执行exp命令,在用户名后输入实验3中创建的用户名/口令@连接描述符并执行,数据库连接成功后出现如图6-2所示界面。
学生实验报告册(理工类)课程名称:大型数据库技术专业班级:14计算机科学与技术(专转本) 学生学号:学生姓名:所属院部:计算机工程学院指导教师:刘琰2014——20 15学年第 2 学期金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。
若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。
纸张一律采用A4的纸张。
实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。
各院部可根据学科特点和实验具体要求增加项目。
填写注意事项(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:Oracle数据库安装与配置实验学时: 1实验地点: 1318 实验日期:实验成绩:批改教师:刘琰批改时间:实验1:Oracle数据库安装与配置一、实验目的和要求(1)掌握Oracle数据库服务器的安装与配置。
(2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。
(3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。
(4)完成Oracle 11g数据库客户端网路服务名的配置。
(5)检查安装后的数据库服务器产品可用性。
(6)解决Oracle数据库服务器安装过程中出现的问题。
二、实验设备、环境设备:奔腾Ⅳ或奔腾Ⅳ以上计算机环境:WINDOWS 7、ORACLE 11g中文版三、实验步骤(1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。
《oracle 10g 数据库基础教程》实验报告实验名称:金融数据库技术实验二实验目的:远程登录数据库,使用OEM、SQL等方法创建表,熟悉创建语句实验内容:1、远程连接数据库。
2、用OEM管理表。
3、用SQL*Plus管理表。
4、Oracle数据操纵和查询实验步骤:远程登录显示用户创建用户要连接远程的网络数据库,先要在客户端上设定被连接的数据库服务器的Net服务名。
在客户端启动Net Configuration Assistant选择“本地Net服务名配置”。
添加服务器的IP可以创建具有个人特色的名字回到OEM登录界面配置完毕后回到OEM,进行表的创建等。
⏹以管理员身份登录OEM,为用户scott创建一个名称为employee的表,指定表空间example。
⏹该表包含以下属性:eno,ename,eage,sex,salary。
为其设置合适的数据类型和大小。
⏹为各属性设置如下约束:eno为主键,约束名称为T_PK。
在“管理”中寻找“表”进行创建,选择创建在方案上选择用户名,对象名为要创建的表名添加列名,添加束缚语句等。
在OEM界面完成表的创建和添加约束条件后,在SQL中查看表格情况⏹在sql plus命令行界面创建和管理表,并写出相应的SQL语句。
⏹创建一个表student,指定表空间为STU,占用空间大小为10M。
⏹表中的各列及约束仿照OEM表设置。
用SQL语句为表添加phone和birthdates属性,并为phone列添加unique约束。
输入信息:向student表中插入一行记录,姓名为serena,学号为5,其余信息与名为王霞的学生一样。
利用select子查询语句实现。
将学生李晨的phone改为139,birthdates改为22-6月-92。
将赵勇性别改为M。
实验总结:今天学习1、远程连接数据库。
2、用OEM管理表。
3、用SQL*Plus管理表。
4、Oracle 数据操纵和查询。
远程连接的难度在于,要分清楚服务器与客户端之间的差别。
实验三数据库的启动和关闭实验目的(1)掌握使用DBCA创建数据库的方法(2)掌握启动和关闭数据库的命令实验内容(1)使用DBCA创建数据库test,并通过SQLPLUS登录到test数据库。
(两种方式:A. set oracle_sid=test ,然后再正常登录B.sqlplus sys/密码@test as sysdba登录以后可以通过show parameter db_name查看数据库的名称)(2)练习启动数据库的五种命令,并理解它们的使用含义。
练习使用TRANSACTIONAL、IMMEDIATE选项来关闭数据库。
(3)只有数据库处于open模式下scott用户才能连接上,nomount和mount 模式不行。
试着设计一系列命令,验证这句话的正确性。
(4)对于startup restrict,分别使用system用户和scott用户连接,将命令结果和由此总结出来的结论记录到实验报告中,再使用alter命令结束限制访问状态,并将使用的命令按顺序记录到实验报告中。
实验数据记录及分析(或程序及运行结果)(1)sqlplus sys/123@test as sysdbashow parameter db_name(2)sqlplus sys/orcl@orcl as sysdbaShutdown immediateStartup nomountAlter database mount;Shutdown immediateStartup forceShutdown transactionalStartup restrictShutdown immediate(3) sqlplus sys/orcl@orcl as sysdbaShutdown immediateConn scott/tiger没有打开数据库conn sys as sysdbaorclshutdown immediatestartup mountconn scott/tiger没有打开数据库conn sys as sysdbaorclshutdown immediatestartup openconn scott/tiger(4)sqlplus sys/orcl@orcl as sysdbaShutdown immediateStartup restrictConn systemOrclConn sys as sysdbaOrclShutdown immediateStartup restrictConn scottTiger无restricted session 权限Conn sys as sysdbaorclShutdown immediateStartup restrictAlter system disable restricted session;Conn scotttiger结论:用RESTRICT选项启动数据库时,会将数据库启动到OPEN模式,但此时只有拥有RESTRICT SESSION 权限的用户才能访问数据库。
XXXX学院XXX院计算机系
《Oracle 数据库》实验报告2015-2016学年第一学期
班级:XXX
姓名:XXXX
学号:XXXX
专业:XXXX
指导教师:XXXX
4. 实验结果:
(1) 登录sqlplus效果图:
1.查询学生选课表中的平均成绩、最高分、最低分
2.查询计算机系的学生人数
3.查询选课表中学生选修的课程门数。
4. 统计xs_kc表中,成绩不及格的课程门数。
5. 统计xs_kc表中,成绩不及格的人数和课程门数。
6. 统计各系的人数。
7. 统计各系男女生的人数。
8. 统计kc表中,每学期的总学分。
9. 统计每个学生选修的课程门数。
10. 统计各专业男女生的人数超过1人的信息。
11. 统计平均成绩小于75分的学生学号和平均成绩。
5. 实验成绩:。
实验一关系数据库标准语言SQL班级:姓名:学号:任课教师:实验教师:上机时间:【实验目的】在给定的关系数据库管理系统Oracle环境下,通过实验学生能够:1、Oracle环境的认识及熟悉,了解其对标准SQL的扩充。
2、掌握Oracle环境下数据定义包括数据库、基本表、视图、索引定义。
3、掌握Oracle环境下数据操纵包括数据插入、删除、修改。
4、掌握Oracle环境下数据查询及其各种变化。
【实验性质】验证性实验【实验学时】2H【实验内容】设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:请根据以上内容完成下面题目,写出相应的SQL语句。
(空位不够请自行续页)1、运行PL/SQL Developer,以hr/oracle用户模式登陆,数据库选择XE,然后确定进行登陆,在文件菜单中选择新建——SQL窗口。
2、创建表3、插入数据4、请用SQL语句完成下面题目的查询。
(1)求供应工程J1零件的供应商号码SNO:(2)求供应工程J1零件P1的供应商号码SNO:(3)求供应工程J1零件为红色的供应商号码SNO:(4)求没有使用天津供应商生产的红色零件的工程号JNO:(5)求至少用了供应商S1所供应的全部零件的工程号JNO:5、请用SQL语句完成下面题目的查询。
Oracle 数据库课程上机实验报告学院名称:专业班级:姓名:学号:实验成绩:任课教师:目录实验一 (3)实验三 ORACLE数据库结构与网络配置 (3)实验四 (8)实验五数据表及其操作 (10)实验六 SQL命令操作 (14)实验七创建索引 (21)实验一实验三 ORACLE数据库结构与网络配置实验内容与数据库结构相关的数据字典查询实验1、查看表空间的名称及大小2、查看表空间物理文件的名称及大小3、查看回滚段名称及大小4、查看控制文件5、查看日志文件6、查看表空间的使用情况7、查看数据库库对象8、查看数据库的版本9、查看数据库的创建日期和归档方式10、查看临时数据库文件常用数据库信息查看命令(1)oracle中怎样查看总共有哪些用户(2)查看oracle当前连接数(3)列出当前数据库建立的会话情况3.2 表空间操作●创建表空间●修改表空间的相关操作1)增加表空间中的数据文件2)删除表空间中的数据文件3)修改表空间文件的数据文件大小4)修改表空间数据文件的自动增长属性。
实验四实验五数据表及其操作实验内容5.1创建基本表以system用户登录sqlplus创建表空间创建Testpace表空间5.2修改表清空表中的数据5.3 删除表5.4聚集表(1)创建聚集(聚集表的创建与操作)引用参照完整性三表定义了suppliers,products,order details三表间的三个级联关系实验六 SQL命令操作实验内容6.1数据查询select创建student,sc,course三表,并且插入数据查询1:查询2:查询3:查询4;实验七创建索引实验内容7.1在emp表中的sal字段上创建一个名为index_sal的b树索引,按字段值的蒋序排序7.2 在dept表的dname字段上创建一个具有唯一性的b树索引,索引值为字母序排序。
7.3在emp表的ename和deptno字段上创建一个复合索引7.10将参数设置为跟踪状态,执行对emp表的查询命令,查看索引应用的跟踪结果。
Oracle数据库实验报告目录实验一安装和使用Oracle数据库.................................................. - 2 - 实验二体系结构、存储结构与各类参数..................................... - 13 - 实验三Oracle数据库的创建和管理............................................. - 22 - 实验四SQL语言 ............................................................................ - 33 - 实验五PL/SQL编程 ....................................................................... - 41 - 实验六模式对象管理与安全管理 ................................................ - 50 -实验一安装和使用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.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
《数据库原理与应用》实验报告实验名称:班级:学号:姓名:一、实验目的(1)了解Oracle数据库中的用户管理,模式,权限管理和角色管理。
(2)掌握为用户分配权限的方法。
(3)了解为不同用户分配不同权限的目的及原因。
二、实验过程1.用系统帐户sys登录数据库,分别创建数据库内部用户user_one和user_two,创建时自己为用户分配帐户口令。
语句:create user user_oneidentified by 123456default tablespace userstemporary tablespace tempquota unlimited on users;create user user_twoidentified by 123456default tablespace userstemporary tablespace tempquota unlimited on users;执行结果:2.为了使两位用户登录数据库请为其授予相应的权限。
语句:grant create session to user_one;grant create session to user_two;执行结果:3.授予用户user_one在自己模式下创建表的权限,在任何模式下删除表的权限,授予用户user_two可以在任何模式下创建表的权限,查询任何模式下表中数据的权限和在任何模式下创建视图的权限。
语句:grant create table,drop any table to user_one;grant create any table,create any view,select any table to user_two;执行结果:4.分别用user_one和user_two登录,写出相应的SQL语句验证为其授予的权限。
(如果建立的表中有主键约束,需要预先授予user_one和user_two用户create any index的权限。
Oracle数据库实验报告实验一:Oracle 10g安装卸载及相关工具配置一、实验目标:安装Oracle 10g,了解OEM,通过DBCA安装数据库,通过DBCA删除数据库,sqldeveloper连接数据库,卸载oracle 10g。
二、实验学时数2学时三、实验步骤和内容:1、安装Oracle10g(默认安装数据库)双击,选择基本安装,安装目录D:盘,标准版,默认数据库orcl,口令bhbh。
进入先决条件检查界面时:网络配置需求选项不用打勾,直接下一步,是。
直到安装成功。
2、登陆和了解OEM主要是已网页的形式来对数据库进行管理。
- OraDb10g_home1->配置和移植工具->Database Configuration Assistant->删除数据库->……4、通过DBCA安装数据库xscj程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->创建数据库->……5、sqldeveloper连接数据库打开sqldeveloper,新建连接连接名:system_ora用户名:system口令:bhbh主机名:本机计算机名SID:xscj测试,显示成功,连接,保存。
6、卸载oracle 10gWindows下1>停止所有Oracle服务,点Universal Installer卸载2>删除注册表中的所有关于Oracle项在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录3>删除硬盘上所有Oracle文件。
(1)Oracle安装文件(2)系统目录下,在Program files文件夹中的Oracle文件四、上机作业根据实验步骤完成逐个实验目标中的任务。
五、心得体会通过这次的实验,我了解了oracle数据库的情况。
《数据库原理与应用》实验报告(一)----认识Oracle及使用SQL*Plus一、实验目的1、认识Oracle数据库管理系统;2、了解并会使用SQL*Plus工具。
二、实验内容1、启动Oracle数据库【开始】->【控制面板】->【管理工具】-【服务】将服务名称以“Oracle”开头的四个服务启动:OracleDBConsoleorcl、OracleOraDb10g_home1iSQL*Plus、OracleServiceORCL、OracleOraDb10g_home1TNSListener。
启动方式:右键鼠标->【启动】。
2、启动SQL*Plus【开始】->【程序】->Oracle目录->【SQL Plus】用户名:system口令:xg1233、设置SQL*Plus环境选项4、CREATE TABLE语句创建表studentCREATE TABLE reader(cardid V ARCHAR2(10) PRIMARY KEY,name V ARCHAR2(8),sex V ARCHAR2(2) CHECK(sex IN(‘男’,’女’)),dept V ARCHAR2(20),class NUMBER(1)) ;5、在SQL*Plus中执行SQL语句(1)向表reader添加数据SQL>INSERT INTO readerV ALUES('S0002','张伟', '男','数学系',1);按照此方法依次添加5条记录。
(2)查询表reader所有记录SQL>SELECT * FROM reader;(3)查询表reader中男性读者的姓名、工作单位、读者类型。
SQL>SELECT name,dept,class FROM reader WHERE sex='男';6、常用SQL*Plus命令(DESC、LIST、RUN、EDIT、SA VE、START、@、SHOW、HELP)(1)DESC、LIST、RUN语句查询(2)SHOW语句查询(3)SHOW EEROR、HELP 、SPOOL语句查询三、三、实验总结刚接触到SQL*Plus时,因为用惯了Windows图形界面,感到很难接受,很麻烦,命令要一条条语句的输入,而且也容易出错,一不小心就会打错字母。
oracle数据库实训总结第一篇:oracle数据库实训总结个人总结本次实训为期两个星期,时间充裕,也给予了我足够的学习和实践的时间。
在这次实训里,我了解到了数据库设计的过程和任务,对之前所学的oracle知识也起了很好的复习和巩固作用。
我们小组的选择的实训项目是《电子商城系统》,在做产品需求的时候,因为对商城系统的了解不够充分,我们在产品的功能性需求分类处的一些细节做了多次改进,通过参考网上的需求分析文档以及老师的指导,总算是顺利完成。
我负责的是购物板块,幸亏我多年的网购经验,对购物流程有着深刻的理解,并积极参考小米和华为等网上商城的网站,最后也是顺利完成。
接下来是第二个重头戏——数据库设计。
首先,我们的数据库原型设计使用的软件是PowerDesigner,使用也还算简单吧。
数据库的实体我们进行了深入的讨论,最后也做了多次修改,主要原因还是因为我们对电子商城的了解以及对于数据库实体之间的掌握还不够。
在老师的指导下也算是顺利完成了。
接下来也很顺利的完成了《数据库设计说明书》等的文档编写。
实训进入尾声,学习了半个学期的oracle知识总算的到了应用,并且通过实训,我也了解到了数据库开发的过程,感觉还是不错滴。
第二篇:oracle实训总结Oracle实训总结系别:班级:姓名:学号:日期:实训总结:由于感到oracle实训担子很重,而自己的学识、能力和阅历与其任职都有一定的距离,所以总不敢掉以轻心,总在学习,向书本学习、向周围的领导学习,向同事学习,这样下来感觉自己半年来还是有了一定的进步。
颠末一个星期的oracle数据库实训,让我体会到了日常仄凡是很多讲堂上所还出有启受的内容,很让人支获颇丰,明白若何往应用,而停止的一次剖析设计综开的练习。
而本次数据库时真训的目标是让我们把握数据库系统的道理、手艺。
将理论与现真联开,利用现有的数据库办理系统硬件、范例、科学地完成一个设计与真现。
这个星期是我们oracle 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。
本科实验报告课程名称:大型数据库系统实验项目:创建数据库和表实验地点:多学科楼4506 专业班级:软件工程0901 学号:200 学生姓名:指导教师:2012年 4 月17 日一、实验目的和要求1.了解数据库的结构以及一些基本概念。
2.了解表的结构特点。
3.了解Oracle 11g的基本数据类型。
4.学会使用DBCA创建数据库。
5.学会使用界面方式创建表。
6.学会使用SQL语句手工创建数据库。
7.学会使用SQL语句创建表。
二、实验内容和原理1.能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据库的文件。
3.确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle11g的常用数据类型,以创建数据库的表。
4.创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。
各表的结构如下所示。
表T1.1 Employees表结构表T1.2 Departments表结构表T1.3 Salary表结构三、主要仪器设备Windows XP/7、oracle 10g/11g四、操作方法与实验步骤1.利用DBCA创建数据库1)数据库名称为YGGL,它的全局数据库名称为YGGL。
2)控制文件三个,存放路径为……………………,名称分别为CONTROL01.CR、CONTROL02.CR和CONTROL03.CR。
3)重做日志文件三个,大小为100MB,存放路径为:………………,名称分别为redo01.log、redo02.log和redo03.log。
4)创建临时表空间temp01.dpf。
5)数字字符集为ZHS16GBK,国家字符集为AL16UTF16。
6)数据块大小为4KB。
进入DBCA,根据其提示逐步完成数据库的创建工作。
实验项目名称:视图、索引和完整性等实验学时: 3 同组学生姓名:实验地点:实验日期:实验成绩:批改教师:批改时间:实验4 视图、索引和完整性等一、实验目的和要求1、了解视图的基本概念、种类及各自的特点与作用。
2、理解索引的基本概念及其优缺点。
3、理解修改数据时索引的开销。
4、理解数据完整性的概念及分类。
5、理解同义词和序列的基本概念。
6、掌握在OEM中创建视图、索引、实体完整性、域完整性和参照完整性以及同义词、序列的方法。
7、掌握用PL/SQL语言创建视图、索引、各种约束、同义词和序列的方法。
二、实验设备、环境设备:奔腾Ⅳ或奔腾Ⅳ以上计算机环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、ORACLE 10g中文版三、实验步骤1、分析题意,重点分析题目要求并给出解决方法。
2、根据题目要求启动SQL*Plus、iSQL*Plus、OEM等管理工具。
3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中。
4、提交完成的实验结果。
四、实验内容1、视图的创建与使用。
(1)创建一个名为cx_employees的视图,只允许查看雇员的编号、姓名、生日、性别和部门的编号。
(2)创建一个名为cx_salary的视图,要求只显示财务部雇员的姓名和薪水情况。
使用视图,查询财务部雇员中姓名为王林的信息。
(3)通过视图向Employees表插入一条信息:雇员编号:510888;姓名:张无忌;出生年月1982年8月23日;性别:男;部门编号:3。
(4)将张无忌从经理办公室转到市场部。
(5)将张无忌从Employees表中删除。
2、创建索引。
(1)对ORCL数据库中的Employees表中的DepartmentID属性上建立一个名为DeptID_index 索引,并指定索引的存储特征值,数据库中的行以升序保存,将索引建立在用户默认的表空间里。
(2)在Employees表的sex列上建一个位图索引。
Oracle数据库基础教程实验报告专业计算机科学与技术姓名李文成学号 2010指导老师肖卓宇实验一创建数据库和表目的与要求(1)了解oracle数据库的逻辑结构和物理结构。
(2)了解Oracle Enterprise Manager的使用情况。
(3)学习关闭和启动数据库实例的方法。
(4)学会使用SQL语句创建数据库的方法。
(5)学会使用SQL语句删除数据库的方法。
实验准备首先要了解Oracle数据库的逻辑结构,包括方案对象,数据块、区间、段、和表空间等。
数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间则由数据块组成。
Oracle数据库的物理结构由构成数据库的操作系统文件所决定。
每个Oracle数据库都由3种类型的文件组成:数据文件、日志文件和控制文件。
这些数据库文件为数据库信息提供真正的物理存储。
Enterprise Manager 10g是Oracle 10g提供的新的管理工具,简称EM。
使用它可以完成启动、关闭数据库,创建、删除数据库等功能。
只有系统管理员或拥有CREATE DATABASE权限的用户才能创建数据库。
可以在Enterprise Manager 中通过图形界面创建数据库,也可以使用CREATE DATABASE语句创建数据库。
实验内容oracle 服务器端的安装先解压10201_client_win32.zip压缩包,双击setup.exe。
如下图:稍等之后进入欢迎界面,如下图:点击下一步选择“管理员”安装类型,点击下一步:选择安装的详细目录后点击下一步。
点击安装:选择执行典型配置:点击下一步:完成。
创建数据库使用OEM创建表图1-1创建Employees表图1-2成功创建Employees表图1-3成功删除Employees表图1-4创建Departments表图1-5成功创建Departments表图1-6 成功删除Departments表图1-7创建Salary表图1-8成功创建Salary表图1-9成功删除Salary表在PL/SQL语句创建表1.创建Employees表create table Employee(EmployeeID char(6) NOT NULL PRIMARY KEY,Name char(10) NOT NULL,Bithday date N OT NULL,Sex number(1) NOT NULL,Address char(20) NULL,Zip char(6) NULL,PhoneNumber char(12) NULL,DepartmentID char(3) NOT NULL REFERENCES Departments(DepartmentID))tablespace users;图1-10 使用SQL语句创建Employees表2.创建Departments表create table Departments(DepartmentID char(3) NOT NULL PRIMARY KEY, Departmentname char(20) NOT NULL,Note varchar2(100) NULL)tablespace users;图1-11 使用SQL语句创建Departments表3.创建Salary表create table Salary(EmployeeID char(6) NOT NULL PRIMARY KEY,InCome number(8,2) NOT NULL,OutCome number(8,2) NOT NULL)tablespace users;图1-11 使用SQL语句创建Salary表实验二角色和用户管理目的与要求(1)了解Oracle数据库用户和角色的概念。
实验8 Oracle数据库备份与恢复1 实验目的(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库的备份与恢复。
(4)掌握数据的导入与导出操作。
2 实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份。
(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库的不完全恢复。
3 实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select file_name from dba_data_files;select member from v$logfile;select value from v$parameter where name='control_files';(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME V ARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
1.1 shutdown immediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alter database flashback off1.3 alter database archivelog;发出设置归档模式的命令1.4 alter database open;打开数据库1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件1.6 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式1.6.2 Automatic archival为Enable说明启动了自动归档。
实验五用户、角色与权限管理一、实验目的及要求掌握Oracle的安全管理方法。
二、实验主要内容(1) 概要文件的建立、修改、查看、删除操作。
(2) 用户的建立、修改、查看、删除操作。
(3) 权限的建立、修改、查看、删除操作。
(4) 角色的建立、修改、查看、删除操作。
三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。
服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。
四、实验步骤1创建概要文件。
①利用企业管理器创建概要文件“ygbx+学号_pro”,要求在此概要文件中CPU/会话为1000,读取数/会话为2000,登录失败次数为3,锁定天数为10。
②利用SQL*Plus或PL/SQL Developer,创建概要文件“ygbx+学号_pro_sql”,其结构与“ygbx+学号_pro”一致。
2 查看概要文件。
②利用企业管理器查看概要文件“ygbx+学号_pro”的信息。
②利用SQL*Plus或PL/SQL Developer,从DBA_PROFILES数据字典中查看“ygbx+学号_pro_sql”概要文件的资源名称和资源值等信息。
③利用SQL*Plus或PL/SQL Developer,从查看“ygbx+学号_pro_sql”概要文件中锁定天数的值。
3修改概要文件。
②利用企业管理器,修改“ygbx+学号_pro”概要文件,将CPU/会话改为4000,连接时间为60。
②利用SQL*Plus或PL/SQL Developer,修改“ygbx+学号_pro_sql”概要文件,将并行会话设为20,读取数/会话设为DEFAULT。
4创建用户。
①利用企业管理器,创建“ygbxuser+学号”用户,密码为“user+学号”,默认表空间为“ygbx_tbs”。
②利用SQL*Plus或PL/SQL Developer,创建“ygbxuser+学号_sql”用户,密码为“user+学号+sql”,该用户处于锁状态。
实验二Oracle数据库开发环境下PL/SQL编程(2学时)【实验目的】(1)掌握PL/SQL 的基本使用方法。
(2)在SQL*PLUS环境下运行PL/SQL的简单程序。
(3)应用PL/SQL 解决实际问题【实验内容与步骤】一、实验内容:1、用PL/SQL实现:输入eno的值,显示emp表中对应记录的内容。
2、用PL/SQL完成:读入三个数,计算并输出它们的平均值及三个数的乘积。
3、对职工表emp中的雇员SCOTT提高奖金,若工种为MANAGER,则奖金提高其原来的20%;若工种为SALESMAN,则奖金提高其原来的15%;若工种为ANALYST,则奖金提高其原来的10%,其它都按原来的7%提高。
4、用PL/SQL块实现下列操作公司为每个职工增加奖金:若职工属于30号部门,则增加$150;若职工属于20号部门,则增加$250;若职工属于10号部门,则增加$350。
(提示:游标请自行阅读相关内容)DECLAREaddcomm m%type;CURSOR emp_cursor IS select deptno from emp;BEGINFOR emprec IN emp_cursor LOOPIF emprec.deptno=30 THEN addcomm:=150;ELSIF emprec.deptno=20 THEN addcomm:=250;ELSIF emprec.deptno=10 THEN addcomm:=350;END IF;Update empset comm=comm+ addcomm where deptno= emprec.deptno;END LOOP;COMMIT WORK;END;实验三PL/SQL触发器和存储过程(2学时)【实验目的】(1)了解触发器的类型。
(2)掌握PL/SQL触发器的使用方法。
(3)了解存储过程的使用方法。
(4)掌握存储过程的使用方法。
【实验内容】实验内容:1、编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp 表中删除该部门的所有雇员。
(要求:emp表、dept表均为复制后的表)CREATE OR REPLACE TRIGGER del_emp_deptnoBEFORE DELETE ON deptFOR EACH ROWBEGINDELETE FROM emp WHERE deptno=:OLD.deptno;END;2、创建触发器,当用户对test表执行DML语句时,将相关信息记录到日志表。
--创建测试表CREATE TABLE test(t_id NUMBER(4),t_name V ARCHAR2(20),t_age NUMBER(2),t_sex CHAR);--创建记录测试表CREATE TABLE test_log(l_user V ARCHAR2(15),l_type V ARCHAR2(15),l_date V ARCHAR2(30));--创建触发器CREATE OR REPLACE TRIGGER test_triggerAFTER DELETE OR INSERT OR UPDA TE ON testDECLAREv_type test_log.l_type%TYPE;BEGINIF INSERTING THEN --INSERT触发v_type := 'INSERT';DBMS_OUTPUT.PUT_LINE('记录已经成功插入,并已记录到日志'); ELSIF UPDATING THEN --UPDA TE触发v_type := 'UPDATE';DBMS_OUTPUT.PUT_LINE('记录已经成功更新,并已记录到日志'); ELSIF DELETING THENv_type := 'DELETE';DBMS_OUTPUT.PUT_LINE('记录已经成功删除,并已记录到日志'); END IF;INSERT INTO test_log V ALUES(user,v_type,TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss'));END;/--下面我们来分别执行DML语句INSERT INTO test V ALUES(101,'zhao',22,'M'); UPDATE test SET t_age = 30 WHERE t_id = 101; DELETE test WHERE t_id = 101;--然后查看效果SELECT * FROM test;SELECT * FROM test_log;3、创建触发器,它将映射emp表中每个部门的总人数和总工资。
--创建映射表CREATE TABLE dept_salASSELECT deptno,COUNT(empno) AS total_emp,SUM(sal) AS total_sal FROM emp GROUP BY deptno;DESC dept_sal;--创建触发器CREATE OR REPLACE TRIGGER emp_infoAFTER INSERT OR UPDA TE OR DELETE ON empDECLARECURSOR cur_emp ISSELECT deptno,COUNT(empno) AS total_emp,SUM(sal) AS total_sal FROM emp GROUP BY deptno;BEGINDELETE dept_sal; --触发时首先删除映射表信息FOR v_emp IN cur_emp LOOP--DBMS_OUTPUT.PUT_LINE(v_emp.deptno || v_emp.total_emp || v_emp.total_sal);--插入数据INSERT INTO dept_salV ALUES(v_emp.deptno,v_emp.total_emp,v_emp.total_sal);END LOOP;END;/--对emp表进行DML操作INSERT INTO emp(empno,deptno,sal) V ALUES('123','10',10000); SELECT * FROM dept_sal;DELETE EMP WHERE empno=123;SELECT * FROM dept_sal;4、创建触发器,它记录表的删除数据--创建表CREATE TABLE employee(id V ARCHAR2(4) NOT NULL,name V ARCHAR2(15) NOT NULL,age NUMBER(2) NOT NULL,sex CHAR NOT NULL);DESC employee;--插入数据INSERT INTO employee V ALUES('e101','zhao',23,'M');INSERT INTO employee V ALUES('e102','jian',21,'F');--创建记录表CREATE TABLE old_employee ASSELECT * FROM employee;DESC old_employee;--创建触发器CREATE OR REPLACE TRIGGER tig_old_empAFTER DELETE ON employee --FOR EACH ROW --语句级触发,即每一行触发一次BEGININSERT INTO old_employeeVALUES(:old.id,:,:old.age,:old.sex); --:old代表旧值END;/--下面进行测试DELETE employee;SELECT * FROM old_employee;5、创建触发器,比较emp表中更新的工资。
CREATE OR REPLACE TRIGGER sal_emp BEFORE UPDATE ON empFOR EACH ROWBEGINIF :OLD.sal > :NEW.sal THENDBMS_OUTPUT.PUT_LINE('工资减少'); ELSIF :OLD.sal < :NEW.sal THENDBMS_OUTPUT.PUT_LINE('工资增加');ELSEDBMS_OUTPUT.PUT_LINE('工资未作任何变动');END IF;DBMS_OUTPUT.PUT_LINE('更新前工资:' || :OLD.sal);DBMS_OUTPUT.PUT_LINE('更新后工资:' || :NEW.sal);END;/--执行UPDATE查看效果UPDATE emp SET sal = 3000 WHERE empno = '7788';6、需要对在表上进行DML操作的用户进行安全检查,看是否具有合适的特权。
Create table foo(a number);Create trigger biud_fooBefore insert or update or deleteOn fooBeginIf user not in (‘DONNY’) thenRaise_application_error(-20001, ‘You don’t have access to modify this table.’);End if;End;/即使SYS,SYSTEM用户也不能修改foo表。
7.写存储过程,显示所指定雇员名所在的部门名和位置。
CREATE OR REPLACE PROCEDURE DeptMesg(pename emp.ename%TYPE,pdname OUT dept.dname%TYPE,ploc OUT dept.loc%TYPE) ASBEGINSELECT dname,loc INTO pdname,plocFROM emp,deptWHERE emp.deptno=dept.deptno AND emp.ename=pename;END;/V ARIABLE vdname V ARCHAR2(14);V ARIABLE vloc V ARCHAR2(13);EXECUTE DeptMesg('SMITH',:vdname,:vloc);PRINT vdname vloc;8.定义一个为修改职工表(emp)中某职工工资的存储过程子程序,职工名作为形参,若该职工名在职工表中查找不到,就在屏幕上提示“查无此人”然后结束子程序的执行;否则若工种为MANAGER的,则工资加$1000;工种为SALESMAN,工资加$500;工种为ANALYST,工资加$200,否则工资加$100。