Oracle数据库考试考点.docx
- 文档编号:3680952
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:26
- 大小:44.32KB
Oracle数据库考试考点.docx
《Oracle数据库考试考点.docx》由会员分享,可在线阅读,更多相关《Oracle数据库考试考点.docx(26页珍藏版)》请在冰豆网上搜索。
Oracle数据库考试考点
1、Oracle启动(STARTUP)类型,Oracle打开(OPEN)类型,类型间的区别。
Oracle启动(STARTUP)类型:
1.启动事例不装入数据库
可以不装入数据库而启动事例,一般是在数据库才创建时才可以这样做:
STARTUPNOMOUNT
2.启动事例并装入数据库
用户可以启动事例而并装入数据库但不打开数据库,允许用户执行特定的维护操作。
例如:
l重命名数据文件;
l添加、撤消或重命名重做日志文件;
l启动和禁止重做日志归档;
l执行全部的数据库恢复。
STARTUPMOUNT
3.启动事例装入并打开数据库
正常情况是一个事例被启动,数据库装入并打开。
这种模式允许任何有效用户连接到数据库并执行典型的数据库访问操作。
STARTUP
4.限制在启动时对数据库的访问
用户可以在严格的模式下启动事例并装入数据库,这样的模式只允许DBA做以下的工作:
l执行结构维护,如重建索引;
l执行数据库文件的导入导出;
l执行数据装载;
l临时阻止典型用户使用数据
STARTUPRESTRICT
5.强制事例启动
可以用下面命令来强行启动事例,如果一个事例正在启动,则STARTUPFORCE重新启动。
STARTUPFORCE
6.启动一个事例,装入数据库,并启动全部的介质恢复
如果用户要求介质恢复,可以启动一个事例,装入指向事例的数据库,并自动地启动恢复程序。
STARTUPOPENRECOVER;
7.启动独占或并行模式
如果用户的ORACLE服务器允许多个事例来并发的访问一个数据库(Oracle并行服务器选项),应选择独占或并行装入数据库。
Oracle打开(OPEN)类型:
打开数据库
Ø启动例程
读取参数文件initsid.ora
分配SGA
启动后台进程
打开ALERT文件及跟踪文件
Ø装载数据库
例如在以下任务中必须装载数据库但不要打开数据库
命名数据文件
启用和禁用重做日志归档选项
执行完全数据库恢复
装载数据库包括以下任务
使数据库与以前启动的例程关联
定位并打开参数文件中指定的控制文件
读取控制文件以获取数据文件和重做日志文件的名称和状态,但是在此时不进行数据文件和联机重做日志文件是否存在的检查
Ø打开数据库
打开联机数据文件
打开联机重做日志文件
在此最后阶段中,Oracle服务器验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性。
如果需要,系统监视器后台进程(SMON)启动例程恢复,前滚以恢复尚未记录在数据文件中但已记录在联机重做日志中的数据,打开数据库而不是等待回退全部事务后才使数据库可用未被未恢复事务锁定的数据立即可用,在SMON和各个服务器进程访问锁定的数据时,回退它们未提交的事务
2、Oracle关闭(SHUTDOWN)类型,类型间的区别。
关闭数据库
Ø关闭数据库
Oracle服务器将缓冲区高速缓存中的更改及重做日志缓冲区高速缓存中的条目写入数据文件和联机重做日志文件
Oracle服务器关闭所有联机数据文件和联机重做日志文件
Ø卸装数据库
Oracle服务器关闭其控制文件
Ø关闭例程
ALERT文件和跟踪文件将关闭,SGA被回收并且后台进程被终止
Ø命令:
shutdown
SHUTDOWN[NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT]
关闭模式AITN
允许新连接xxxx
等到当前会话结束xxx0
等到当前事务结束xx00
执行检查点并关闭文件x000
NORMAL(缺省方式):
不允许新的连接
Oracle服务器等待所有用户断开后才完成关闭
Oracle在关闭例程前将关闭并卸装数据库
下一次启动时将不要求例程恢复
TRANSACTIONAL---防止客户丢失工作
没有客户可以在此特定例程上启动新事务
当客户结束正在进行的事务时断开客户
当所有事务都已完成时会立即关闭
下一次启动将不要求例程恢复
IMMEDIATE
由Oracle处理的当前SQL语句未完成
Oracle服务器不等待当前连接数据库的用户断开
Oracle回退活动的事务并断开所有连接的用户
Oracle在关闭例程前将关闭并卸装数据库
下一次启动将不要求例程恢复
ABORT
Oracle服务器所处理的当前SQL语句被立即终止
Oracle不等待当前连接数据库的用户断开
未提交的事务不回退
在不关闭文件的情况下例程被终止
下一次启动将要求例程恢复
ØNT上通过注册表关数据库
停止OracleServiceSID服务,也终止OracleStartSID,并执行orashut.bat脚本
或:
停止OracleServiceSID服务,并将注册表中的ORA_SID_SHUTDOWN参数设置为True,可以关闭数据库
3、Oracle初始化配置文件(PFILE,SPFILE)的作用,两种配置文件的区别。
这两种参数文件都是用来存储参数配置以供oracle读取的,但也有不同点,注意以下几点:
1)pfile是文本文件,spfile是二进制文件;
2)对于参数的配置,pfile可以直接以文本编辑器打开手工配置,而spfile不行,必须在数据库启动后,通过sql命令进行在线修改,当然spfile也可用文本编辑器打开,把里面文本的内容复制出来放在pfile中,但决对不可以直接修改,直接修改后会使文件无法读取。
3)pfile配置改变后,要使用其生效,必须重新启动数据库,spfile的配置生效时限和作用域可以由修改参数的sql命令指定,可以立即生效,也可以不立即生效。
当然有些参数的修改必须重启数据库才能生效;
4)可以用sql命令由pfile创建spfile,也可以由spfile创建pfile;
5)如果是手动创建数据库而不是通过DBCA,则开始创建数据库时,你只能定义pfile。
因为它是文本格式的;
现在一般普通生产库都采用spfile启动数据库,pfile确实没有用的理由了,感觉只有以下情况才会使用pfile:
1)入门学习时,为了理解初始化参数
2)创建数据库时,因为这时还没spfile
3)恢复数据库时
4)采用RAC的生产库中如果要共用spfile,可以建一个初始的pfile,然后在pfile指定spfile为共享设备文件
4、Oracle控制文件(CONTROLFILE)的作用。
在ORACLE数据库中,控制文件记录着数据库的物理结构和事务控制的值(SCN,CHECKPOINT等),以及一些可以被改写的信息(如备份的元数据).
而归档日志记录着数据库事务操作.
在恢复的过程中,这两个文件分别起着不同的作用.
如果仅仅是实例恢复.则不需要用到归档日志,但要用到控制文件,重做日志,UNDO表空间中的数据.
如果是介质恢复,则会用到控制文件,归档日志,重做日志,UNDO表间中的数据(如果在恢复过程中所需要的归档日志都存在的话)
如果仅有控制文件,而没有归档日志,则介质恢复是不会成功的,或都说是不完全的.它只能将数据库恢复到上一次可用的一致备份点.
如果仅有归档日志,而没有控制文件.则通过重建控制文件,可以完全恢复数据库.
5、OracleSGA的构成,OracleSGA和PGA的区别。
SGA由多个部分组成:
1,固定SGA(FixedSGA)
2,块缓冲区(Dbcache)
3,重做日志缓冲区(Redologbuffer)
4,Java池(Javapool)
5,大池(Largepool)
6,共享池(Sharedpool)
7,流池(Streampool)
OracleSGA和PGA的区别:
SGA是系统全局区
PGA是进程全局区,也有叫用户全局区
oracle在跑,SGA就是oracle的内存结构,比如放databuf,sharepool,oracle启动时分配,oracle关闭时回收.
PGA是有用户连oracle时,oracle给开辟的一个内存区,只供该用户使用,该用户断开后
oracle就会将这块内存回收
6、Oracle归档模式(ARCHIVEDLOGGING)的作用(或优点)。
而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。
7、Oracle表空间(TABLESPACE)的创建,分区(EXTENT)的分配方式、段(SEGMENT)的管理方式。
分区(EXTENT)的分配方式:
uniform管理方式下,表空间的extent分配原则是:
initial,next值固定为uniform指定值,min,max,pct参数自动设置默认值(分别为1,2^31,0);表空间中新建表时,extent分配情况按表空间所定参数进行,并以固定不变的uniform值进行extent扩充,而建表时指定上述各项storage参数无效(注意initial_extent)。
autoallocate管理方式下,表空间的extent分配原则是:
initial,min,max自动取默认值(64k,1,2^31),next,pct参数无效;表空间中新建表时,extent分配情况按表空间所定参数进行,并以下规则进行extent扩充,而建表是指定上述各项storge参数无效。
8、Oracle撤销表空间(UNDOTABLESPACE)和临时表空间(TEMPORARYTABLESPACE)的作用,分别存放的是何种数据。
撤销表空间(undotablespace)是一个特殊的表空间(tablespace),只用于存
储撤销信息(undoinformation)。
Oracle临时表空间主要用来做查询和存放一些缓冲区数据。
临时表空间消耗的主要原因是需要对查询的中间结果进行排序。
9、Oracle联机日志文件(REDOLOG)的作用,存放的内容。
Oracle里联机日志文件(Onlineredologfile)是oracle运行的核心,联机日志文件关系到整个oracle数据库的运行,很好的设置联机日志文件,讲有助于oracle的健康运行,相反联机日志文件的损坏,oracle也就面临着崩溃的危险.
10、Oracle告警日志文件(ALERT.LOG)文件的作用。
记录系统日志,比如日志切换的记录,修改系统参数等系统事件。
位置在参数background_dump_dest指定的路径下,一般为:
%ORACLE_BASE%\admin\%ORACLE_SID%\bdump
11、Oracle检测块讹误的命令DBVERIFY。
DBVERIFY工具的主要目的是为了检查数据文件的物理结构,包括数据文件是否损坏,是否存在逻辑坏块,以及数据文件中包含何种类型的数据。
DBVERIFY工具可以验证ONLINE或OFFLINE的数据文件。
不管数据库是否打开,都可以访问数据文件。
12、Oracle权限管理GRANT、REVOKE的使用。
注意系统权限WITHADMINOPTION子句、对象权限WITHGRANTOPTION子句。
一、权限是用户对一项功能的执行权力。
在Oracle中,根据系统管理方式不同,将权限分为系统权限与实体权限两类。
系统权限是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作。
实体权限是指用户对具体的模式实体(schema)所拥有的权限。
这样讲可以有些模糊。
举个例子来说:
selectanytable是系统权限,它表示可以查看任何表。
而selectontable1是实体权限,表示对表table1的查询权限。
二、见下面的表
三、系统权限授权命令的使用
语法:
GRANT权限名TO 用户|角色|PUBLIC
其中,PUBLIC表示将权限赋给数据库中所有的用户
例:
赋给用户USER1权限CREATETABLE的授权命令如下:
SQL>GRANTCREATETABLETOUSER1;
授权语句还可以增加WITHADMINOPTION选项,表示被授权的用户可以将它所得权限赋给其它用户,如:
SQL>GRANTCREATETABLE,CREATEVIEWTOUSER1,USER2WITHADMINOPTION;
若要了解各用户所拥有的系统权限,可以查询数据字典USER_SYS_PRIVS、ROLE_SYS_PRIVS。
若要回收权限,则使用REVOKE命令,如:
SQL>REVOKECREATETABLEFROMUSER1;
四、实体权限管理
实体权限是指某一用户对某一特定schema对象的操作权限。
1.实体权限分类
不同的实体类型有不同的实体权限,如下表
2.实体权限的授命令
语法如下:
GRANT实体权限名|ALLTO用户|角色|PUBLIC
其中,ALL表示实体的所有实体权限。
如:
SQL>GRANTSELECTONBOOKS_QUTHORSTOUSER1;
以下语句用来查询表的实体权限的授权信息:
SQL>SELECT*FROMUSER_TAB_PRIVES
若要回收实体权限,使用REVOKE,其语法如下:
REVOKE实体权限名|ALLON实体名FROM用户名|角色名|PUBLIC。
13、SQL执行计划的查看方法、执行顺序。
一个SQL会包含很多个子句,在写SQL时,理解SQL个部分子句执行的优先级非常重要,否则可能会导致简单的SQL变成多个嵌套的SQL,更可能导致错误的返回结果。
下面通过一个例子说明各子句的优先级:
selecta,b,count(sum(c))over()
fromt
wheret.d=1
startwitheisnotnullconnectbypriorf=g
groupbya,b
havingsum(c)>100
orderby3;
这个SQL包含:
1.SELECT子句
2.groupby子句
3.分析函数
4.from子句
5.where子句
6.startwith...connectby子句
7.having子句
8.orderby子句
对于FROM子句,可以简单理解为表或者扫描扫描(如果涉及到多表关联就复杂了,这里不讨论);
对于SELECT子句,从执行计划看是在最后执行的,我把它理解为返回数据给用户,而不是读取数据,读取数据是在FROM这个步骤执行的,所以我认为顺序是:
4->6->5->2->7->3->8->1
from子句->startwith...connectby子句->where子句->groupby子句->having子句->分析函数->orderby子句->SELECT子句
要注意,以上的顺序只代表一般情况,不一定所有的情况都按照这个执行顺序,尤其是同时有groupby和orderby时。
例如:
selecta,b,count(sum(c))over()
fromt
wheret.d=1
startwitheisnotnullconnectbypriorf=g
groupbya,b
havingsum(c)>100
orderbya;
这个SQL的执行顺序就有可能是:
4->6->5->2+8->7->3->1。
实际执行顺序以执行计划为准,但是这里特别要记住的是不管SQL怎么样,以下部分的优先级是确定的:
startwith...connectby子句->where子句->groupby子句->having子句->分析函数
14、Oracle收集数据对象统计量信息(STATISTICS)的方法。
统计信息包括下面几类:
表统计:
包括记录数、block数和记录平均长度。
列统计:
列中不同值的数量(NVD)、空值的数量和数据分布(HISTOGRAM)。
索引统计:
索引叶块的数量、索引的层数和聚集因子(CLUSTERINGFACTOR)。
系统统计:
I/O性能和利用率和CPU性能和利用率。
生成统计信息:
统计信息生成技术包括三种:
基于数据采样的估计方式;
精确计算方式;
用户自定义的统计信息收集方式;
15、Oracle创建公共同义词(PUBLICSYNONYM)的语法。
对另一个数据对象而言同义词是一个别名。
public同义词是针对所有用户的,相对而言private同义词则只针对对象拥有者或被授予权限的账户。
在本地数据库中同义词可以表示表、视图、序列、程序、函数或包等数据对象,也可以通过链接表示另一个数据库的对象。
创建同义词语法如下:
显示代码打印
1CREATE[PUBLIC]SYNONYMsynonym_nameFOR[schema.]object[@db_link];
例:
显示代码打印
1CREATEPUBLICSYNONYMpoliciesFORpoladm.policies@prod;
2
3CREATESYNONYMplan_tableFORsystem.plan_table;
问题描述:
有两个oralce实例SID分别为AB
A中a用户下含有表objects
B中有b用户
使在B中用b用户登录后执行
select*fromobjects
能显示出A中a.objects的全部内容
16、OracleDML的种类。
DML
DataManipulationLanguage(DML)statementsareusedformanagingdatawithinschemaobjects.Someexamples:
SELECT-retrievedatafromtheadatabase
INSERT-insertdataintoatable
UPDATE-updatesexistingdatawithinatable
DELETE-deletesallrecordsfromatable,thespacefortherecordsremain
MERGE-UPSERToperation(insertorupdate)
CALL-callaPL/SQLorJavasubprogram
EXPLAINPLAN-explainaccesspathtodata
LOCKTABLE-controlconcurrency
17、OracleDB_BLOCK_SIZE在创建数据库之后不可修改。
DB_BLOCK_SIZE
数据库块(BLOCK)是Oracle用来管理存储空间的最小单元,也被称为Oracle块,一个Oracle块可以由一个或多个操作系统快组成。
Oracle块的大小在创建Oracle时由DB_BLOCK_SIZE指定,并且在Oracle建立后不能更改。
DB_BLOCK_SIZE指定的值为标准Oracle块的大小,SYSTEM表空间及其其它表空间的默认地使用标准Oracle块。
标准Oracle块必须是操作系统的整数倍,通常是4KB或8KB,随着数据库块大小的增加,数据库对内存(SGA区)的需求也会随着增加。
注:
在Oracle9i中,最多支持使用四种不同大小的非标准Oracle块,可以是2KB、4KB、8KB、16KB或32KB中的任意四个。
18、Oracle行迁移和行链接的区别,什么时候发生这种情况。
行链接产生在第一次插入数据的时候如果一个block不能存放一行记录的情况下。
这种情况下,Oracle将使用链接一个或者多个在这个段中保留的block存储这一行记录,行链接比较容易发生在比较大的行上,例如行上有LONG、LONGRAW、LOB等数据类型的字段,这种时候行链接是不可避免的会产生的。
当一行记录初始插入的时候事可以存储在一个block中的,由于更新操作导致行长增加了,而block的自由空间已经完全满了,这个时候就产生了行迁移。
在这种情况下,Oracle将会迁移整行数据到一个新的block中(假设一个block中可以存储下整行数据),Oracle会保留被迁移行的原始指针指向新的存放行数据的block,这就意味着被迁移行的ROWID是不会改变的。
19、一些常用UNIX(LINUX)的命令:
Pwd显示当前目录
Ls列出目录
Tar
Unix/Linux命令参考.com
文件命令
ls–列出目录
ls-al–使用格式化列出隐藏文件
cddir-更改目录到dir
cd–更改到home目录
pwd–显示当前目录
mkdirdir–创建目录dir
rmfile–删除file
rm-rdir–删除目录dir
rm-ffile–强制删除file
rm-rfdir–强制删除目录dir*
cpfile1file2–将file1复制到file2
cp-rdir1dir2–将dir1复制到dir2;如果dir2不存
在则创建它
mvfile1file2–将file1重命名或移动到file2;如果
file2是一个存在的目录则将file1移动到目录file2中
ln-sfilelink–创建file的符号连接link
touchfile–创建file
cat>file–将标准输入添加到file
morefile–查看file的内容
headfile–查看file的前10行
tailfile–查看file的后10行
tail-ffile–从后10行开始查看file的内容
进程管理
ps–显示当前的活动进程
top–显示所有正在运行的进程
killpid–杀掉进程idpid
killallproc–杀掉所有名为proc的进程*
bg–列出已停止或后台的作业
fg–将最近的作业带到前台
fgn–将作业n带到前台
文件权限
chmodoctalfile–更改file的权限
●4–读(r)
●2–写(w)
●1–执行(x)
示例:
chmod777–为所有用户添加读、写、执行权限
chmod755–为所有者添加rwx权限,为组和其他用户添加
rx权限
更多选项参阅manchmod.
SSH
sshuser@host–以user用户身份连接到host
ssh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 考试 考点