ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:73.86KB ,
资源ID:2444874      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2444874.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle09软件复习靠谱版.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Oracle09软件复习靠谱版.docx

1、Oracle09软件复习靠谱版Oracle复习资料题型:一、填空题:10*2=20二、单选题:15*1=15三、简答题:3*5=15四、看程序写结果:5*3=15五、编程题:共 35知识点1. Oracle 10g中g表示网格计算,什么是网格计算g(grid)表示网格计算, 网格计算通过利用大量异构计算机(通常为桌面)的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。,核心是“资源与服务”,根本目标是“资源共享”。Oracle8i/Oracle 9i:其中i表示internet2. Oracle服务器的组成,他们

2、之间的区别是什么?数据库:磁盘上的程序文件+数据文件实例:计算机内存中处于运行状态的数据库程序,以及为这些程序分配的内存空间。Oracle中的一个实例只能连接一个逻辑上的“数据库”Oracle数据库结构:物理结构、内存结构、逻辑结构3. ORACLE数据库物理结构包括哪几类文件,归档非归档参数文件、控制文件(CTL)、日志文件(LOG)、数据文件(DBF)参数文件:1) 实例和数据库的配置参数表。设置内存中的SGA(系统全局区)大小、指定数据库控制文件名称及路径,定义各种操作参数等。2) 将初始化参数永久保存在服务器磁盘上。3) 只在建立数据库或启动实例时才被访问。4) 是一个可编辑的文本文件

3、,在修改该文件之前必须关闭实例。控制文件: 1) 至少有一个控制文件,建议两个或两个以上2) 通过控制文件保持数据库完整性以及决定恢复数据时使用哪些重做日志。数据库名称及唯一标识数据库的创建时间数据文件的名称、位置及大小重做日志文件的名称、位置及大小表空间名称检查点信息、日志序列号等数据库恢复所需的同步信息。数据文件:用于存放所有的数据库数据,如表、索引等。1) 一个数据文件只与一个数据库相联系;数据文件大小是动态可以改变的;数据文件结合在一起形成表空间。2) 有两种类型的数据:用户数据和系统数据3) 用户数据:用于应用软件的数据,带有应用软件的所有信息。是用户存放在数据库中的信息。4) 系统

4、数据:用来管理用户数据和Oracle数据库本身的数据。日志文件: 重做日志文件:用于记录数据库的修改操作,可用于数据库的恢复。两个或两个以上日志文件,用于镜像。 文件的配置和大小会影响性能,重做日志与数据文件分开存放。 重做日志文件组以循环方式进行写操作。 ARCHIVELOG(归档) 当所有日志组都写满之后,又回到第一组之前,该组中原有数据写入归档日志,存入磁盘。 备份时必选。可自动归档重做日志文件。 是非活动重做日志的备份。 数据库只有处于ArchiveLog模式时才会生成归档日志,并且每次日志切换都会生成归档日志。 执行介质恢复(例如数据文件意外丢失),则必须要用到归档日志。 NOARC

5、HIVELOG(非归档)通常默认都为非归档模式。当所有日志组都写满之后,又回到第一组之前,该组中原有数据被覆盖。日志中只保留最后数据。ARCHIVELOG(归档)当所有日志组都写满之后,又回到第一组之前,该组中原有数据写入归档日志,存入磁盘。NOARCHIVELOG(非归档)通常默认都为非归档模式。当所有日志组都写满之后,又回到第一组之前,该组中原有数据被覆盖。日志中只保留最后数据。4. 两种内存结构SGA和PGA,SGA的组成部分和功能 系统全局区称SGA(System Global Area)当数据库服务器上的一个数据库启动时,Oracle将分配一块内存区间,叫做系统全局区(SGA),并启

6、动一个或多个Oracle后台进程,SGA被所有的后台进程共享。 组成:DB Buffer、Redo Buffer、大共享区、共享池、固定SGA1)DB Buffer:默认缓存池、保持缓存池、再生缓存池。 保持缓存池:对于需要在内存中长期保存的频繁访问的数据,在关闭数据库前一直保留。 再生缓存池:需要尽快从内存中排除的对象。 缓存池可设定相关大小。2) 共享池:库缓存(共享SQL区、PL/SQL区)、字典缓存区 共享池的规模对数据库性能有重要的影响。 共享SQL区:保留SQL语句的解释版本,以便于再次使用时不再重新解释,提高进程速度。 PL/SQL区:保留PL/SQL的过程、函数等程序单元的编译

