Oracle复习大纲扩展版.docx

上传人:b****8 文档编号:28676011 上传时间:2023-07-19 格式:DOCX 页数:31 大小:97.48KB
下载 相关 举报
Oracle复习大纲扩展版.docx_第1页
第1页 / 共31页
Oracle复习大纲扩展版.docx_第2页
第2页 / 共31页
Oracle复习大纲扩展版.docx_第3页
第3页 / 共31页
Oracle复习大纲扩展版.docx_第4页
第4页 / 共31页
Oracle复习大纲扩展版.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Oracle复习大纲扩展版.docx

《Oracle复习大纲扩展版.docx》由会员分享,可在线阅读,更多相关《Oracle复习大纲扩展版.docx(31页珍藏版)》请在冰豆网上搜索。

Oracle复习大纲扩展版.docx

Oracle复习大纲扩展版

#Oracle考前突击小分队@RZZ

0.视图的概念及其操作

-createview(orreplace)

-withcheckoption

1.Oracle体系结构(OracleArchitectureComponents)

*OraclePrimaryComponents(主要组件)

关于Session&connection的相关信息,可以参看1-7

OracleServer:

包含一些文件、进程和内存结构,但在处理一个SQL语句时不是所有的都会被使用。

OracleServer由一个OracleInstance(实例)和Oracledatabase(数据库)组成。

-内存结构:

Instance

OracleInstance:

组合了SGA、后台进程和内存结构来管理一个database。

每次一个instance启动,一个SystemGlobalArea(SGA)会被分配,若干后台进程会被调用。

一个实例一次只能打开和使用一个数据库。

内存结构分两部分:

n SystemGlobalArea(SGA):

实例启动的时候分配的实例的功能组件。

n ProgramGlobalArea(PGA):

serverprocess(服务进程)开始的时候分配,是用于给一个单一服务进程(Serverprocess)或单一后台进程维护数据和控制信息

*SGA:

sharedpool(librarycache,datadict.cache),databasebuffercache,redologbuffercache.

SGA:

用来储存database信息,并由数据库进程共享。

它包含了数据和控制信息。

它被分配在Oracle所在的虚拟内存中。

SGA包括如下部分:

SharedPool:

用来存储最近的执行的SQL语句和最近使用的数据定义。

它包括两个关键的性能相关(performance-related)的内存结构:

Librarycache:

保存最近的SQL&PL/SQL语句。

Datadictionarycache:

最近使用的定义(definitions)集合,包括最近的databasefiles,tables,indexes等等的信息。

Databasebuffercache:

保存重新取回的(retrieved)数据块(datablocks)

Redologbuffer:

纪录database数据块的所有改变。

OtherStructures:

e.g.lockandlatchmanagement[不考]

Oracle进程分为:

Userprocess:

当一个数据库用户请求连接的时候启动;用来请求一个向Server的交互操作(interaction),进程本身不直接与server交互。

serverprocess:

连接到一个实例并当用户建立一个会话(Session)的时候开始,直接与Server连接,完成生成和返回结果的功能,可以是专门的/共享的server;

*BackgroundProcesses:

pmon,smon,dbwr,lgwr,ckpt,others.及其作用(1-29)

backgroundprocess:

当一个Oracleinstance启动的时候可用。

物理和内存结构之间的关系是通过后台进程维护和执行的。

托管的(mandatory)后台进程有:

DBWn,PMON,CKPT,LGWR,SMON,RECO

DBWn(DatabaseWriter)他将脏的缓存写入datafile中,来确保有充足的空闲缓存。

当以下事件之一发生的时候,触发写事件:

    增加的或一般的检查点

    脏缓存达到极限值

    无空闲缓存

    超时发生

    RAC(realapplicationclusters)ping请求

    表空间离线(Tablespaceoffline)

    表空间只读

    表执行了DROP/Truncate

LGWR(LogWriter)当如下事件发生,LGWR会按顺序(sequential)从redologbuffer向redologfile中写

    当一个事务(transaction)提交

    当redologbuffercache1/3满的时候(one-thirdfull)

    当有超过1M字节的改变记录在redologbuffercache.

    当DBWn的写操作通过缓存修改了datafile.

    每隔三秒

SystemMonitor(SMON)实例发生错误后,SMON将在重启时自动恢复实例。

包括以下三步:

    1.重新执行(Rollingforwardto)恢复那些记录在onlineredolog却没有记录在datafile中的数据。

    2.打开一个database使得用户可以登录

    3.回滚(Rollingback)未提交的事务

PMON(ProcessMonitor)在错误进程滞后清理:

