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
)7.把一个表空间切换到OFFLINE状态时,可以使用4个参数,不包括下列哪个选项?( D ) A.IMMEDIATE B.NORMAL C.TEMPORARY D.FORCE 8.在设置撤消表空间的自动管理功能时,DBA通过使用相关的初始化参数对自动撤消表空间进行配置。下面的4个参数中,哪一个不是与自动撤消管理功能相关的参数?( D ) A.UNDO_MANAGEMENT B. UNDO_TABLESPACE C.UNDO_RETENTION D. TRANSACTIONS
二、填空题
1.表空间是Oracle数据库中数据的逻辑组织,每个数据库至少有一个 系统 表空间。
2.表空间是O racle数据库中数据的逻辑组织,它存储段的集合,在操作系统级映到一个或多个 数据文件 上。
3.创建表空间时Oracle允许指定后来创建的,并分配给表空间的对象的默认存储参数。其中 INITIAL 参数设置创建时分配给每一个新对象的初始区间的大小。
4. 创建表空间时,创建表空间的对象的默认存储参数中,INITIAL参数和 NEXT 参数通常大小相同。
5. DBA-TS-QUOTAS 动态视图中列举了所有用户的表空间配额。 6. DBA_FREE_SPACE 视图用来判断tablespace的剩余空间。
7.表空间的管理类型分为 本地管理表空间(LMT) 和 数据字典管理表空间(DMT) 。 8.一个表空间具有 离线(OFFLINE)、在线(ONLINE)、只读(READ ONLY)和 读写(READ WRITE)。
9.创建UNDO表空间时,所使用的表空间管理方式为 本地管理表空间 ,并且盘区的管理方式只允许使用 临时表空间 方式。 三、问答题
1.TEMPORARY表空间和PERMANENT 表空间的区别是什么? 解:
(1)永久性表空间(Permanent)
用户需要保留的任何段和一个会话或事务的应用数据都保留在永久性表空间,如SYSTEM和SYSAUX表空间。从Oracle 11g开始,SYSTEM表空间默认为本地化管理,表空间第一个数据文件中的位图段管理所有的空间使用。
(2)临时表空间(Temporary)
数据库中可同时在线和激活多个临时表空间,但Oracle 11g前同一用户的多个会话共享一个临时表空间,因为仅只有一个默认的临时表空间可被赋给用户。为解决潜在的性能瓶颈,Oracle支持临时表空间组.临时表空间组由至少一个临时表空间组成。
2.本地管理表空间和字典管理表空间的含义与特点是什么? 解:
(1)字典管理表空间(DMT)
Oracle使用SYS.FET$表来记录空闲空间,使用SYS.UET$表来记录已经使用过的空间。当从表空间分配新的Extent时,必须先获得space transaction(ST) enqueue latch后才能插
11
入或删除SYS.FET$和SYS.UET$表。在特定的时间内,只有一个进程能获得ST enqueue,这通常会引起竞争和等待。
(2)本地管理表空间(LMT)
使用LMT,每个表空间使用表空间数据文件中的一个bitmap结构来管理空闲和已使用的空间的元数据信息。每一bit对应一个数据库block或一组blcok。
本地管理表空间的好处:
(1)不需要使用recursive sql访问UET$和FET$
(2)消除了对于UET$和FET$的竞争(single ST enqueue) (3)不用定期连接空闲空间,LMT会自动跟踪相邻的空闲空间。
(4)使用LMT时,分配extent只是改变segment header中的bitmap structure,不会产生回滚信息。
3.什么是自动撤消管理,它有什么好处? 解:
自动撤销管理允许DBA指定撤销信息在提交之后需要保留的时间,以防止在长时间的查询过程中出现“snapshot too old”的错误。可以通过设置UNDO_RETENTION参数来实现这一过程。这一参数的缺省值为900秒(即15分钟),但你可以设置这一参数以保证Oracle保留撤销日志。无需定义和管理回滚段,就可以简单地指定一个撤销表空间而减轻Oracle的负担。
自动撤销管理需要一个当地管理撤销表空间,这一表空间用于存放撤销段。所需要的建立一个撤销表空间,设置UNDO_MANAGEMENT=AUTO,然后与数据库进行连接。当启动一个例子时,Oracle会自动选择第一个可用的撤销表空间。
4.如何创建非标准数据块表空间? 解:
oracle创建表空间相关的参数为bd_block_size 默认的大小即标准的大小,我们如果不指定具体的大小,所创建的表空间的数据块即可db_block_size 所指定的大小进创建的。
如下例:
create tablespace tbs_cb9
datafile '/opt/oracle/oradata/orcl/users09.dbf' size 10M;
当我们创建非标准块的表空间时,如果没有设置db_nk_cache_size 的大小,创建表空间时会报错误.ora-29339,相关描述的意思表空间的数据块大小也配置文件不匹配。一般我们有两种方法进行解决。
查看系统默认的db_block_size大小; show parameter db_block_size; db_block_size integer 8192; create tablespace tbs_cb8
datafile '/opt/oracle/oradata/orcl/users08.dbf' size 10M blocksize 16k;
12