7、版本,以便所有用户都能够共享。 字典缓存区:用于缓存数据字典信息。3) Redo日志缓存区:通过一个日志的书写进程对日志文件进行操作,先进先出。4)大共享区:选择多线程服务器时需要。5)固定SGA:不能设定大小,由Oracle独立控制。5. 六个必需的后台进程(进程结构)DBWR 数据库写进程LGWR 日志查点写进程 CKPT 检查点进程SMON 系统监控进程PMON 进程监控进程RECO 恢复进程6. Oracle数据库逻辑结构由几部分组成及它们之间的关系 块block、盘区extent、段segement、表空间tablespace(1)、表空间与数据文件的对应关系为1:n(2)、段与表空

8、间的对应关系为n:1,但段与数据文件并不一一对应。(3)、Oracle的基本存储单位是块。(4)、安装全局数据库之前,设定块大小,Oracle的块大小一定是操作系统的整数倍。7. 每个实例至少有5个服务分别是什么?1) OracleDBConsoleorcl: Oracle数据库控制台服务,orcl是Oracle例程标识,默认的例程为orcl。在运行Enterprise Manager 10g(Oracle 企业管理器)时,需要启动此服务。此服务被默认设置为自动启动。2) OracleJobSchedulerORCL: Oracle作业调度进行,ORCL是Oracle例程标识。此服务被默认设置

9、为禁用。3) OracleOraDb10g_home1iSQL*Plus: iSQL *Plus应用服务,默认设置为自动启动。4) OracleOraDb10g_home1TNSListener: 监听器服务,服务只有在数据库需要远程访问时才需要。此服务被默认设置为自动启动。5) OracleServiceORCL: 数据库服务,这个服务会自动地启动和停止数据库。ORCL是Oracle例程标识。此服务被默认设置为自动启动。8. Sql plus命令1) Run、/都可以运行缓冲区中的sql语句。Run在执行缓冲区语句前,会显示缓冲区的内容。2) Set命令Set linesize 300;Se

10、t pagesize 30;3) Ed(it)命令 *.sql4) 或start执行脚本命令5) exit (或quit) 退出conn scott/tigerconn sys/change_on_install as sysdba连接不同用户启动数据库实例:startup;关闭数据库实例:shutdown immediate;一旦关闭之后,用户无法直接连接sqlplusw,此时可以先使用“/nolog”登录,之后使用管理员登录。9. 单行函数字符函数UPPER(字符串|列):将输入的字符串变为大写返回;LOWER(字符串|列):将输入的字符串变为小写返回;INITCAP(字符串|列):开头首

11、字母大写;LENGTH(字符串|列):求字符串的长度;REPLACE(字符串|列):进行替换;SUBSTR(字符串|列,开始点,长度):字符串截取;数字函数ROUND(数字|列,保留小数的位数):四舍五入的操作TRUNC(数字|列,保留小数的位数):舍弃指定位置的内容,不进位;MOD(数字1,数字2):取模,取余数日期函数当前日期可以使用“sysdate”日期-数字=日期,表示若干天之前的日期日期-日期=数字,表示两个日期间的天数,但是肯定是大日期-小日期LAST_DAY(日期):求指定日期的最后一天;NEXT_DAY(日期,星期数):求出下一个指定星期x的日期;ADD_MONTHS(日期,数

12、字):求出若干月之后的日期;MONTHS_BETWEEN(日期1,日期2):求出两个日期之间经历的月份;转换函数(核心)TO_CHAR(字符串|列,格式字符串):将日期或者数字变为字符串显示;TO_DATE(字符串,格式字符串):将字符串变为DATE数据显示;TO_NUMBER(字符串):将字符串变为数字显示左、右连接 (+)=:表示右连接 =(+):表示左连接10. 常用数据类型有哪些11. PL/SQL下定义常量、变量、特殊类型的定义和使用、函数参数有哪几类、约束有哪几类、导入导出命令变量类型:v1 char; 没有给出长度,所以只能保存一个字符,超过了则会出错v2 varchar2(10

13、); v2最多只能保存10个字符。如果不写长度会出错,字符串长度限制在范围(1.32767)v3 number; v3保存的数字范围非常大,几乎可以认为是没有限制的。v4 number(5);v4最多能够保存5位整数。如果有小数,Oracle会自动四舍五入。v5 number(5,2); v5最多能够保存3位整数,2位小数。如果小数位不止2位,则Oracle会自动四舍五入。v6 date; 可以直接保存sysdate的值;如果是指定日期,则要用to_date来转化。v7 constant number := 100; 定义v7为常量,定义时就必须给定值。然后在程序中就不能再对v7进行赋值了v8