(cleansupafterfailed)processesby:

    1.回滚用户的当前事务

    2.释放所有当前锁定的表和行(heldtable&rowlocks)

3.重起死掉的dispatcher

User&serverprocess:

执行SQLStatement时含有的主要进程。

Otherprocesses:

用于Oracle的其它选项。

-物理文件构成:

*必须的:

数据文件、控制文件、重做日志文件

Oracledatabase:

拥有一个逻辑的和一个物理的结构。

数据库的物理结构是操作系统文件的集合。

含如下三个部分:

n Datafile:

数据库实际数据

n Redologfiles:

数据库改变的纪录,用来将数据库从错误中恢复。

n Controlfiles:

包括维护和验证数据库的信息。

*可选的:

参数文件、密码文件、归档日志文件

Otherkeyfile:

non-databasefiles用来配置一个实例(instance),验证用户,恢复数据库等等。

包括:

l Parameterfile:

参数文件,定义一个实例instance的特点。

l Passwordfile:

验证用户权限以启动和关闭一个instance.

l Archivedredologfiles:

离线备份的(offlinecopies)redologfiles用于从物理介质的损坏中恢复。

*虽然启动和使用一个database的时候需要otherkeyfiles,但是一个database的物理结构只包括三类文件。

Datafile,redologfiles,controlfiles.

*检查点的作用是:

(1-33)

-signalingDBWnatcheckpoints在检查点处记录DBWn

-updatedatafileheaderswithcheckpointinformation通过检查点信息更新数据文件头

-updatecontrolfilewithcheckpointinformation通过检查点信息更新控制文件

CKPT(checkpoint)当DBWn写所有被修改的数据缓存时检查点(checkpoint)事件触发。

包括提交的和未提交的数据到datafile.检查点因为如下原因被实现:

    检查点用来确定内存中被频繁修改的数据块规则的写入datafiles。

由于DBWn的最近最少使用算法(一个算法名字,不用管),一个频繁的修改的数据块可能永远不会作为最近最少使用的数据块。

这样如果检查点事件不发生,他可能永远不会被写入到硬盘上。

    因为在某个检查点之前的数据库的更改已经记录到datafile和redologfile中,所以需要实例恢复的时候,检查点之前的修改就没有必要再应用到datafile了。

(详细情况可以看《数据库原理》256页~258页左右)。

这样检查点技术可以有效的提高实例恢复的速度。

检查点记录的信息(1-34)

CKPT不会把数据块写道硬盘上。

或者把redoblock写道onlineredologs上

ARCn(Archiver)可选的后台进程,当ARCHIVELOG模式开启时,自动保存onlineredologs.保护database中记录(record)所有的改变

2.Oracle服务器初步(GettingStartedwiththeOracleServer)

*常用工具及其任务:

-oracleuniversalinstaller用于安装、更新或删除server组件

-oracledatabaseconfigurationassitant(ODCA)

createadatabase,configuredatabaseoptions,deleteadatabase,

managetemplates...

(ODCA)图形用户界面工具来与与OUI交互,ODCA也被独立使用,用来创建(create)、删除(delete)、管理(manage)一个数据库,配置数据库选项(Configuredatabaseoptions)

-passwordfileutility创建数据库密码的工具

-sql*plus访问数据库数据的工具

-oracleenterprisemanager(OEM)

图形界面用于administer,monitor和tuneone或moredatabases

*OracleAuthenticationMethodsforDBA(2-13)

-OSAuthentication

sqlnet.ora(NTS)

-PasswordAuthentication

$orapwdfile=$ORACLE_HOME/database/orapw{sid}.orapassword=admin

entries=5

grantsysdbatousername;

3.Oracle实例的管理(ManaginganOracleInstance)

*初始参数文件(initialparameterfile)的作用、种类及其不同。

(3-4)

主要参数:

db_name,control_files,...

Oracle实例启动的时候读取初始参数文件。

参数(注意,不是参数文件)主要分两类:

清楚的(Explicit):

有一个明确的实体(Entry)在文件中(entry通俗说就是文件中出现了这个参数)

隐式的(Implicit):

没有明确出现在文件中,是Oracle的默认值。

不同的文件作用于同一个数据库来在不同场合下优化性能。

修改文件中的参数

其中初始参数文件主要包括两类:

Staticparameterfile,PFILE

Persistentparameterfile,SPFILE

对比

PFILE

SPFILE

文件名

Init{SID}.ora

spfile{SID}.ora

格式

textfile(文本)

binaryfile(二进制)

编辑方式

1。

利用文本工具直接进行修改

1。

利用企业管理器对pfile进行修改,然后转换为spfile

 

2。

在企业管理器里修改配置后导出形式

