数据库oracle实验3
- 格式:docx
- 大小:97.87 KB
- 文档页数:6
oracle数据库实验报告《Oracle数据库实验报告》在当今信息化时代,数据库管理系统扮演着至关重要的角色。
Oracle数据库作为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。
本次实验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨其在实际应用中的优势和局限性。
实验一:数据库的创建与连接在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用户名和密码连接到该数据库。
通过这一步骤,我们了解了Oracle数据库的基本操作流程,包括数据库的创建、用户的授权和连接等。
实验二:数据表的创建与管理在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。
通过这些操作,我们深入了解了Oracle数据库的数据管理功能,包括数据表的设计和维护等。
实验三:索引的创建与优化索引是数据库中非常重要的组成部分,能够提高数据的检索效率。
在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据库的性能。
这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及如何通过索引来提高数据库的性能。
实验四:备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。
在本次实验中,我们学习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。
这些操作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。
通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。
同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。
然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。
总的来说,本次实验让我们更加深入地了解了Oracle数据库的特点和功能,对我们今后的数据库管理工作有着重要的指导意义。
淮海工学院计算机工程学院实验报告书课程名:大型数据库系统概论题目:数据库的安全性班级:Z软件161学号:2018140539姓名:陈真杰一、目的与要求1、了解Oracle数据库用户和角色的概念。
2、学习使用SQL语句创建Oracle用户。
3、学习使用SQL语句创建Oracle用户。
4、学习使用SQL语句指定用户和角色。
5、了解概要文件的功能及管理方法。
二、实验内容与步骤1、练习使用SQL语句创建数据库角色 Compt142_你的学号。
CREATE ROLE SoftW161_2018140539 IDENTIFIED BY 123456;2、练习使用SQL语句为数据库角色授予权限。
Grant connect to SoftW161_2018140539;3、练习使用SQL语句创建数据库用户(用户名为你的英文名)。
Create user chenzhenjie identified by 123456;4、练习使用SQL语句指定用户角色。
Grant SoftW161_2018140539 to chenzhenjie;5、创建概要文件compt14,并把它授予刚创建的用户。
CREATE PROFILE SoftW161 LIMITSESSIONS_PER_USER 2CPU_PER_SESSION 10000CPU_PER_CALL DEFAULTCONNECT_TIME 500IDLE_TIME 90PASSWORD_LIFE_TIME 90PASSWORD_REUSE_TIME 100PASSWORD_REUSE_MAX UNLIMITEDFAILED_LOGIN_ATTEMPTS 5;三、分析与讨论1、Oracle有哪些身份认证方式?操作系统认证方法、网络身份认证、Oracle数据库身份认证、数据库管理员认证。
2、忘记DBA口令怎么解决?先用操作系统认证方式使用系统管理员进入SQL PLUS——sqlplus “/as sysdba”;设置忘记密码的用户的新密码——alter user sys identified by 123456;commit;最后使用新密码登录系统即可——conn sys /as sysdba。
实验三数据库的启动和关闭实验目的(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数据库开发环境下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 表中删除该部门的所有雇员。
实验报告图1 查询Teacher表的全部字段②输出表中的部分列。
图2 查询全体教师的编号、姓名和职称③计算列并为输出结果中的列指定别名。
图3 带有别名的查询(2)选择表中的若干行,查询满足条件的元组。
图6 确定集合查找图7 模糊查询图10 多重条件查询图11 将查询结果排序(4)对数据进行统计图13 分组统计图14 带有ROLLUP子句的分组统计图15 带有HAVING子句的分组统计 2.连接查询1)交叉连接查询图16 交叉查询(2)内连接查询图18 自连接(3)外连接查询图19 左外连接图22 使用IN谓词的子查询(2)使用比较运算符的子查询图23 使用比较运算符的子查询(3)使用ANY或ALL的子查询图24 使用ANY的子查询图25 使用EXISTS的子查询联合查询图27 使用INTERSECT操作符(3)使用MINUS操作符图28 使用MINUS操作符5.使用SQL *PLUS编辑命令、格式化输出(1)使用SQL *PLUS编辑命令①先查询教师表中所有教师的情况,再追加语句查询姓“张”的教师的情况。
使用“/”来运图31 RUN命令(2)保存、检索并运行文件图 32 保存文件②使用get命令检索8-33.SQL文件的内容。
运行此查询。
或者使用START命令用一个步骤加载并运行8-33.sql文件的内容图34 编辑命令图35 保存输出结果(3)格式化输出列图36 格式化输出结果(4)设置页面大小和行大小图37 设置页面大小图39 设置行大小6.创建、修改和删除索引(1)创建索引①使用命令行创建索引。
图35 索引管理界面图37 创建索引界面图38 索引选项界面 7.创建、修改、删除视图;图39创建简单视图图40创建基于多表的视图图41创建基于视图的视图图42 创建带有检查约束的视图图43 向视图view4插入数据的错误提示图44创建具有read only约束的视图图45 删除视图view1数据时的错误提示图47 查看视图的定义信息图48 为视图添加唯一约束图49 删除约束图50 删除视图图51 视图管理界面图52 创建视图界面图53 查看视图界面8.创建、修改、删除和使用序列(1)创建序列图54 创建序列图55 查看序列信息图58 删除序列图59 创建同义词图60 删除同义词(3)在为视图添加唯一约束时出现ORA-02250;约失条件缺失或无效的问题,原因是书上的格式不对,应该为add constraint 约束名 unique(列名) disable novalidate;。
练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。
(3)控制文件通过如下方式查看控制文件相关信息:给出运行结果截图:练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。
(4)参数文件①通过如下方式查看参数文件相关信息:a、show parameter显示服务器参数b、查询试图v$Parameter,可以利用该动态性能视图来确定参数的默认值是否被修改,以及是否可以用alter system和alter session命令修改阅读结果并理解各数据项的含义。
②修改服务器参数a、通过企业管理器(OEM)修改b、使用alter system修改服务器参数。
格式如下:Alter system set parameter =value <commernt =‘text’><feferred><scope=memory|spfile|both><sid=‘sid’|*>Eg:alter system set db_block_size=4096;练习:在%oracle_home%(如D:\app\Administrator\product\11.2.0\dbhome_1\database 或者D:\app\Administrator\product\11.2.0\dbhome_1\srvm\admin)找到名为SPFileSID.ora(如:SPfileorcl.ora)和init.ora的文件,此文件即为参数文件,用记事本或者写字板打开它们,阅读其内容并理解各数据项的作用。
3、Oracle逻辑存储结构(1)查看表空间的名称及大小执行以下语句,并给出运行结果。
(2)查看表空间物理文件的名称及大小执行以下语句,并给出运行结果。
(3)查看回滚段名称及大小执行以下语句,并给出运行结果。
(4)查看所有表空间对应的数据文件名:SQL>select distinct file_name,tablespace_name,AUTOEXTENSIBLEfrom dba_data_files;(5)查看表空间的使用情况:SQL>select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_space group by tablespace_name;(6)查看回滚段的使用情况,哪个用户正在使用回滚段的资源:SQL>select ername, from v$transaction t,v$rollstat r,v$rollname u,v$session swhere s.taddr=t.addr and t.xidusn=n and n=n order by ername;4、Oracle内存与进程结构(1)查看sga情况:SQL>SELECT NAME, BYTESFROM SYS.V_$SGASTAT ORDER BY NAME ASC;(2)数据库共享池性能检查:SQL>Select namespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidations from v$librarycachewhere namespace in ('SQLAREA','TABLE/PROCEDURE','BODY','TRIGGER'); (3)检查共享内存的剩余情况:SQL>select request_misses, request_failuresfrom v$shared_pool_reserved;(4)数据高速缓冲区性能检查:SQL>select 1-p.value/(b.value+c.value) "db buffer cache hitratio"from v$sysstat p,v$sysstat b,v$sysstat cWhere ='physical reads' and ='db block gets'and ='consistent gets';(5)查看排序段的性能:SQL>SELECT name, valueFROM v$sysstatWHERE name IN ('sorts (memory)', 'sorts (disk)');(6)查看数据库中某用户,正在运行什么SQL语句SQL>SELECT SQL_TEXTFROM V$SQLTEXT T, V$SESSION SWHERE T.ADDRESS=S.SQL_ADDRESSAND T.HASH_value=S.SQL_HASH_value AND S.MACHINE='XXXXX' OR USERNAME='WACOS';4、其他(1)查看数据库库对象:SQL>select owner, object_type, status, count(*) count# from all_objectsgroup by owner, object_type, status;(2)查看数据库的创建日期和归档方式:SQL>Select Created, Log_Mode From V$Database;5、作业与思考练习题1、现有控制文件的位置及其名称是什么?提示:查询动态性能视图V$CONTROLFILE。
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数据库技术实验指导书目录实验一 SQL*PLUS用法及SQL语言中的简单查询语句实验二 SQL语言中的分组查询和连接查询语句实验三 SQL语言中的子查询及函数的使用实验四 SQL语言中的数据操纵、事务控制和数据定义语句实验五 SQL/PL块中SQL命令的使用实验六 SQL/PL块中流程控制语句、游标、例外处理实验七数据库触发器、存储过程和存储函数实验一 SQL*PLUS用法及SQL语言中的简单查询语句一、实验目的1、熟悉SQL语言交互式使用工具SQL*PLUS的使用方法2、熟悉SQL*PLUS常用命令的功能和使用方法3、掌握SQL语言中简单查询语句的功能和使用方法二、实验环境1、硬件设备:计算机局域网,服务器1台,客户机100台2、软件系统:Windows 2000 Server 网络操作系统,Windows 2000/XP客户机操作系统; Oracle9i服务端数据库系统,客户端工具。
三、实验内容1、SQL*PLUS的使用(1) 进入(启动)SQL*PLUS在Windows环境下,双击SQL*PLUS图标或从程序组找SQL*PLUS ,出现登录窗口输入正确的数据库用户名、密码和连接字符串后,若连接数据库成功,则会出现如下提示符:SQL> (2) 退出 SQL*PLUSSQL>exit则退回到Windows桌面。
(3) 创建表结构:Create table创建部门登记表dept和雇员登记表emp的结构SQL> Create table dept( deptno number(2) not null,dname char(14),loc char(13));SQL> Create table emp( empno number(4) not null,ename char(9),job char(10),mgr number(4),Hiredate date,sal number(7,2),comm number(7,2),deptno number(2) not null );(4) 显示表结构显示部门登记表dept和雇员登记表emp的结构SQL>desc deptSQL> desc emp(5) 向表中插入记录向部门登记表dept中插入一条记录SQL> insert into deptValues (60,…Computer‟,…Beijing‟);SQL> select * from dept;向部门登记表dept中连续插入多条记录SQL> insert into dept (deptno,dname,loc)Values ( &deptno,&dname,&loc); (6) 执行SQL缓冲区中的命令SQL>/ (直接执行)SQL>run (先显示命令的内容,再执行 )(7) 执行磁盘上的命令文件a. 先调入缓冲区,再运行:SQL>get f:\ora\dept.sqlSQL>/b. 用@ 或start命令将指定命令文件调入缓冲区并执行。
计算机科学学院《ORACLE数据库》实验指导书《ORACLE数据库》实验指导书实验一Oracle数据库安装配置以及基本工具的使用1.实验的基本内容实验室中oracle数据库安装后某些服务是关闭的<为了不影响其他课程的使用),所以在进入数据库前需要对oracle进行配置:<1)启动oracle OraHomeTNSLISTENER 和oracleserviceORACLE9 两个服务<2)修改listener.ora 和tnsnames.ora 两个文件的内容<3)以用户名:system ,口令:manager 以“独立登录”的方式进入oracle 数据库系统<4)熟悉数据库中可用的工具。
2.实验的基本要求<1)掌握Oracle9i的配置以及登录过程。
<2)熟悉系统的实验环境。
3.实验的基本仪器设备和耗材计算机4.实验步骤(1> 查看设置的IP地址是否与本机上的IP地址一致。
若不一致则修改为本机IP地址。
(2> 启动oracle OraHomeTNSLISTENER 和oracleserviceORACLE9 两个服务控制面板/性能与维护/管理工具/服务/ oracle OraHomeTNSLISTENER<右击/启动)。
控制面板/性能与维护/管理工具/服务/ oracleserviceORACLE9<右击/启动)(3> 修改listener.ora 和tnsnames.ora 两个文件的内容D:\oracle\ora90\network\ADMIN\listener.ora(用记事本方式打开>,将HOST=“…..”内容修改为本机的IP地址,保存退出。
D:\oracle\ora90\network\ADMIN\tnsnames.ora(用记事本方式打开>,将HOST=“…..”内容修改为本机的IP地址,保存退出。
实验三数据更新与视图
一、实验目的
1、掌握数据更新语句的使用;
2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
二、实验内容
1.在实验一创建的表中使用SQL语句完成以下操作:
(1)学生“宾兆琦”要退学,请删除该学生的所有记录。
(2)将姓名为“朱安琪”同学的专业改为“软件工程”。
同时创建转专业记录表change_major,表中包括编号属性列(ID),学号属性列(sno),姓名属性列(sname),转出专业属性列(cbefor),转入专业属性列(cafter)和转专业时间属性列(ctime),在change_major表中插入“朱安琪”同学的转专业信息。
(3)删除选修了“计算机网络”但没有及格的选课记录。
(4)将(106559,路前元,男,汉族,共青团员,1995/11/8,null,null)插入学生关系。
(5)在C表中插入以下元组:
“382,数据库原理与应用,3.5,选修,4”,
“383,JAVA语言程序设计,4.5,选修,6”
(6)创建视图JSJ_VIEW,包括计算机科学与技术专业学生的学号,姓名,其选修的课程名及成绩属性列。
(7)创建查询每个学生的修课学分的视图XF_VIEW,要求列出学生学号及总学
分。
(8)在创建的视图中查询李洋洋和李向冲所修的学分数。
2.在实验二创建的表中使用SQL语句完成以下操作:
(1)现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工程J4数量为500,请将此供应商的信息和供应信息插入数据库。
(2)请将北京供应商的供应数量加150。
(3)把全部红色零件的颜色改为黑色。
(4)由S5供给J4的零件P6改为由S1供应。
(5)请将(S2,J7,P4,510)插入供应情况关系。
(6)零件P3已经停产,请将P3的相关信息从数据库中删除。
(7)创建零件名为螺丝刀的供应情况的视图P_ls,包括供应商名(Sname),零件名(Pname),零件重量(Weight),工程项目代码(Jno),供应数量(QTY).
(8)在视图P_ls中查询供应数量为500的供应商姓名。
(9)请为三建工程项目建立一个供应情况的视图SJ_View,包括供应商编号,零件编号,供应数量。
(10)在系统表user_updatable_columns中查看视图SJ_View是否可以更新,如果不能说明原因。
三、实验总结
这次实验主要练习的是数据的插入、删除和更新以及视图的创建等。
经过上个实验的练习,写语句的时候轻松、熟练了很多。
通过实验,我感受到了实践的重要性,只有多做才能做好。