Oracle数据库实验三
- 格式:docx
- 大小:94.48 KB
- 文档页数:9
学生实验报告册(理工类)课程名称:大型数据库技术专业班级: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数据库服务器和客户机安装程序。
河南财经政法大学计算机与信息工程学院
2011年---2012年第一学期
专业:信息管理与信息系统
课程名称:Oracle数据库
班级:
姓名:学号:
指导教师:张巧荣
实验一创建数据库和表
实验二表数据的插入、修改和删除
实验三数据库的查询
实验四数据库的视图
实验五索引和完整性
实验六用户、角色管理
实验七备份和恢复
实验八PL/SQL编程
实验九存储过程和触发器的使用
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
实验三数据更新与视图一、实验目的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的供应商姓名。
实验二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数据库技术实验指导书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地址,保存退出。
实验报告(三)院系:信息学院课程名称:日期:班级姓名专业信息管理与信息系统学号实验室实验名称Oracle的存储管理与分析(1)成绩评定教师签名实验目的索引实验内容一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划二、以emp为原型,创建一个test表,在test的empno列上创建索引三、分析索引,通过index_stats查看的索引高度,结构等信息四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息五、往test表中插入600条记录,查看索引结构六、删除500条记录,查看索引结构七、对索引进行合并,查看索引变化八、重构索引,查看索引变化一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划1.全表扫描(full table scan--fts)并行查询可能会使得我们的路径选择采用全表扫描2.通过行ID(ROWID)向表中插入对象时隐含会创建改行ROWID,它是数据行所存储的数据块地址,这样可以以最快的速度找到该行数据,是oracle中读取单行数据最快的方法。
3.使用索引(1)使用索引找到相应ROWID(2)通过找到的ROWID从表中读取相应的数据二、以emp为原型,创建一个test表,在test的empno列上创建索引三、分析索引,通过index_stats查看的索引高度,结构等信息四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息五、往test表中插入600条记录,查看索引结构这样依次插入到表test中600条记录,再查看索引结构有如下变化:六、删除500条记录,查看索引结构;按照这样删除的方法把插入的600记录删除500条后在查看索引结构:七、对索引进行合并,查看索引变化;八、重构索引,查看索引变化;实验报告(三)院系:信息学院课程名称:日期:班级姓名专业信息管理与信息系统学号实验室实验名称oracle存储管理与优化(2)成绩评定教师签名实验目的日志管理实验内容1查看日志组和日志文件的相关信息(v$log,v$logfile)了解日志组状态真正涵义;2切换日志组,跟踪日志切换的时间频率;3往数据里增加两个日志组,再删除其中的一个,结合日志组的状态,分析哪些类型的日志组不能删除4.往日志组里增加日志成员,再删除添加的日志成员,分析哪些类型的日志文件不能删除;5日志文件的恢复:1.nactive日志损坏清洗日志2.active日志损坏,只要数据库是一致性关闭,与1的恢复一样3.current日志损坏不完全恢复1查看日志组和日志文件的相关信息(v$log,v$logfile)了解日志组状态真正涵义;v$log记录了当前数据库的日志组号、日志序列号、每个日志文件的大小、以字节为单位、每个日志组的成员数量,以及日志组的当前状态。
课程名:Oracle数据库应用地点:6306(6)数据库用户与权限的管理。
实验内容:配置net manager依次选择开始—>Oracle –OraHome92—>Configuration and Migration Tools—>Net Manager输入Net服务名172.30.4.205_ora91 点击下一步选择TCP/IP(Internet协议)点击下一步输入主机名172.30.4.205 点击下一步选择(Oracle8i或更高版本)服务名:ora91 点击下一步点击测试选择更改登陆,输入用户名xiecha,口令xiecha点击确定,出现测试成功后选择关闭点击完成保存网络配置(2)配置Enterprise Manager Console用dbca配置em在命令提示符下输入dbca,出现"Database Configuration Assistant 欢迎使用"界面,点下一步,选择配置数据库,在点下一部,选择要配制em的数据库,然后在点下一步,把"使用Enterprise Manager配置数据库"选项打上钩,因为是配制单实例的,所以选择"使用Database Control管理数据",下面两个选项启用电子邮件通知和启用每日备份根据自己情况选择,在点一下部,把"Enterprise anager 资料档案库"也选择起来,否则不能使用em,在点下一步,然后提示需要设置DBSNMP和SYSMAN两个用户设置口令,根据自己情况来设置是否口令设置成一样,还是分开设置。
再点一下步,再点完成,就出现配制数据库提示信息框,等配制完成就退出dbca,完成数据库em配制(3)Oracle数据库备份与恢复原理和方法Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。
实验三PL/SQL触发器和存储过程(2学时)【实验目的】(1)了解触发器的类型。
(2)掌握PL/SQL触发器的使用方法。
(3)了解存储过程的使用方法。
(4)掌握存储过程的使用方法。
【实验内容】一、触发器概述1.触发器的类型可以创建被如下语句所触发的触发器:(1)DML语句(DELETE,INSERT,UPDATE);(2)DDL语句(CREATE,ALTER, DROP);(3)数据库操作(SERVERERROR,LOGON,LOGOFF,STARTUP,SHUTDOWN)。
2.触发器的设计规则:(1)作用范围清晰(2)不要让触发器去完成Oracle后台已经能够完成的功能(3)限制触发器代码的行数(4)不要创建递归的触发器(5)触发器仅在被触发语句触发时进行集中的,全局的操作,同用户和数据库应用无关。
3.触发器的创建1)使用CREATE TRIGGER语句创建触发器使用CREATE TRIGGER语句创建触发器的语句格式如下:CREATE [OR REPLACE] TRIGGER name {BEFORE|AFTER }{event [ OR ... ]} ON table [FOR[EACH ]{ROW|STATEMENT}][WHEN(condition)] plsql block|call procedures_statement2)注意事项(1)触发器可以声明为在对记录进行操作之前,在之前(检查约束之前和INSERT,UPDA TE 或DELETE 执行前)或之后(在检查约束之后和完成INSERT,UPDATE 或DELETE 操作)触发.。
(2)一个FOR EACH ROW 执行指定操作的触发器为操作修改的每一行都调用一次。
(3)SELECT 并不更改任何行,因此不能创建SELECT 触发器。
这种场合下规则和视图更适合。
(4)触发器和某一指定的表格有关,当该表格被删除时,任何与该表有关的触发器同样会被删除。
Oracle数据库实验报告第一篇:Oracle数据库实验报告中南林业科技大学实验报告课程名称:Oracle数据库专业班级:姓名:学号:****年**月**日实验一安装和使用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.配置监听器,查看是否在服务中有LISTENER,是否能启动。
4.配置本地net服务,提示:设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:有几种打开SQL*Plus的方法?分别是什么?(1)直接打开 sql plus 即窗口方式(2)cmd 命令行方式(3)WEB 页面中 iSQL*Plus 方式 7.用命令关闭实例和数据库,记录命令 SQL>shutdown immediate8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
sql>startup nomount sql>alter database mount;sql>alter database open;sql>startup(1).用SQLplus 命令:show parameters参数名(2).用select [列名] from 表名2.初始化文件有几种?默认的保存位置在哪里?初始化文件有三种:数据文件,日志文件,控制文件;默认的保存位置E:oracleproduct10.2.0oradataorcl4.打开OEM,查看三类物理文件信息三类物理文件:数据文件、控制文件、日志文件数据文件:.DBF 存储表、索引及数据结构信息日志文件:.LOG记录对数据库的所有修改信息,用于恢复控制文件:.CTL二进制文件,记录数据库名、文件标识、检查点5.分别用select命令查询V$parameter动态性能视图,用show 命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。
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数据库用户和角色的概念。
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对象管理及使用一、实验目的及要求掌握Oracle的常用对象的操作方法。
会使用常用对象解决一些实际问题。
二、实验主要内容(1)表结构的建立、修改、查看、删除操作。
(2) 索引的建立、修改、查看、删除操作。
(3) 视图的建立、查询、修改、删除操作。
(4) 同义词的建立、查询、修改、删除操作,比较对同义词的操作与对原数据库对象的操作是否一致。
(5) 掌握序列的建立、查询、修改、删除操作,利用序列向数据库表中插入数据。
三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。
服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。
四、实验步骤1.创建表结构利用命令行方式将下列各表建立到员工医疗保险系统数据库中。
表结构如附录员工医疗保险系统表1-表7所示。
2.查看表结构(2) 利用SQL*Plus或PL/SQL Developer从数据字典DBA_TAB _COLUMNS查看员工医疗保险系统所有表的字段信息。
(3) 利用SQL*Plus或PL/SQL Developer从数据字典DBA_ CONSTRAINTS查看员工医疗保险系统所有表的约束信息。
3.修改表结构(1) 利用SQL*Plus或PL/SQL Developer将表“staff_sql”重新命名为“staff_sql0”。
(2) 利用企业管理器为“staff_sql0”表添加“age INT”字段,利用DESC命令查看“staff_sql0”表的字段信息。
(3) 利用SQL*Plus或PL/SQL Developer为“staff_sql0”表添加“salary NUMBER(5,2)”、“salary_add NUMBER(3,1)”两个字段,利用DESC命令查看“staff_sql0”表的字段信息。
(4) 利用SQL*Plus或PL/SQL Developer向“staff_sql0”表添加“sname”字段惟一性约束,从数据字典DBA_CONSTRAINTS查看“staff_sql0”表的约束信息。
课程名称:数据库原理实验要求:每个同学按时并且独立完成实验报告,前几个实验按照实验指导书容易完成,有些实验不需要2个学时完成,所以各位同学完成一个实验以后,立刻做下一个实验。
最后一个实验涉及到数据库应用程序开发,4个学时肯定不能完成,所以尽快完成前面的实验,多留些时间做实验八。
Oracle连接方法使用SQL developer方法1.从开始菜单进入SQL developer,选择路径D:\Winapps\jdk160\bin\java.exe2.新建连接,连接名称自定义,内容任意。
3.用户名称为:jsj+班级号+二位的顺序号,密码为大写的JSJ+班级号+二位的顺序号。
例如084班序号为01的同学,用户名称是jsj08401,口令为JSJ084014.主机名填写IP地址:202.192.35.252,端口号默认为1521,SID:orcl5.测试连接成功,选择连接。
6.输入SQL并运行。
使用SQLPLUS的方法(其中参数是一样的)从开始菜单中,运行cmd命令提示符,在命令提示符下输入以下信息:Sqlplus 用户名/密码@服务器IP:端口号/数据库名称例如:Sqlplus jsj08401/JSJ08401@202.192.35.252:1521/orcl实验(实验二、实验三)前准备现有一个单位内部的小型图书借阅系统,假设每本图书的数量无限制,并且可以借给任何单位成员,每个单位成员可以借多本书,单位成员与图书的关系是多对多的关系。
假设系统中仅有三个关系模式。
1、拷贝代码运行,建立表格Readercreate table Reader(RNO varchar2(4) primary key,Rname varchar2(10) not null,Rsex varchar2(2),Rage integer,Rboss varchar2(10),Raddress varchar2(30))2、拷贝代码运行,向Reader表格中插入十条数据insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R001','张三',20,'男','李四','416');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R002','张三',35,'女',null,'417');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R003','李四',30,'男',null,'416');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R004','王五',20,'男',null,'417');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R005','马六',40,'男',null,'416');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R006','刘三',20,'男',null,'417');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R007','王四',40,'男','李四','416');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R008','李小龙',20,'男','李四','417');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R009','王小倩',40,'男','李四','416');insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R010','王一小',20,'男','李四','417');3、拷贝代码运行,建立表格Bookcreate table Book(BNO varchar2(4),Bname varchar2(50) not null,Bauthor varchar2(50),Bpress varchar2(50),Bprice numeric(6,2),primary key(BNO))4、拷贝代码运行,向Book表格中插入5条数据insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B001','严蔚敏','数据结构','清华大学出版社',null);insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B002','唐发根','数据结构','北航出版社',24);insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B003','王珊','数据库原理','高等教育出版社',40);insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B004','张飞','数据库原理','清华大学出版社',30);insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B005','王珊','数据库原理','清华大学出版社',null);5、拷贝代码运行,建立表格RBcreate table RB(RNO varchar2(4),BNO varchar2(4),RBdate date default sysdate,primary key(RNO,BNO),foreign key (RNO) references Reader(RNO),foreign key (BNO) references Book(BNO))6、拷贝代码运行,向RB表格中插入13条数据insert into RB (RNO,BNO) values ('R001','B001');insert into RB (RNO,BNO) values ('R001','B002');insert into RB (RNO,BNO) values ('R001','B004');insert into RB (RNO,BNO) values ('R002','B001');insert into RB (RNO,BNO) values ('R003','B001');insert into RB (RNO,BNO) values ('R004','B001');insert into RB (RNO,BNO) values ('R004','B002');insert into RB (RNO,BNO) values ('R005','B001');insert into RB (RNO,BNO) values ('R006','B001');insert into RB (RNO,BNO) values ('R006','B003');insert into RB (RNO,BNO) values ('R006','B005');insert into RB (RNO,BNO) values ('R006','B002');insert into RB (RNO,BNO) values ('R006','B004');预备知识以下为查询READER表中创建的约束类型,其中constraint_type为约束类型,该属性值的取值Type Code如下表所示。
作业三表
一、实验目的
掌握表的操作和管理。
二、实验内容
1、创建基本表
2、利用子查询创建表
3、完整性约束设置
4、表数据的插入和修改、删除
三、实验步骤
前提:以system登录,编写下述题目的sql脚本。
1、创建表t1
字段如下:
empno number(4) not null primary key,
ename varchar2(20) not null,
sex varchar2(1) not null,
birthday date,
salary number(7,2) default(0)
2
3、利用子查询创建表t2
子查询的条件是:性别为男
4、利用子查询创建表t3
要求是:只获取t1的表结构
(此方法为错误方法)
5、完整性约束
查看表t2的约束,请解释与t1相比,缺少了什么?为什么?
select table_name, constraint_type, constraint_name,
search_condition
from user_constraints
where table_name=’T2’
order by table_name, constraint_type;
为表t2增加缺少的约束
6、管理表
创建表author,其字段如下:
id number(3),
name varchar2(20),
sal number(6,2)
为该表增加字段address,类型为varchar2(100)修改该表的sal字段名为salary
为字段salary增加值在0到10000内的约束删除字段address
删除该表
drop table stu2;
create table stu2(
sno varchar(9),
name varchar2(20),
age int,
sex int);
insert into stu2 values (2, '丁二', 22, 0); insert into stu2 values (4, '丁四', 44, 0); insert into stu2 values (6, '丁六', 66, 0);
用子查询的方式将表stu2的数据插入到stu1中
drop table stu2;
create table stu2(
sno varchar(9),
name varchar2(20),
age int,
sex int);
insert into stu2 values (2, '丁二', 22, 0); insert into stu2 values (4, '丁四', 44, 0); insert into stu2 values (6, '丁六', 66, 0); insert into stu2 values (7, '丁七七',17, 1);
分别查看表stu1和stu2的数据,请记住拥有相同sno的数据即条件为where sno=7利用子查询修改表stu1,将其sno=7的数据修改为stu2中sno=7的数据
错误汇总:
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务(已解决)
先开启Oracle相关的监听器等
Win+R 输入services.msc
在进入sqlplus的时候提示:
ORA-12560: TNS: 协议适配器错误(已解决)
查看了一下,原来是没有设置SID,在命令行下:
set ORACLE_SID=orcl
然后再进入就行了。
在网络上查找了一下,似乎有可能是因为下面的几个原因:
1.监听服务没有起起来。
windows平台个一如下操作:开始---程序---管理工具---服
务,打开服务面板,启动oraclehome92TNSlistener服务。
2.database instance没有起起来。
windows平台如下操作:开始---程序---管理工具---
服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。
regedit,然后进入
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0将该环境变量ORACLE_SI D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus 前,在command line下
输set oracle_sid=XXXX,XXXX就是你的database SID.
ORA-00947: 没有足够的值(已解决)。