14、 number default 10; 定义v8时就给定默认值10。注意:number类型变量的默认值不是0,而是NULL。v9 number not null := 1000.50; 定义v9变量不能为空。三种参数模式in 是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。 out模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程或函数。 in out 参数允许调用程序通过它向过程传递初始数据,并且可返回经过程修改后的数据约束A)非空约束Create table member(Mid number,Name varchar2(50) n

15、ot null);B)唯一键约束 Constraint UK_属性名 unique(属性名) Create table member(Mid number,Name varchar2(15) not null,Email varchar2(15) unique);C)主键约束 Constraint pk_mid primary key(mid)主键约束=非空约束+唯一约束Create table member(Mid number primary key,Name varchar2(50) not null);D)检查约束Create table member(Mid number,Name

16、varchar2(50) not null,Sex varchar2(10) not null,Age number(3),Constraint pk_mid primary key(mid),Constraint ck_sex check(sex in(男,女),Constraint ck_age check(age between 0 and 250);E)外键约束Constraint fk_mid foreign key(mid) references member(mid)2) 导入导出命令数据库备份:exp 数据库恢复:imp12. 游标的四个属性%FOUND 布尔型属性,当最近一次

17、读记录时成功返回,则值为TRUE;%NOTFOUND 布尔型属性,与%FOUND相反;%ISOPEN 布尔型属性,当游标已打开时返回 TRUE;%ROWCOUNT 数字型属性,返回已从游标中读取的记录数。13. 常见预定义异常有哪些、如何在程序中使用异常错误号异常错误信息名称说明ORA-0001Dup_val_on_index试图破坏一个唯一性限制ORA-0051Timeout-on-resource在等待资源时发生超时ORA-0061Transaction-backed-out由于发生死锁事务被撤消ORA-1001Invalid-CURSOR试图使用一个无效的游标ORA-1012Not-lo

18、gged-on没有连接到ORACLEORA-1017Login-denied无效的用户名/口令ORA-1403No_data_foundSELECT INTO没有找到数据ORA-1422Too_many_rowsSELECT INTO 返回多行ORA-1476Zero-divide试图被零除ORA-1722Invalid-NUMBER转换一个数字失败ORA-6500Storage-error内存不够引发的内部错误ORA-6501Program-error内部错误ORA-6502Value-error转换或截断错误ORA-6504Rowtype-mismatch缩主游标变量与 PL/SQL变量有

19、不兼容行类型ORA-6511CURSOR-already-OPEN试图打开一个已存在的游标异常处理部分一般放在 PL/SQL 程序体的后半部,结构为:EXCEPTION WHEN first_exception THEN WHEN second_exception THEN WHEN OTHERS THEN END;14. PL/SQL下权限的赋予与取消 Grant 权限1,权限2 to 用户名; Grant connect, resource to test; Connect角色:临时用户或不需要建表的用户会赋予connect角色,可以建表、视图、序列、同义词、session等。 Resou

20、rce角色:更可靠和正式的数据库用户可以授予resource角色。为用户提供权限创建属于自己的表、视图、序列、同义词、过程、触发器等。 Revoke 权限 on 用户.表名称 from 用户;补充:1、删除表数据 Delete table table_name; Truncate table table_name;截断表(不可用回滚恢复)2、闪回技术:删除整个表 Drop table table_name;闪回(恢复) Flashback table table_name to before drop;彻底删除表(无法闪回)Drop table table_name purge;3、用户管理创

