《Oracle数据库》实验报告
实验4 Oracle数据库备份与恢复实验[1]
![实验4 Oracle数据库备份与恢复实验[1]](https://img.taocdn.com/s3/m/49e9641bc5da50e2524d7fc1.png)
实验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所示界面。
oracle实验报告 金陵科技学院

学生实验报告册(理工类)课程名称:大型数据库技术专业班级: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 数据库基础教程》实验报告

《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 数据操纵和查询。
远程连接的难度在于,要分清楚服务器与客户端之间的差别。
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 权限的用户才能访问数据库。
Oracle 数据库汇总查询

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版)

实验一关系数据库标准语言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实验报告

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数据库实验报告目录实验一安装和使用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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二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。