Oracle09软件复习靠谱版文档格式.docx
- 文档编号:4526449
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:18
- 大小:73.86KB
Oracle09软件复习靠谱版文档格式.docx
《Oracle09软件复习靠谱版文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle09软件复习靠谱版文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
检查点信息、日志序列号等数据库恢复所需的同步信息。
数据文件:
用于存放所有的数据库数据,如表、索引等。
1)一个数据文件只与一个数据库相联系;
数据文件大小是动态可以改变的;
数据文件结合在一起形成表空间。
2)有两种类型的数据:
用户数据和系统数据
3)用户数据:
用于应用软件的数据,带有应用软件的所有信息。
是用户存放在数据库中的信息。
4)系统数据:
用来管理用户数据和Oracle数据库本身的数据。
※日志文件:
●※重做日志文件:
用于记录数据库的修改操作,可用于数据库的恢复。
两个或两个以上日志文件,用于镜像。
◆文件的配置和大小会影响性能,重做日志与数据文件分开存放。
◆重做日志文件组以循环方式进行写操作。
◆ARCHIVELOG(归档)
Ø
当所有日志组都写满之后,又回到第一组之前,该组中原有数据写入归档日志,存入磁盘。
备份时必选。
可自动归档重做日志文件。
是非活动重做日志的备份。
数据库只有处于ArchiveLog模式时才会生成归档日志,并且每次日志切换都会生成归档日志。
执行介质恢复(例如数据文件意外丢失),则必须要用到归档日志。
◆NOARCHIVELOG(非归档)
通常默认都为非归档模式。
当所有日志组都写满之后,又回到第一组之前,该组中原有数据被覆盖。
日志中只保留最后数据。
ARCHIVELOG(归档)当所有日志组都写满之后,又回到第一组之前,该组中原有数据写入归档日志,存入磁盘。
NOARCHIVELOG(非归档)通常默认都为非归档模式。
4.两种内存结构SGA和PGA,SGA的组成部分和功能
●系统全局区称SGA(SystemGlobalArea)当数据库服务器上的一个数据库启动时,Oracle将分配一块内存区间,叫做系统全局区(SGA),并启动一个或多个Oracle后台进程,SGA被所有的后台进程共享。
●组成:
DBBuffer、RedoBuffer、大共享区、共享池、固定SGA
1)DBBuffer:
默认缓存池、保持缓存池、再生缓存池。
保持缓存池:
对于需要在内存中长期保存的频繁访问的数据,在关闭数据库前一直保留。
再生缓存池:
需要尽快从内存中排除的对象。
缓存池可设定相关大小。
2)共享池:
库缓存(共享SQL区、PL/SQL区)、字典缓存区
共享池的规模对数据库性能有重要的影响。
共享SQL区:
保留SQL语句的解释版本,以便于再次使用时不再重新解释,提高进程速度。
PL/SQL区:
保留PL/SQL的过程、函数等程序单元的编译版本,以便所有用户都能够共享。
字典缓存区:
用于缓存数据字典信息。
3)Redo日志缓存区:
通过一个日志的书写进程对日志文件进行操作,先进先出。
4)大共享区:
选择多线程服务器时需要。
5)固定SGA:
不能设定大小,由Oracle独立控制。
5.六个必需的后台进程(进程结构)
DBWR数据库写进程
LGWR日志查点写进程
CKPT检查点进程
SMON系统监控进程
PMON进程监控进程
RECO恢复进程
6.Oracle数据库逻辑结构由几部分组成及它们之间的关系
块block、盘区extent、段segement、表空间tablespace
(1)、表空间与数据文件的对应关系为1:
n
(2)、段与表空间的对应关系为n:
1,但段与数据文件并不一一对应。
(3)、Oracle的基本存储单位是块。
(4)、安装全局数据库之前,设定块大小,Oracle的块大小一定是操作系统的整数倍。
7.每个实例至少有5个服务分别是什么?
1)OracleDBConsoleorcl:
Oracle数据库控制台服务,orcl是Oracle例程标识,默认的例程为orcl。
在运行EnterpriseManager10g(Oracle企业管理器)时,需要启动此服务。
此服务被默认设置为自动启动。
2)OracleJobSchedulerORCL:
Oracle作业调度进行,ORCL是Oracle例程标识。
此服务被默认设置为禁用。
3)OracleOraDb10g_home1iSQL*Plus:
iSQL*Plus应用服务,默认设置为自动启动。
4)OracleOraDb10g_home1TNSListener:
监听器服务,服务只有在数据库需要远程访问时才需要。
5)OracleServiceORCL:
数据库服务,这个服务会自动地启动和停止数据库。
ORCL是Oracle例程标识。
8.Sqlplus命令
1)Run、/都可以运行缓冲区中的sql语句。
Run在执行缓冲区语句前,会显示缓冲区的内容。
2)Set命令Setlinesize300;
Setpagesize30;
3)Ed(it)命令*.sql
4)@或start执行脚本命令
5)exit(或quit)退出
connscott/tiger
connsys/change_on_installassysdba连接不同用户
启动数据库实例:
startup;
关闭数据库实例:
shutdownimmediate;
一旦关闭之后,用户无法直接连接sqlplusw,此时可以先使用“/nolog”登录,之后使用管理员登录。
9.单行函数
字符函数
UPPER(字符串|列):
将输入的字符串变为大写返回;
LOWER(字符串|列):
将输入的字符串变为小写返回;
INITCAP(字符串|列):
开头首字母大写;
LENGTH(字符串|列):
求字符串的长度;
REPLACE(字符串|列):
进行替换;
SUBSTR(字符串|列,开始点[,长度]):
字符串截取;
数字函数
ROUND(数字|列[,保留小数的位数]):
四舍五入的操作
TRUNC(数字|列[,保留小数的位数]):
舍弃指定位置的内容,不进位;
MOD(数字1,数字2):
取模,取余数
日期函数
当前日期可以使用“sysdate”
日期-数字=日期,表示若干天之前的日期
日期-日期=数字,表示两个日期间的天数,但是肯定是大日期-小日期
LAST_DAY(日期):
求指定日期的最后一天;
NEXT_DAY(日期,星期数):
求出下一个指定星期x的日期;
ADD_MONTHS(日期,数字):
求出若干月之后的日期;
MONTHS_BETWEEN(日期1,日期2):
求出两个日期之间经历的月份;
转换函数(核心)
TO_CHAR(字符串|列,格式字符串):
将日期或者数字变为字符串显示;
TO_DATE(字符串,格式字符串):
将字符串变为DATE数据显示;
TO_NUMBER(字符串):
将字符串变为数字显示
→左、右连接
(+)=:
表示右连接
=(+):
表示左连接
10.常用数据类型有哪些
11.PL/SQL下定义常量、变量、特殊类型的定义和使用、函数参数有哪几类、约束有哪几类、导入导出命令
变量类型:
v1char;
没有给出长度,所以只能保存一个字符,超过了则会出错
v2varchar2(10);
v2最多只能保存10个字符。
如果不写长度会出错,字符串长度限制在范围(1...32767)
v3number;
v3保存的数字范围非常大,几乎可以认为是没有限制的。
v4number(5);
v4最多能够保存5位整数。
如果有小数,Oracle会自动四舍五入。
v5number(5,2);
v5最多能够保存3位整数,2位小数。
如果小数位不止2位,则Oracle会自动四舍五入。
v6date;
可以直接保存sysdate的值;
如果是指定日期,则要用to_date来转化。
v7constantnumber:
=100;
定义v7为常量,定义时就必须给定值。
然后在程序中就不能再对v7进行赋值了
v8numberdefault10;
定义v8时就给定默认值10。
注意:
number类型变量的默认值不是0,而是NULL。
v9numbernotnull:
=1000.50;
定义v9变量不能为空。
三种参数模式
in是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。
out模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程或函数。
inout参数允许调用程序通过它向过程传递初始数据,并且可返回经过程修改后的数据
约束
A)非空约束
Createtablemember(Midnumber,Namevarchar2(50)notnull);
B)唯一键约束ConstraintUK_属性名unique(属性名)
Createtablemember(Midnumber,Namevarchar2(15)notnull,Emailvarchar2(15)unique);
C)※主键约束Constraintpk_midprimarykey(mid)
主键约束=非空约束+唯一约束
Createtablemember(Midnumberprimarykey,Namevarchar2(50)notnull);
D)检查约束
Createtablemember(
Midnumber,
Namevarchar2(50)notnull,
Sexvarchar2(10)notnull,
Agenumber(3),
Constraintpk_midprimarykey(mid),
Constraintck_sexcheck(sexin(‘男’,’女’)),
Constraintck_agecheck(agebetween0and250)
);
E)外键约束
Constraintfk_midforeignkey(mid)referencesmember(mid)
2)导入导出命令
数据库备份:
exp数据库恢复:
imp
12.游标的四个属性
%FOUND布尔型属性,当最近一次读记录时成功返回,则值为TRUE;
%NOTFOUND布尔型属性,与%FOUND相反;
%ISOPEN布尔型属性,当游标已打开时返回TRUE;
%ROWCOUNT数字型属性,返回已从游标中读取的记录数。
13.常见预定义异常有哪些、如何在程序中使用异常
错误号
异常错误信息名称
说明
ORA-0001
Dup_val_on_index
试图破坏一个唯一性限制
ORA-0051
Timeout-on-resource
在等待资源时发生超时
ORA-0061
Transaction-backed-out
由于发生死锁事务被撤消
ORA-1001
Invalid-CURSOR
试图使用一个无效的游标
ORA-1012
Not-logged-on
没有连接到ORACLE
ORA-1017
Login-denied
无效的用户名/口令
ORA-1403
No_data_found
SELECTINTO没有找到数据
ORA-1422
Too_many_rows
SELECTINTO返回多行
ORA-1476
Zero-divide
试图被零除
ORA-1722
Invalid-NUMBER
转换一个数字失败
ORA-6500
Storage-error
内存不够引发的内部错误
ORA-6501
Program-error
内部错误
ORA-6502
Value-error
转换或截断错误
ORA-6504
Rowtype-mismatch
缩主游标变量与PL/SQL变量有不兼容行类型
ORA-6511
CURSOR-already-OPEN
试图打开一个已存在的游标
异常处理部分一般放在PL/SQL程序体的后半部,结构为:
EXCEPTION
WHENfirst_exceptionTHEN<
codetohandlefirstexception>
WHENsecond_exceptionTHEN<
codetohandlesecondexception>
WHENOTHERSTHEN<
codetohandleothersexception>
END;
14.PL/SQL下权限的赋予与取消
Grant权限1,权限2……to用户名;
Grantconnect,resourcetotest;
◆Connect角色:
临时用户或不需要建表的用户会赋予connect角色,可以建表、视图、序列、同义词、session等。
◆Resource角色:
更可靠和正式的数据库用户可以授予resource角色。
为用户提供权限创建属于自己的表、视图、序列、同义词、过程、触发器等。
Revoke权限on用户.表名称from用户;
补充:
1、删除表数据Deletetabletable_name;
Truncatetabletable_name;
截断表(不可用回滚恢复)
2、闪回技术:
删除整个表Droptabletable_name;
闪回(恢复)Flashbacktabletable_nametobeforedrop;
彻底删除表(无法闪回)Droptabletable_namepurge;
3、用户管理
创建用户的语法:
Createuser用户名identifiedby密码;
修改用户密码:
Alteruser用户名identifiedby密码;
赋予用户权限Grantconnect,resourceto用户;
回收用户权限Revoke权限on用户.表名称from用户;
4、数据库备份与恢复
exp
数据库恢复:
数据库备份文件EXPDAT.DMP
编程题:
函数
触发器
基本查询语句
练习题
1.列出所有部门的详细信息和部门人数
SQL>
selectd.*,count(e.deptno)fromempe,deptd
2wheree.deptno(+)=d.deptno
3groupbyd.deptno,d.dname,d.loc;
2.列出所有员工的年工资、所在部门名称,按年薪升序排序
selecte.ename,e.sal*12,d.dnamefromempe,deptd
2wheree.deptno=d.deptno
3orderbye.sal*12;
3.查出每个员工的上级主管及所在部门名称,并要求这些主管的薪水超过3000
selecte.ename,m.enamemanager,d.dname,m.sal
2fromempe,empm,deptd
3wheree.empno=m.empnoandm.deptno=d.deptno
4andm.sal>
3000;
4.求出部门名称中带‘S’字符的部门员工的工资合计、部门人数。
selectd.dname,sum(e.sal),count(e.deptno)
2fromempe,deptd
3wheree.deptno(+)=d.deptno
4andd.dnamelike'
%S%'
5groupbyd.dname;
5.列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。
selectd.*,count(e.deptno),avg(e.sal)
4groupbyd.deptno,d.dname,d.loc;
6.列出在部门“SALES”工作的员工姓名、基本工资、雇佣日期、部门名称,假定不知道销售部的部门编号。
selecte.ename,e.sal,e.hiredate,d.dname
3wheree.deptno=d.deptnoandd.dname='
SALES'
;
7.列出公司各个工资等级雇员的数量、平均工资
selects.grade,s.losal,s.hisal,count(e.empno),avg(e.sal)
2fromempe,salgrades
3wheree.salbetweens.losalands.hisal
4groupbys.grade,s.losal,s.hisal;
8.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称
selecte.empno,e.ename,d.dnamefromempe,deptd
2wheresal>
all(selectsalfromempwheredeptno=30)
3ande.deptno=d.deptno;
9.列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。
selecte.empno,e.ename,d.dname,d.loc,p.count
2fromempe,empm,deptd,(
3selectdeptno,count(empno)count
4fromempgroupbydeptno)p
5wheree.mgr=m.empno
6ande.hiredate<
m.hiredate
7ande.deptno=d.deptno
8ande.deptno=p.deptno;
10.列出所有“clerk”的姓名及其部门名称、部门人数、工资等级。
selecte.ename,d.dname,e.job,p.count,s.grade
2fromempe,deptd,(
4fromempgroupbydeptno)p,salgrades
5wheree.job='
CLERK'
6ande.deptno=d.deptno
7andd.deptno=p.deptno
8ande.salbetweens.losalands.hisal;
11.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数及所在部门名称、位置、平均工资。
selectp.job,p.count,d.dname,a.avg
2fromdeptd,(
3selecte.jobjob,count(e.empno)count
4fromempegroupbye.job
5havingmin(e.sal)>
1500)p,empe,(
6selectdeptno,avg(sal)avg
7fromempgroupbydeptno)a
8wheree.deptno=d.deptno
9ande.job=p.job
10ande.deptno=a.deptno;
12.列出薪金高于公司平均薪金的所有员工、所在部门、上级领导、公司的工资等级。
selecte.ename,e.job,e.sal,d.dname,d.loc,m.ename,s.grade
2fromempe,deptd,empm,salgrades
3wheree.sal>
(
4selectavg(sal)fromemp)
5ande.deptno=d.deptno
6ande.mgr=m.empno
7ande.salbetweens.losalands.hisal;
13.列出与SCOTT从事相同工作的所有员工及部门名称、部门人数
selecte.ename,e.job,d.dname,p.count
5wheree.job=(
6selectjobfromempwhereename='
SCOTT'
)
7ande.deptno=d.deptnoandp.deptno=e.deptno;
14.列出在每个部门工作的员工数量、平均工资和平均服务期限
selectd.dname,count(e.empno)员工数量,
2avg(sal)平均工资,
3avg(months_between(sysdate,e.hiredate)/12)平均服务期限
4fromempe,deptd
5wheree.deptno
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle09 软件 复习 靠谱版