21、建用户的语法:Create user 用户名 identified by 密码;修改用户密码:Alter user 用户名 identified by 密码;赋予用户权限Grant connect, resource to用户;回收用户权限Revoke 权限 on 用户.表名称 from 用户;4、数据库备份与恢复数据库备份:exp数据库恢复:imp数据库备份文件EXPDAT.DMP编程题:函数触发器基本查询语句练习题 1. 列出所有部门的详细信息和部门人数SQL select d.*,count(e.deptno) from emp e,dept d 2 where e.deptno(+)=

22、d.deptno 3 group by d.deptno,d.dname,d.loc;2. 列出所有员工的年工资、所在部门名称,按年薪升序排序SQL select e.ename,e.sal*12,d.dname from emp e,dept d 2 where e.deptno=d.deptno 3 order by e.sal*12;3. 查出每个员工的上级主管及所在部门名称,并要求这些主管的薪水超过3000SQL select e.ename,m.ename manager,d.dname,m.sal 2 from emp e,emp m,dept d 3 where e.empno=

23、m.empno and m.deptno=d.deptno 4 and m.sal3000;4. 求出部门名称中带S字符的部门员工的工资合计、部门人数。SQL select d.dname,sum(e.sal),count(e.deptno) 2 from emp e,dept d 3 where e.deptno(+)=d.deptno 4 and d.dname like %S% 5 group by d.dname;5. 列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。SQL select d.*,count(e.deptno),avg(e.sal) 2

24、from emp e,dept d 3 where e.deptno(+)=d.deptno 4 group by d.deptno,d.dname,d.loc;6. 列出在部门“SALES”工作的员工姓名、基本工资、雇佣日期、部门名称,假定不知道销售部的部门编号。SQL select e.ename,e.sal,e.hiredate,d.dname 2 from emp e,dept d 3 where e.deptno=d.deptno and d.dname=SALES;7. 列出公司各个工资等级雇员的数量、平均工资SQL select s.grade,s.losal,s.hisal,c

25、ount(e.empno),avg(e.sal) 2 from emp e,salgrade s 3 where e.sal between s.losal and s.hisal 4 group by s.grade,s.losal,s.hisal;8. 列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称SQL select e.empno,e.ename,d.dname from emp e,dept d 2 where salall(select sal from emp where deptno=30) 3 and e.deptno=d.deptno;9. 列出受雇日

26、期早于直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。SQL select e.empno,e.ename,d.dname,d.loc, p.count 2 from emp e,emp m,dept d,( 3 select deptno,count(empno) count 4 from emp group by deptno) p 5 where e.mgr=m.empno 6 and e.hiredate select e.ename,d.dname,e.job, p.count,s.grade 2 from emp e,dept d,( 3 select deptno,

27、count(empno) count 4 from emp group by deptno) p,salgrade s 5 where e.job=CLERK 6 and e.deptno=d.deptno 7 and d.deptno=p.deptno 8 and e.sal between s.losal and s.hisal;11. 列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数及所在部门名称、位置、平均工资。SQL select p.job, p.count,d.dname,a.avg 2 from dept d,( 3 select e.job job,count(e

28、.empno) count 4 from emp e group by e.job 5 having min(e.sal)1500) p,emp e,( 6 select deptno,avg(sal) avg 7 from emp group by deptno) a 8 where e.deptno=d.deptno 9 and e.job=p.job 10 and e.deptno=a.deptno;12. 列出薪金高于公司平均薪金的所有员工、所在部门、上级领导、公司的工资等级。SQL select e.ename,e.job,e.sal,d.dname,d.loc,m.ename,s.

29、grade 2 from emp e,dept d,emp m,salgrade s 3 where e.sal( 4 select avg(sal) from emp) 5 and e.deptno=d.deptno 6 and e.mgr=m.empno 7 and e.sal between s.losal and s.hisal;13. 列出与SCOTT从事相同工作的所有员工及部门名称、部门人数SQL select e.ename,e.job,d.dname,p.count 2 from emp e,dept d,( 3 select deptno,count(empno) count

30、 4 from emp group by deptno) p 5 where e.job=( 6 select job from emp where ename=SCOTT) 7 and e.deptno=d.deptno and p.deptno= e.deptno;14. 列出在每个部门工作的员工数量、平均工资和平均服务期限SQL select d.dname,count(e.empno) 员工数量, 2 avg(sal) 平均工资, 3 avg(months_between(sysdate,e.hiredate)/12) 平均服务期限 4 from emp e,dept d 5 where e. deptno

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2