2。

在SQL.plus里使用Altersystem语句,进行修改

启动次序

pfile低于spfile

优先

ps:

pflie文件:

pfile文件含有数据库的配置参数,它只能在实例被起动的时候才能读取。

如果pfile文件被修改之后,只有在让实例先shutdown然后restarted时才能生效。

spfile文件:

1。

无论是Shutdown  还是startup都不影响它的修改。

2。

靠OracleServer来维护。

3。

用Altersystem来改变spfile文件。

*OMF:

db_create_file_dest,db_create_online_log_dest_n

OMF可以通过减少对OraDB文件的直接管理(needtodirectlymanagethefileswithinanOracledatabase)达到精简文件管理(fileadministration)的目的(从而提高效率)

直接通过SQL语句创建和删除OMF。

OMF通过设置两个参数创建:

DB_CREATE_FILE_DEST:

设置数据文件的默认路径

DB_CREATE_ONLINE_LOG_DEST_N:

设置在线重做日志文件和控制文件的默认路径,最大5个路径。

*数据库实例启动的步骤:

startupnomount|mount|open(3-17)

Shutdown

Nomount:

启动实例(Instancestarted),读取初始文件,分配SGA,开始后台线程

Mount:

将一个database和先前开始的实例绑定,定位并打开参数文件中指定的控制文件,读取控制文件来获得数据文件、重做日制文件的名称和状态。

(但是不检查文件是否存在)

重命名数据文件,启动/禁止重做日志归档选项,全数据库恢复必须在mount状态下实现。

Open:

打开在线数据文件(onlinedatafiles),在线重做日志文件。

*关闭数据库实例不同的方法:

normal,transactional,immediate,abort(3-24)

关闭模式

A

I

T

N

允许新的连接

x

x

x

x

等待当前会话结束

x

x

x

o

等待当前事务结束

x

x

o

o

设定检查点并关闭文件

x

o

o

o

normal(默认模式),transactional,immediate,abort

4.数据库的建立(CreatingaDatabase)

5.数据字典的内容及使用(DataDictionaryContentsandUsage)

*数据字典(DataDictionary)的种类及不同之处(5-3)

在数据库创建时,server会在数据文件中创建附加的对象结构:

Datadictionarytables

是只读表和视图的集合,用来记录,验证,并提供与数据库相关的信息

其中包括两类基本对象

Datadictionarytable:

包括两个成员

basetables:

保存数据库的描述信息

datadictionaryviews:

总结基本的表信息

当DDL语句执行的时候会被修改。

用户(Users&DBA)只能将其作为只读的数据库信息引用来读取。

Dynamicperformancetables

是性能试图,记录了当前的数据库状态。

DBA使用,监视和调整数据库性能。

动态视图属于SYS用户。

DML是不允许的。

6.控制文件的管理(MaintainingtheControlFile)

控制文件是定义了当前的物理数据库状态的二进制文件。

在MOUNT状态读取。

对应于单一数据库。

*控制文件的作用及其内容(6-5)

是数据库正常启动和成功操作的必不可少的文件。

一个文件对应一个database。

database打开前,系统会读取控制文件来判断数据库是否为可用状态。

数据库使用的时候,控制文件被持续的修改。

控制文件信息只能是被server修改,用户不可以。

文件不可用,db就不可用。

内容:

数据库名字或ID

数据库创建的时间戳

表空间名

数据文件,重做日志文件的名称和位置

当前的重做日制文件序列号

检查点信息

开始和结束的撤销(undo)段(segments)。

重做日志存档信息

备份信息

*系统控制文件的信息获取(6-10)

通过查询数据字典,可以获得控制文件的信息。

V$CONTROLFILE;V$PARAMETER;V$CONTROLFILE_SECTION

SHOWPARAMETERSCONTROL_FILES

*如何使用pfile,spfile实现控制文件的多功化[多功化就是Multiplexing吧?

]

SPFILE:

在数据库创建的时候创建多个控制文件;添加一个控制文件到已经创建的数据库

init.ora创建备份文件,然后使用alter命令切换。

7.重做日志文件的管理(MaintainingRedoLogFiles)

*重做日志文件的作用及其组织结构(7-3)

作用:

重做日志文件记录数据的改变,提供从介质错误中恢复的机制。

当数据库错误时,重做日志文件提供重做事务。

结构:

重做日志文件按组(groups)组织,一个数据库至少需要2个组(group)。

每一组中一个重做日志称为一个member。

(7-4的图有助于理解这几个概念)其中包括:

OnlineRedoLogGroups

OnlineRedoLogMembers

*日志文件组的切换(logswitch)(7-8)

