1.简要介绍数据文件、表空间、段、盘区和数据块之间的关系。 解: 成。
Oracle
2.简要描述Oracle数据库体系的物理结构。 解:
Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:
(1)数据文件(Data File):实际存储数据的地方; (2)在线重做日志文件(Online Redo Log File):
;
(3)控制文件(Control File):性的信息;
(4)初始化参数文件(Parameter File):用来架构出Oracle内存结构的文件;
(5)密码文件(Password File):验证哪些帐号能开启、关闭Oracle数据库。
3.介绍Oracle实例系统中,各后台进程的作用。 解:
(1)DBWRn(Database Writer)的主要工作是将数据缓冲区中被改过的数据写回到数据文件里;
(2)LGWR(Log Writer)主要的工作是将Redo Log Buffer里的记录写到在线重做日志文件中;
(3)SMON(System Monitor)有两个主要的功能。<1>执行Instance Recovery:当数据库不正常中断后再度开启时,SMON会自动执行Instance Recovery,也就是会将在线重做日志里面的数据回写到数据文件里面。<2>收集空间:将表空间内相邻的空间进行合并的动作;
(4)PMON(Process Monitor):监视数据库的用户进程。若用户的进程不当而被中断,PMON会负责清理任何遗留下来的资源,并释放失效的进程所保留的锁,然后从Process List中移除,以终止Process ID;
(5)CKPT(Checkpoint)主要负责更新数据库的最新状态,CKPT当Checkpoint会更新控制文件和数据库文件的文件头;
(6)ARCn(Archiver)当Oracle数 据 库 设 定 为ARCHIVELOG Mode时,ARCn 会在Log Switch时自动将Redo Log FileArchivedredologs。
4. 数据字典包含了哪些信息?具有什么功能?
6
解:
数据字典是Oracle数据库的核心组件,它是由一系列只读的基础表和视图组成的,它保存了关于数据库本身以及其中存储的所有对象的基本信息。对数据字典的管理和维护由Oracle系统负责,任何数据库用户都无法对数据字典中内容进行修改,但是可以查看数据字典的内容。为了方便用户查看数据字典中的信息,数据字典中的信息通过表和视图的形式组织起来。数据字典中的内容都被保存在System表空间中,大多数情况下,用户可以通过数据字典视图来获取与数据库相关的信息,而不需要访问数据字典表。
用户所使用的数据字典视图大致分为三类,并且各种类型的视图以不同名称的前缀表示。这三类视图如下:
(1)USER视图是以USER_字符为名称前缀的数据字典视图。每个数据库用户都有一组属于自己的视图,在USER视图中包含了该用户模式下所有对象的信息。
(2)ALL视图 ALL视图是以ALL_字符为名称前缀的数据字典视图。ALL数据字典视图是USER视图的扩展,在ALL视图中记录了属于该用户模式的所有对象的信息以及该用户可以访问的属于其他模式的对象的信息。
(3)DBA视图 DBA视图是以DBA_字符为名称前缀的数据字典视图。在DBA数据字典视图中记录了全部数据库对象的信息。
5. 在确定数据块大小(DB_BLOCK_SIZE)的时候,要注意考虑哪些因素? 解:
如果行很小,而且访问是随机的,则应选用较小的块; 如果行很小,而且访问是顺序的,则应选用较大的块;
如果行很小,而且访问既是随机又是顺序的,那么就应该选用较大的块; 如果行很大,应该选用较大的块。
6. PctUsed和PctFree 表示什么含义,有什么作用?
解: PctUsed:为一个百分比数值,当BLOCK中已经使用的空间降低到该数值以下时,该BLOCK才是可用的,达到或是超过这个数值的BLOCK是不可用的。
PctFree:用于指定BLOCK中必需保留的最小空间的比例。
一般在控制具有独立segment结构的对象时,可使用PctFree和PctUsed参数控制数据块何时进入或离开表、索引或簇的可用清单。
使用PctUsed参数设置最小块的阈值来控制一个数据块应在何时放回到相应段的可用清单中。例如,所有段的缺省PctUsed设置为40%,因此,当事务处理删除数据块中的行时,如果它只有39%是装满的,ORACLE将该数据块放回到相应段的可用清单中。如果你预计很少有删除操作,则可设置PctUsed为较高的值(如60),当偶然的删除操作发生时,使数据块弹出可用清单。但是,如果你预计将PctUsed 设置为较低的值(如40),使ORACLE不常产生块在表的可用空间中移进或移出的开销。
使用PctFree参数设置最大的阈值,以控制对将来的行的更新操作保留多少数据块空间。当某个数据块使PctFree装满时,ORACLE从相应段的可用清单中删除该块。如果你预计只有
7
很少的更新操作会增加行的大小,则可将PctFree设置为较低的值(如5或者10),使得ORACLE填满每个块的更多的空间。但是,如果你预计更新操作将会经常增加行的大小,则将PctFree设置为较高的值(如20或30),使得ORACLE为已有行的更新操作保留更多的块空间;否则,将出现行链。
7.SGA主要有那些部分,主要作用是什么? 解:
(1)数据高速缓冲区:存放着Oracle系统最近使用过的数据库数据块;
(2)共享池:相当于程序高速缓冲区,所有的用户程序都存放在共享SQL池中; (3)重做日志缓冲区:用于缓冲区在对数据进行修改的操作过程中生成的重做记录。
第三章 ORACLE 11g 的数据库管理
一、单项选择题
1.下列哪个部分不是oracle实例的组成部分?( C )
A.系统全局区域 B. 服务器进程 C.数据库作者 D.系统监控器
2.你用DBCA建立了一个数据库而没有保存模版定义。现在你打算用DBCA拷贝整个数据库和数据,下列哪个是首先要做的?( D )
A.使用脚本建立新的数据库,使用DBCA导入数据
B.用DBCA模版管理从现有数据库建立一个新的数据库,数据也如此导入 C.从模版列表中选择先前建立的数据库模版并建立数据库
D.从现有数据库中拷贝数据文件建立新的数据库,然后利用DBCA拷贝数据
3. 你正在你的组织紧急事件处置演习中。几乎没有时间通报用户,你就需要尽快地停止数据库进程。下列命令哪个是你需要要执行的?( D ) A. shutdown abort B. shutdown transactional C. shutdown D. shutdown immediate 4. 你正在用共享服务器管理一个数据库。Large_pool_size是50M。你执行命令:alter system set Large_pool_size=100M scope=memory后然后关闭并重启数据库。现在Large_pool_size是多少?( A )
A. 50M B. 默认Large_pool_size大小
8
C. 100M D.和使用中的oracle SPfile设置的一样
5. 你使用下列命令连接数据库:sqlplus scott/trigger@abc.com:1522/orcl.目标数据库是哪一个?( A )
A. abc.com B.tiger C. orcl D. scott E. 以上都不是 6. 下列哪个不是有效的数据库状态?( A ) A. 开机 B. 关闭 C. 启动 D. 装载 E. 不装载
7. 如果一个数据库举例(instance)失败,但是没有停止运行,你必须使用哪个命令使实例恢复能被执行?( B )
A.startup nomount B. shutdown immediate; start force C.startup mount D.shutdown abort; startup
8. Oracle数据库由一个或多个称为()的逻辑存储单元组成。( B ) A.表 B.表空间 C.行 D.单元 二、填空题
1. 如果用户需要在已经安装好了的Oracle系统上创建,修改或者删除数据库,就需要使用 DBCA 。
2. 启动数据库时,如果装载数据库但打不开数据库可执行 STARTUP MOUNT 命令。 3. 采用终止模式关闭数据库,可执行 SHUTDOWN ABORT 命令。
4. 数据库的初始化参数DB-NAME的长度最大可为 8 个字符。
5. 数据库实例 ,也被称作数据库服务或服务器,是一组操作系统进程和内存区域.Oracle使用他们来管理数据库访问。
6.每个Oracle 11g数据库在创建后都有4个默认的数据库用户: system 、 sys 、 sysman和DBcnmp。
7. 字符集中的NLS-LANG参数包含3个组成部分: 语言 、 地域 、字符集 。
8.可通过在SQL*Plus中查询动态视图 VINSTANCE 来查看实例的禁止操作状态。 三、问答题
1. Oracle数据库在创建后都会有4个默认数据库用户,简要说明它们的功能? 解:
4个默认的数据库用户分别为:SYS、SYSTEM、SYSMAN和DBSNMP。
(1)SYS,默认密码为CHANGE_ON_INSTALL,当创建一个数据库时,SYS用户将被默认创建并授予DBA角色,所有数据库数据字典中的基本表和视图都存储在名为SYS的方案中,这些基本表和视图对于Oracle数据库的操作时非常重要的。为了维护数据字典的真实性,SYS方案中的表只能由系统来维护,他们不能被任何用户或数据库管理员修改,而且任何用户不能在SYS方案中创建表;
(2)SYSTEM,默认密码为MANAGER,与SYS一样,在创建Oracle数据库时,SYSTEM用户被默认创建并被授予DBA角色,用于创建显示管理信息的表或视图,以及被各种Oracle数据库应用和工具使用的内容表或视图;
(3)SYSMAN是Oracle数据库中用于EM管理的用户,如果你不用该用户,也可以删除。 (4)DBSNMP是Oracle数据库中用于智能代理(Intelligent Agent)的用户,用来监控和管理数据库相关性能的用户,如果停止该用户,则无法提取相关的数据信息。
9
2. 如何转换init.ora到spfile ? 解:
使用Create spfile from pfile命令。
3. 给出数据库正常启动所经历的几种状态 ? 解:
(1)STARTUPNOMOUNT–数据库实例启动; (2)STARTUPMOUNT-数据库装载; (3)STARTUPOPEN–数据库打开。
第四章 ORACLE 11g 的表空间管理
一、单项选择题
1. 对于系统表的空间,Oracle建议的大小是( D ) A.100M B. 200M C.300M D.400M E.500M 2. 下列动态视图中,( C )是从控制文件中得到的所有表空间的名称和数量。 A.V$INSTANCE B.V$DATABASE C.V$TABLESPACE D.V$DATAFILES 3. 如果一个表空间脱机在哪里查看?( B )
A. dba_tablespaces B. v$ tablespaces C. v$database D. dba_datafile_status 4.下面哪个参数不能在STORAGE子句中进行设置( B ) A. INITIAL B. PCTUSED C. MINEXTENTS D. NEXT 5.Oracle数据库的最小I/O单位是( D ),最小磁盘分配单位是( C ) A. 表空间 B. 段 C. 盘区 D. 数据块
6.在设置自动撤消管理时,下列( B )参数用于设置所使用的撤消表空间,( C 参数用于设置撤消数据的保留时间。
A.UNDO_MANAGEMENT B. UNDO_TABLESPACE C.UNDO_RETENTION D. ROLLBACK_SEGMENTS
10
)