oracle复习整理.docx
- 文档编号:14703822
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:35
- 大小:1.46MB
oracle复习整理.docx
《oracle复习整理.docx》由会员分享,可在线阅读,更多相关《oracle复习整理.docx(35页珍藏版)》请在冰点文库上搜索。
oracle复习整理
第一章Oracle数据库介绍
1.Oracle产品版本。
PPTP4
●Oracle-甲骨文,两大类产品
服务器与工具
企业级应用软件
●Oracle数据库的版本
Oracle8i、Oracle9i、Oracle10g、Oracle11g
1)i表示支持互联网技术
2)g表示支持网格计算
2.Oracle的安装路径。
PPTP17
3.对于Oracle的应用软件开发,将用到的三个系统服务。
PPTP25,第二章PPTP57
●监听服务
命名规则:
Oracle
如:
OracleOraDb11g_home1TNSListener,Oracle数据库监听服务。
●Oracle数据库服务
命名规则:
OracleService<数据库实例名SID>
如:
数据库实例名是安装时设定的orcl
与SQLServer数据库很大的区别是:
Oracle的每个数据库就是一个实例,并且每个实例会对应安装一个数据库服务。
●控制台服务:
OracleDBConsole
4.Oracle提供的操作数据库的工具。
P23:
三种工具
(1)Oracle11g企业管理器(OracleEnterpriceManager)简称OEM,是一个基于Java的框架系统,该系统集成了多个组件,为用户提供了一个功能强大的图形用户界面。
(2)SQL*PLUS工具,用户可以定义和操作Oracle关系数据库中的数据。
(3)SQLDeveloper工具:
是一个图形化的,免费的集成开发环境,他被集成于Oracle11g中,以利于Oracle数据库的开发。
SQL*PLUS:
PPTP31-35
◆SQL*Plus是与Oracle交互的客户端工具
在SQL*Plus中可以运行SQL语句与PL/SQL语句块
◆1.进入与退出
进入:
开始菜单或在命令行方式下,输入命令:
sqlplus
退出:
exit命令
◆2.在SQL*PLUS中运行SQL语句
◆3.SQL*PLUS命令
◆4.设置SQL*PLUS
◆DOS环境下使用与编辑命令的基本方法:
可以用↑↓移动查找已执行的命令,找到后按回车键执行F3显示上一次运行的命令
◆输入SQL,以分号结束(SQL命令不区分大小写)
例:
Ø查询数据库实例名、主机名
SELECTinstance_name,host_nameFROMv$instance;
Ø查询数据库用户名、状态
SELECTusername,account_statusFROMdba_users;
Ø查看Oracle数据库及各组件的版本信息
◆创建快捷方式
命令路径:
SQL*PLUS的可执行文件:
sqlplus.exe
简化登录:
sqlplus用户名/口令
◆SQL*PLUS环境的简单设置
在快捷方式的属性窗口,有“选项”页、“字体”页、“布局”页和“颜色”页
◆用SQL*PLUS系统变量来设置P123
SQL*PLUS有一组系统变量,主要用于设置或定义SQL*PLUS的操作环境。
可以用SET命令来设置系统变量的值
通过SHOW命令来显示这些系统变量的值。
第二章数据库环境设置
1.什么是数据库实例?
实例与数据库之间的关系。
P21,PPTP3
P21:
实例的定义
数据库实例也称服务器,是指用来访问数据库文件集的存储结构,即系统全局区(SystemGlobalArea,SGA)及后台进程的集合。
PPTP3:
实例与数据库之间的关系
◆只能通过实例来访问数据库实例启动后,将与某个数据库关联(mount装载)
◆单实例:
一个实例只能访问一个数据库
◆一个数据库可以由多个实例同时访问
实时应用集群RAC,即多实例的系统
通过运行多个实例来共享一个物理数据库
2.什么是SGA?
SGA的重要区域及其作用。
P21
SGA三点,数据块缓存区SQL共享池的作用。
当激活Oracle数据库是,系统会先在内存内规划一个固定区域,用来存储每位使用者所需存取的数据以及Oracle运作时必备的系统信息。
这个区域就称为系统全局区(SGA)。
SGA包含数个重要区域,分别是数据块缓冲区,字典缓冲区,重做日志缓冲区和共享池。
数据块缓存区:
为SGA的主要成员,用来存放读取自数据文件的数据块复本,或是使用者曾经处理过的数据。
其用途在于有效减少存取数据时造成的磁盘读写动作,进而提升数据存取的效率。
字典缓存区:
数据库对象的信息存储在数据字典中,这些信息包括用户帐号,数据文件名,盘区位置,表说明和权限等。
重做日志缓冲区:
事务在被写入联机重做日志文件之前,先被记录在重做日志缓冲区。
SQL共享池:
SQL共享池存储数据字典缓存区及库缓存区,即对数据库进行操作的语句信息。
3.实例中后台进程的作用。
P22
维持数据库的物理结构和存储结构之间的关系。
4.数据库启动不同阶段的命令与完成的任务。
PPTP8-15
命令与任务:
PPTP10,P12
◆NOMOUNT(已启动)
已经在内存中构建了Oracle实例
◆命令:
STARTUPNOMOUNT
必须用SYS或SYSTEM以SYSDBA的身份连接到数据库
◆完成的任务
1)读取初始化参数文件
2)根据初始化参数文件中的设置,为SGA、PGA分配相应的空间
3)根据初始化参数文件启动相应的后台进程
4)打开跟踪文件、预警文件
⏹MOUNT(已装载)
已经在内存中构建了Oracle实例,并与数据库建立关联
⏹命令:
STARTUPMOUNT
必须用SYS或SYSTEM以SYSDBA的身份连接到数据库
⏹已完成的任务
指根据初始化参数文件中control_file的设置,找到控制文件,并从中获取数据库物理文件(即数据文件、重做日志文件)的位置和名称等关于数据库物理结构的信息,为下一步打开数据库做好准备。
◆OPEN(打开)
已经在内存中构建了Oracle实例,并加载了数据
◆命令:
STARTUP
必须用SYS或SYSTEM以SYSDBA的身份连接到数据库
◆完成的任务
打开所有处于联机状态的数据文件和重做日志文件,即加载数据,使数据库处于可用状态
用到的文件:
PPTP15
⏹三种启动模式
启动模式
说明
NOMOUNT
启动实例,不装载数据库
MOUNT
启动实例,装载数据库,不打开数据库
OPEN
启动实例,装载数据库,打开数据库
⏹用到的数据库文件
阶段
用到的文件
启动实例
初始化参数文件
装载数据库
控制文件
打开数据库
数据文件、重做日志文件
⏹三种模式的转换
可以用ALTERDATABASE命令提升到更高的启动模式,但不能降低到前面的启动模式
【STARTUP是SHUTDOWN下启动数据库的命令】
SHUTDOWN后再次进入SQL*PLUS的命令:
PPTP8
◆默认启动方式下的数据库状态:
OPEN
◆什么是关闭状态内存中不存在实例,所有与数据库相关的文件都已关闭
◆转换到关闭状态的命令:
SHUTDOWN
必须用SYS或SYSTEM以SYSDBA的身份连接到数据库,才能执行SHUTDOWN
◆SHUTDOWN后退出SQL*PLUS,再次启动进入SQL*PLUS
sqlplussystem/口令asSYSDBA
【SQL>CONN/asSYSDBA】
5.两种类型初始化参数文件的特点:
PPTP24
⏹SPFILE服务器参数文件(Oracle9i中引入)
1)类型:
二进制
2)特点:
只能由Oracle来维护,修改后立即生效,也称为动态参数
3)目录:
4)文件名:
SPFILE
⏹PFILE文本参数文件
1)类型:
文本格式
2)特点:
可以在Oracle之外手工修改,修改后要重启实例才能生效,也称为静态参数
3)目录:
4)文件名:
init
5)默认文件:
6.初始化参数文件的使用规则:
PPTP25
⏹使用STARTUP命令时,初始化参数文件的使用规则
1)服务器端的spfile
2)如果找不到,将使用服务器端的init
3)如果找不initSID.ora,将使用服务器端缺省的init.ora来启动例程。
⏹可以用ALTERSYSTEMSET命令修改SPFILE的初始化参数。
命令格式:
ALTERSYSTEMSETname=value
7.数据库物理文件的后缀与作用。
P19—21
四点:
每种物理文件的作用,控制文件的存储策略。
1)数据文件(.dbf):
是ORACLE 中最重要的物理文件,直接记录了用户数据
2)重做日志文件(.log):
当数据库中的数据遭到破坏时,可以用这些日志来恢复数据库。
主要是记录数据变化一过程.是记录一个延续变化过程.
3)控制文件(.ctl):
用于记录与描述数据库的外部结构。
一记录着物理磁盘上信息.二记录Oracle数据库本身逻辑结构.三:
起到一个全局监管作用
4)归档日志文件(.dbf):
保证数据的安全性
8.表空间与数据文件。
P17,PPTP37
◆表空间可以包含一个或多个数据文件
◆表空间某一时刻只能属于一个数据库
◆数据文件只能属于一个表空间和一个数据库
9.表空间的创建与删除命令。
P53
第三章用户权限管理
1.由CREATEUSER指定的用户基本属性。
P239,PPTP4
能够识别由CREATEUSER,ALTERUSER指定的用户基本属性。
⏹身份认证
1)认证方式、口令及对口令的管理
2)概要文件(Profile)
限制用户对系统和数据库资源的使用、管理用户的口令
⏹存储方式
1)默认表空间和临时表空间
A每个用户都有一个默认表空间,说明该用户创建的数据库对象的存储位置。
如果没有为用户指定默认表空间,将使用USERS表空间。
B每个用户还要指定一个临时表空间(默认为TEMP)
2)空间配额
指定用户在表空间中使用的存储容量
◆状态是否锁定
用数据字典查询用户的基本属性
2.正确理解删除用户的命令。
P241,PPTP7例
如果使用CASCADE选项,则删除用户时将删除该用户模式中的所有对象。
如果用户拥有对象,则删除用户若不使用cascade选项系统将给出错误信息。
3.三种类型的系统权限。
P242
能够识别系统权限,了解ANY权限
1)数据库维护权限
2)数据库模式对象权限
3)ANY权限
4.Oracle中Schema的基本概念。
PPTP16
方案
◆是schema的翻译,也常译为模式、架构,它是Oracle中一个重要概念
◆方案是对象的集合
◆每个用户对应一个方案
1)创建用户时,就创建了一个与该用户同名的方案。
2)该用户所创建的对象都位于此方案中。
3)每个用户只能与一个方案关联
◆其他方案的对象
当有权限访问其他方案的对象时,需加上方案名前缀
5.对象权限的分类。
P258
ØReferences和表里的8中权限
6.系统权限的管理选项与对象权限的授权选项。
传递的含义,回收时的不同:
PPTP22—28
⏹当DBA将系统权限授予用户xiaohong时,如果跟上WITHADMINOPTION选项,则xiaohong除了从DBA处获得系统权限外,还具有了向其他用户转授此系统权限的能力。
⏹当用户将对象权限授予用户xiaohong时,如果跟上WITHGRANTOPTION选项,则xiaohong除了从获得对象权限外,还具有了向其他用户转授此对象权限的能力。
◆相应的传递权限同时被收回
◆对于已经经过传递并获得权限的用户
系统权限:
不受影响
对象权限:
一并收回
◆在授权时,系统权限的管理选项与对象权限的授权选项是一样的
◆在回收时,可以看到系统权限的管理选项与对象权限的授权选项的不同
7.什么是profile文件?
PPTP45
⏹是一些参数设置的集合,并不是一个物理文件限制用户对系统资源的使用
管理用户的口令
⏹profile文件与用户
1.每个数据库用户必须指定一个profile文件
2.但一个profile文件可以为多个用户所用
⏹默认profile文件:
DEFAULT
1.如果没有为用户指定profile文件,则使用默认的profile文件
2.如果在用户的profile文件中没有指定某些参数,则使用默认profile的设置
8.与profile有关的数据字典。
PPTP46—47
◆每个用户的profile
◆查看profile的内容
9.Profile中基本的口令参数。
P259
第四章数据泵的使用
1.什么是数据泵?
PPTP3
◆是Oracle10g引入的全新的、用于快速迁移数据的方式。
◆数据泵是位于服务器端的命令行工具,在bin文件夹
1)导入的工具名称:
impdp
2)导出的工具名称:
expdp
◆导出
根据需要将数据库中的对象生成特定格式的文件(也称dump文件、转储文件,默认后缀dmp),存放在指定的目录中。
◆导入
从指定的目录中,读取dump文件,将数据库对象导入到目标数据库中(实际上是重新创建)。
2.什么是目录对象?
PPTP4
⏹目录对象是数据库对象之一,它指向服务器上的某个文件路径。
可以说是一个命名的路径。
⏹为了管理方便,数据泵将不会直接使用文件路径的硬编码,而是使用目录对象
⏹目录对象只能被sys用户所拥有。
3.正确理解导入和导出命令的基本用法。
PPTP5,P8
◆把scott的emp表用数据泵导出
◆用数据泵把导出的结果导入变成xiaodong的emp表
以scott用户连接数据库,读取emp表,导出到testDir目录中的scott_emp.dmp文件
从testDir目录中的scott_emp.dmp文件读取scoot.emp表的相关内容,以xiaodong用户连接数据库,在xiaodong的schema中重建与emp表相关的对象
第五章数据表的管理
1.Oracle日期数据的使用。
PPTP9—12
◆oracle中默认的日期格式‘dd-mon-yy’
◆修改日期格式
ALTERSESSIONSETNLS_DATE_FORMAT='yyyy-mm-dd';
【提示】只对当前对话有效
2.创建表时应遵循什么规则来设计列的顺序。
PPTP17
◆从列的重要性考虑:
主键、非空列、经常访问的在前
◆从列的取值考虑:
含有较多null值的列在后
◆从列的长度考虑:
短的在前
3.复制表格的基本用法。
PPTP18
CREATETABLE<表名>[(列名表)]AS子查询
1)列的定义只能指定列名、默认性和约束
2)只有表结构不包含数据:
让子查询没有数据
3)子查询中的计算列必须要有一个合法的名称
4)只有NOTNULL约束可以继承过来,其他约束都必须重建
4.正确运用修改表结构的命令。
PPTP19—P22
⏹语法格式P76
⏹当表中有数据时,增加非空列
1)先增可以为空的列,赋值后再改
2)增加非空列的同时指定默认值
⏹修改列
1)减少列的长度,已有数据中该列的长度应小于新长度
2)对不兼容的类型,只有数据全为null,才能修改数据类型
◆删除列
1)默认删除该列的所有约束
2)删除的同时释放存储空间
◆UNUSED列
1)用UNUSED对列做上删除标记,等系统较为空闲时,再进行真正的删除。
2)做删除标记
ALTERTABLE表名SETUNUSEDCOLUMN列名;
3)删除具有删除标记的列
ALTERTABLE表名DROPUNUSEDCOLUMN;
4)说明:
做上删除标记的列,在SELECT*时不显示
5.数据完整性约束。
P135,4点
1)域完整性(列完整性)
2)实体完整性(行完整性:
主键,UNIQUE约束,PRIMARYKEY约束)
3)参照完整性(引用完整性:
外键与主键之间的对应关系实现)
4)自定义完整性
6.熟练掌握创建数据完整性约束的SQL语句。
第六章数据的维护
1.序列的使用。
PPTP6
◆序列(Sequence)
序列是一个数据库对象,需要先创建再使用
利用序列自动生成一组递增或递减的整数
◆语法P334、P335、P336
◆使用的方法
NextVal:
第一次调用返回初值,随后将按步长产生一个整数
CurrVal:
当前的值,必须调用NextVal初始化后才能使用CurrVal
◆可以创建多个序列,每个序列将各自独立
2.删除数据。
PPTP14
DELETE删除TRUNCATE删除DROP删除
删除策略
3.MERGE语句的作用。
P85
第七章查询与视图
1.dual的作用。
虚拟表,主要是为了构造一个合法的select语句,用于显示系统变量、常量、表达式等与表无关的数据
2.给列定义名称的三种方法。
PPTP3
◆AS:
列名AS名称
◆空格:
列名名称
◆双引号:
列名“名称”,如果名称中有空格,则必须使用双引号。
3.Oracle外连接的几种表示。
P104,PPTP12
◆内连接:
等值
◆左外连接
1)Oracle:
条件右侧用(+)标识,WHEREa.sid=b.sid(+)
2)包含左侧所有数据
3)右侧没有的数据,关联列全为null
◆右外连接
Oracle:
条件左侧用(+)标识,WHEREa.sid(+)=b.sid
4.什么是可更新视图?
可更新视图的条件。
P116
通过更新视图数据可以修改基表数据。
1)没有使用连接函数,集合运算函数和组函数
2)创建视图的SELECT语句中没有聚合函数且没有GROUPBY,ONNECTBY,STARTWITH子句及DISTINCT关键字
3)创建视图的SELECT语句中不包含从基表列通过计算所得的列
4)创建视图没有包含只读属性
第八章PL/SQL语言
1.什么是PL/SQL语言?
P149
PL/SQL语言实现了将过程结构与OracleSQL的无缝集成,从而为用户提供了一种功能强大的结构化程序设计语言。
2.变量的神明与赋值。
PPTP4
⏹声明常量:
常量名constant数据类型[:
=初值]
⏹声明变量:
变量名数据类型[:
=初值]
⏹变量初值:
系统默认变量的初值是null
⏹赋值语句
PL/SQL中的赋值号是“:
=”
SELECT……INTO(从数据表中获取数据)
⏹用%type声明与表匹配的数据类型
nameuser.name%type
3.异常处理语句。
语法格式:
P171,WHEN字句:
P172,OTHERS:
P172
SQLCODE与SQLERRM:
P173
◆EXCEPTION
WHEN异常名THEN
…
WHENOTHERSTEHN
…
END
◆WHEN子句:
可以同时使用多个WHEN子句捕捉几个异常情况,而且可以结合系统预定义的异常处理来操作。
◆OTHERS子句:
总是位于EXCEPTION语句的最后。
OTHERS异常处理可以借助两个函数来说明捕捉到的异常的类型,这两个函数为SQLCODE和SQLERRM。
SQLCODE:
用来说明当前错误的代码,如果是用户自定义的异常,则返回1.
SQLERRM:
返回的是当前错误的信息。
4.两种自定义异常的使用。
pptP15-16,审核采购单例(pptP30)
◆RAISE
1)定义异常对象
2)用RAISE抛出异常对象
3)可以用自定义的异常对象名捕获RAISE抛出的异常,但是没有对应的SQLCODE和SQLERRM。
◆RAISE_APPLICATION_ERROR
1)不需要自定义异常对象,在需要时直接抛出异常
2)Oracle自定义的错误代码必须在指定的范围:
-20000~-20999,否则提示错误
3)可以用others捕获RAISE_APPLICATION_ERROR抛出的异常,并且有SQLCODE和SQLERRM。
5.函数的应用。
创建函数的语法:
P178,创建的规则:
PPTP20
◆函数头
1)函数参数的类型
2)参数只需给出类型,不需指定长度
3)返回值只需给出类型,不需长度
4)输入参数不能做为赋值目标
5)如果没有参数,函数名后不需括号
◆函数体
(1)必须要有return语句,为函数提供返回值
(2)不需要再标注DECLARE来说明声明部分
(3)在函数中不能使用DML语句
函数的调用:
P180
Ø无论在命令行还是在程序语句中,函数都可以通过函数名称直接在表达式中调用。
Ø语法格式:
<变量名>:
=<函数名>[(<实参1>,<实参2>,…)]
函数例:
计算商品单价
6.存储过程
创建存储过程的语法:
P206,创建的规则:
PPTP43
⏹存储过程的参数是可选(没有参数时不需一对括号)
⏹不需要再标注DECLARE来说明声明部分
⏹参数只需给出类型,不需指定长度
⏹可以使用DML语句
⏹不能直接使用SELECT
存储过程的调用:
PPTP45
(1)执行命令:
EXEC
(2)在PL/SQL块中调用:
调用语句(不用EXEC)
存储过程的参数:
PPTP46
◆调用存储过程时,参数的三种用法
按位置
按名称
混合使用
◆参数的默认值
如果为参数定义了默认值,调用时可以不需为该参数提供实参
◆OUT参数
调用前,应该先定义OUT参数对应的实参变量
修改采购单例(PPTP24)
7.游标的概念。
什么是游标:
PPTP53,
●PL/SQL如何处理多行数据(结果集)
Ø用游标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 复习 整理