日至文件和检查点切换一般是自动的,不过也可以让DBA手动。

ALTERSYSTEMSWITCHLOGFILE;

ALTERSYSTEMCHECKPOINT;

*v$log日志组状态的变化:

inactive,active,current

*对日志文件的操作(日志组的建立、日志文件的添加和删除、改变大小等)

ALTERDATABASEADDLOGFILEGROUP3(‘FILE1’,‘FILE2’)SIZE1M;

ALTERDATABASEADDLOGFILEMEMBER‘XXX’TOGROUP1;

ALTERDATABASEDROPLOGFILEGROUP3;

ALTERDATABASEDROPLOGFILEMEMBER‘SOMEFILE’;

ALTERDATABASECLEARLOGFILE‘SOMEFILE’;

*重做日志信息的获取:

v$log,v$logfile

select…fromv$log;(7-20)

8.表空间及数据文件的管理(ManagingTablespacesandDatafiles)

*Oracle数据库的存储层次(逻辑结构和物理结构)(8-4)

物理结构:

控制文件,online重做日志文件,数据文件。

逻辑结构:

数据库〉表空间〉段〉扩展区〉块

*System,non-system表空间及其作用(8-7)

System表空间:

由database创建,包含数据字典,包含System重做段(undosegment)

Non-System表空间:

独立(separate)的段,简单的空间管理,空间数量(amount)控制权分配给用户。

*表空间按照功能分类:

普通表空间、临时表空间、undo表空间及其作用、特点(8-17,8-18)

普通表空间

临时表

Undo表

作用

允许你自定义databasewide默认临时表空间。

避免SYSTEM表空间来存储临时数据的使用

用于保存操作

用于保存重做数据

限制

此表不能被删除,除非在一个新的默认表可用。

他不能设置成离线

你不能把一个默认的临时表空间换到永久的表空间

不能包括任何持久数据,本地化管理长度。

不能包括任何其他对象。

长度是本地管理的。

只能通过使用createtable子句DATAFILE和EXTENTMANAGEMENT

undo表空间:

用于存放重做段。

不能包括任何对象;扩展区(extents)是本地管理的;

临时表空间:

用于排序操作,不能保存持久的数据,建议本地管理长度。

*表空间的空间管理方式:

本地管理和字典管理,及其区别,建立的方法等。

(8-11)

本地管理:

位图方式记录可用空间长度;每个字节联系一个块或者一组块。

字节的值表示可用还是不可用。

字典管理:

默认方法,数据字典表中控制可用空间长度。

建立方法:

8-12

*表空间(及其内容和文件)的删除操作等。

(8-29)

DROPTABLESPACEuserdataINCLUDINGCONTENTSANDDATAFILES

*表空间信息的获取。

(8-44)

表空间信息:

DBA_TABLESAPCES,V$TABLESPACE

数据文件信息:

DBA_DATA_FILES,V$DATAFILE

临时文件信息:

DBA_TEMP_FILES,V$TEMPFILE

[建表过程]

createtablespacetbsname

datafile'd:

\path\to\datafile.dbf'size100m

autoextendonextentmanagementlocaluniformsize1m

segmentspacemanagementauto;

9.存储结构及关系(StorageStructureandRelations)

*segment的概念及类型(9-4)

segment是数据库中的空间占位(space-occupying)对象,它是使用数据库的数据文件中的空间。

有两类:

Table:

整张表是一个segment

TablePartition:

将一个表分成多个部分,每个部分是一个segment

Cluster:

在cluster中,行被保存成基于键列的值。

一个Cluster可能包括一个或多个表。

可通过hash访问行。

Index:

所有的细节(particular)索引都保存在一个索引段。

Index-OrganizedTable:

数据保存基于键值的索引。

IndexPartition:

一个索引可以被分开或扩展到多张表空间。

UndoSegment:

用于改变数据库的事务。

TemporarySegment:

排序、临时结果等用段

LOBsegment:

保存大对象(largeobject==LOB)的段

NestedTable:

表中一个列可以被用做一个用户自定的表(表中含的表)

BootstrapSegment:

缓存段

*与存储相关信息的获取(9-21)

DBA_TABLESPACES;DBA_DATA_FILES;DBA_SEGMENTS;DBA_EXTENTS;DBA_FREE_SPACE;

10.撤销数据的管理(ManagingUndoData)

*undo数据的作用(10-5)

-transactionrecovery

当一个事务修改了表中的一行,重做段回保存旧的被修改的列(重做数据)的镜像。

如果事务回滚,server将通过把重做段的数据写会行。

-transactionrollback

如果在事务进行时实例发生错误,server需要在重新

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1