Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖
楼主: laoguo
查看: 25512| 回复: 75
51#
发表于 2016-8-15 08:20:31
111:
Which two statements are true about the duplexing of the backups taken by RMAN? (Choose two.)
A. It's only supported for the backups performed on the tape
B. It is not supported for backup operations that produce image copies
C. Duplex backups need a parallelism for the device to be equal to number of copies
D. Duplex backups can be performed to either disk or tape, but cannot be performed on tape and disk simultaneously
Answer: BD

111:
关于RMAN的双工备份哪2个陈述是正确的?
A.只支持在磁带上进行备份
B.不支持生成镜像拷贝的备份操作
C.双工备份在设备上需要和拷贝数目相等的并行度
D.可以在磁带或者磁盘上进行双工备份,但是不能同时在磁盘和磁带上进行

此题考点是使用RMAN进行duplexed backup 。双工备份就是备份的时候生成指定数目的一个拷贝,每个备份片都是原始备份集的拷贝,每个拷贝都有自己的的唯一号。

通过设置 CONFIGURE … BACKUP COPIES 命令来指定对指定的文件类型,在指定的设备上为每个备份片创建多少个副本。双工备份的Configure命令只能影响备份集中的数据文件,控制文件和归档日志,并不能影响镜像拷贝。B正确

RMAN可以在磁盘或磁带上进行,但是不能同时进行。当在磁带上进行备份时,确保拷贝的数据不会超过可用磁带设备的数目。A错,D正确
例如:
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
--设置磁盘上备份的每个数据文件有2个副本
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 3;
--设置在磁带备份上每个归档备份有3个副本

C错误,双工备份和是否使用并行无关。但是如果在磁带设备上进行的话,不能超过设备最大数目。

注意:自动备份的控制文件不能双工


答案:BD
参考官方文档:http://docs.oracle.com/cd/E11882 ... mconfa.htm#BRADV140




112:
You are using Recovery Manager (RMAN) for backup and recovery operations with a recovery
catalog. You have been taken database backups every evening. On November 15, 2007, at 11:30 AM,you were informed that the USER_DATA tablespace was accidentally dropped.
On investigation, you found that the tablespace existed until 11:00 AM, and important transactions were done after that.So you decided to perform incomplete recovery until 11:00 AM. All the archive logs needed to perform recovery are intact. In NOMOUNT state you restored the control file that has information about the USER_DATA tablespace from the latest backup. Then you mounted the database.Identify the next set of commands that are required to accomplish the task?
A.RMAN> run
{SET UNTIL TIME 'Nov 15 2007 11:00:00';
RESTORE DATABASE;
RECOVER DATABASE;}
B.RMAN> run
{SET UNTIL TIME 'Nov 15 2007 11:00:00';
RESTORE DATABASE;
RECOVER DATABASE USING BACKUP CONTROLFILE;}
C.RMAN> run
{RESTORE DATABASE;
RECOVER DATABASE UNTIL TIME 'Nov 15 2007 11:00:00';}
D.RMAN> run
{RESTORE TABLESPACE user_data;
RECOVER TABLESPACE user_data UNTIL TIME 'Nov 15 2007 11:00:00';}
Answer: A

112:
你使用RMAN来进行备份,并且使用恢复目录进行操作。每天晚上均进行数据库备份。在2007,11月15日上午11:30你被通知USER_DATA表空间不小心被删除了。通过调查,你发现这个表空间在11:00的时候仍然存在,并且完成了重要的事务。你觉得进行不完全恢复到11:00.所有所需的归档均是完整的。在NOMOUNT模式下,你从最近包含USER_DATA表空间中恢复了控制文件。然后你挂载了数据库。明确下一个命令来完成任务?
A.RMAN> run
{SET UNTIL TIME 'Nov 15 2007 11:00:00';
RESTORE DATABASE;
RECOVER DATABASE;}
B.RMAN> run
{SET UNTIL TIME 'Nov 15 2007 11:00:00';
RESTORE DATABASE;
RECOVER DATABASE USING BACKUP CONTROLFILE;}
C.RMAN> run
{RESTORE DATABASE;
RECOVER DATABASE UNTIL TIME 'Nov 15 2007 11:00:00';}
D.RMAN> run
{RESTORE TABLESPACE user_data;
RECOVER TABLESPACE user_data UNTIL TIME 'Nov 15 2007 11:00:00';}

答案:A

此题考点是不完全恢复。由于进行了大量的事务,显然是要进行数据库级别的不完全的恢复,将所有相关的事务均回滚。
在数据库mount之后,指定时间点或SCN或log号,就可以进行恢复了。A正确。BCD的语法错误
恢复完成后以resetlogs方式打开数据库

参考官方文档:
http://docs.oracle.com/cd/E25054 ... recvry.htm#i1007175

回复 显示全部楼层 道具 举报

52#
发表于 2016-8-15 08:20:49
113:
You create two resource plans, one for data warehouse loading jobs at night and the other for
application jobs at day time. You want the resource plans to activate automatically so that the resource allocation is optimum as desired by the activity.
How would you achieve this?
A. Implement job classes
B. Implement Scheduler windows
C. Implement the mapping rule for the consumer groups
D. Set the SWITCH_TIME resource plan directive for both the resource plans
Answer: B

113:
你创建了2个资源计划,一个是为了晚上的数据仓库加载作业,另一个是为了白天的应用程序作业。你希望资源计划能自动激活,这样资源分配能达到最佳。
A.实现作业类
B.实现调度窗口
C.实现资源组的映射关系
D.为2个资源计划设置SWITCH_TIME资源计划。

答案:D

此题考点是资源管理器中资源组的自动切换。首先要明白作业类,调度,资源组map这些概念。
作业类,指定作业属于哪个作业类,然后可以将整个作业类分配资源组。更方便的对一组作业进行资源控制。
调度窗口是用来执行相关作业的。
资源组映射是将某用户的会话属于某个资源组进行管理,一个用户可以属于多个消费组,但是一个会话同一时间只能熟悉一个消费组(可以使用切换)。

根据题意D正确,只有设置和会话切换的阈值,配置得会话消费组才能自动的进行切换

参考官方文档:https://docs.oracle.com/cd/E1188 ... dbrm.htm#ADMIN11887




114:
View the Exhibit to observe the error.
You receive this error regularly and have to shutdown the database instance to overcome the error. Automatic Shared Memory Management is configured for the instance. What can you do to reduce the chance of this error in the future?

A. Increase the value of SGA_MAX_SIZE
B. Enable automatic memory management
C. Set the PRE_PAGE_SGA parameter to true
D. Lock the System Global Area (SGA) in memory
Answer: B

114:
查看图例显示的错误
你会定期的收到这个错误,并且只能关闭数据库来解决。ASMM已经在实例上配置了。你可以做些什么在以后减少此错误发生的几率?
A.增加SGA_MAX_SIZE
B.启用自动内存管理
C.设置PRE_PAGE_SGA为true
D.将SGA锁入到内存中

答案:B

此题已经开启了自动SGA管理,但是出现了ORA-4031说明SGA还是不足,总体来说需要增大SGA:根据具体出现的情况,如果是SHARED_POOL不足,可以使用DBMS_SHARED_POOL pin住大的对象,或增大SHARED_POOL_RESERVED_SIZE 和SHARED_POOL_SIZE的值。
如果是大池不足,可以增加LARGE_POOL_SIZE。
如果是streams内存步子,可以增加STREAMS_POOL_SIZE的值,或者捕获进程的参数MAX_SGA_SIZE的值。

A.错误,增加SGA_MAX_SIZE必须在使用AMM自动内存管理后才有效
B.正确,使用AMM自动管理SGA和PGA的大小,可以动态增加SGA
C. PRE_PAGE_SGA 为true,在启动的时候将全部SGA放置到内存中。这个参数并不会增加SGA的大小,此处错误
D将SGA锁到内存中,也不会增大SGA,D错。

C.D选项一起使用,可以将SGA锁入内存,可以减少内存页面交换的开销,当然需要操作系统层面的支持。LOCK_SGA来控制是否将SGA锁入内存。

参考官方文档:http://docs.oracle.com/cd/E11882 ... memory.htm#BGBJAHEJ

回复 显示全部楼层 道具 举报

53#
发表于 2016-8-15 08:21:05
115:
.You want to schedule a job to rebuild all indexes on the SALES table after the completion of a bulk load operation.The bulk load operation must also be a scheduled job that executes as soon as the first file that contains data arrives on the system. How would you create these jobs?
A. Create both jobs by using events raised by the scheduler
B. Create both jobs by using events raised by the application
C. Create a job to rebuild indexes by using events arised by the application and then create another job to perform bulk load by using events raised by the scheduler
D. Create a job to rebuild indexes by using events arised by the Scheduller and then create another job to perform bulk load by using events raised by the application
Answer: D
115:
你想使用调度作业在一个大容量加载操作之后,重建SALES表上的所有索引。这个大容量操作也必须是一个调度作业一旦当第一个包含数据的文件到达时就开始执行。你应该如何创建这些作业?
A.通过调度使用引发事件创建所有的作业
B.通过应用程序使用引发事件创建所有的作业
C.重建索引的作业通过应用程序使用引发事件,加载通过调度使用引发事件
D.重建索引作业通过调度使用引发事件,加载通过应用程式使用引发事件
答案:D

本题的考点是通过事件来启动作业。其中加载数据的事务需要当文件到系统的时候触发。数据加载的作业通过监控文件到达触发,并且在完成这个作业后,再完成重建索引的作业,那么就需要创建作业连进行调度。D正确

一个事件的消息可以由一个应用程序或系统进程发出,被一个或多个应用程序或进程接受(消耗)。
有两种通过调度消耗事件的方式:
1.由应用程序引发事件
调度对事件作出反应,然后启动作业。应用程序需要在ORACLE高级队列中入队信息,并且在配置作业的时候指定使用的队列名称(基础作业的queue_spec属性),当作业启动时,会从事件中获得文本信息。
event_condition属性也必须在基础作业中设置。这个是一个基于消息熟悉的条件表达式,评估消息必须满足为true时才会启动作业。使用的是高级队列语法。用户属性使用tab.user_data.的前缀。例如:
event_condition = 'tab.user_data.event_type = ''LOW_INVENTORY'' and
extract hour from tab.user_data.event_timestamp < 9'
只有在每天9点之前的LOW INVENTORY的事件才会触发。

创建一个基本事件job:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
   job_name            =>  'process_lowinv_j1',
   program_name        =>  'process_lowinv_p1',
   event_condition     =>  'tab.user_data.event_type = ''LOW_INVENTORY''',
   queue_spec          =>  'inv_events_q, inv_agent1',
   enabled             =>  TRUE,
   comments            =>  'Start an inventory replenishment job');
END;
/

指定事件调度中的事件信息:
其实就是设置作业的schedule_name熟悉:
BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
   job_name            =>  'process_lowinv_j1',
   program_name        =>  'process_lowinv_p1',
   schedule_name       =>  'inventory_events_schedule',
   enabled             =>  TRUE,
   comments            =>  'Start an inventory replenishment job');
END;
/


修改熟悉使用DBMS_SCHEDULER.SET_ATTRIBUTE
例如:
BEGIN
  DBMS_SCHEDULER.SET_ATTRIBUTE ('my_job', 'event_spec',
   'tab.user_data.event_type = ''LOW_INVENTORY''', 'inv_events_q, inv_agent1');
END;
/

创建一个事件调度:
BEGIN
  DBMS_SCHEDULER.CREATE_EVENT_SCHEDULE (
   schedule_name     =>  'inventory_events_schedule',
   start_date        =>  SYSTIMESTAMP,
   event_condition   =>  'tab.user_data.event_type = ''LOW_INVENTORY''',
   queue_spec        =>  'inv_events_q, inv_agent1');
END;
/

在应用程序上将事件消息传递给基于事件的作业:
这个作业的程序名称必须是STORED_PROCEDURE,启动的metadata_attribute必须是EVENT_MESSAGE。实现这个的程序必须有一个队列参数,于对象的元数据参数对应。例如:
create or replace procedure my_stored_proc (event_msg IN event_queue_type)
as
begin
  -- retrieve and process message body
end;
/

begin
  dbms_scheduler.create_program (
      program_name => 'my_prog',
      program_action=> 'my_stored_proc',
      program_type => 'STORED_PROCEDURE',
      number_of_arguments => 1,
      enabled => FALSE) ;

  dbms_scheduler.define_metadata_argument (
      program_name => 'my_prog',
      argument_position => 1 ,
      metadata_attribute => 'EVENT_MESSAGE') ;

  dbms_scheduler.enable ('my_prog');
exception
  when others then raise ;
end ;
/

begin
  dbms_scheduler.create_job (
     job_name => 'my_evt_job' ,
     program_name => 'my_prog',
     schedule_name => 'my_evt_sch',
     enabled => true,
     auto_Drop => false) ;
exception
  when others then raise ;
end ;
/


2.通过文件观察着引发的文件到达事件
使用调度创建一个文件观察着。当文件观察着发现文件存在时,启动作业。
文件观察着检查文件是每10分钟一次。这个时间间隔是可以调整的。例如2分钟一次:
BEGIN
  DBMS_SCHEDULER.SET_ATTRIBUTE('FILE_WATCHER_SCHEDULE', 'REPEAT_INTERVAL',
    'FREQ=MINUTELY;INTERVAL=2');
END;
/
首先创建一个凭证,也就是操作系统访问到文件的权限:
BEGIN
  DBMS_SCHEDULER.CREATE_CREDENTIAL('WATCH_CREDENTIAL', 'salesapps', 'sa324w1');
END;
/
然后将下列权限赋予给文件观察者启动的用户:
GRANT EXECUTE ON WATCH_CREDENTIAL to DSSUSER;

创建文件观察着:
BEGIN
  DBMS_SCHEDULER.CREATE_FILE_WATCHER(
    FILE_WATCHER_NAME => 'EOD_FILE_WATCHER',
    DIRECTORY_PATH    => '?/eod_reports',
    FILE_NAME         => 'eod*.txt',
    CREDENTIAL_NAME   => 'WATCH_CREDENTIAL',
    DESTINATION       => NULL,
    ENABLED           => FALSE);
END;
/
?表示的是ORACLE_HOME路径,

给与权限:
GRANT EXECUTE ON EOD_FILE_WATCHER to DSSUSER;

创建程序:
BEGIN
  DBMS_SCHEDULER.CREATE_PROGRAM(
    PROGRAM_NAME        => 'DSSUSER.EOD_PROGRAM',
    PROGRAM_TYPE        => 'STORED_PROCEDURE',
    PROGRAM_ACTION      => 'EOD_PROCESSOR',
    NUMBER_OF_ARGUMENTS => 1,
    ENABLED             => FALSE);
END;
/
定义event_message属性:
BEGIN
  DBMS_SCHEDULER.DEFINE_METADATA_ARGUMENT(
    PROGRAM_NAME       => 'DSSUSER.EOD_PROGRAM',
    METADATA_ATTRIBUTE => 'event_message',
    ARGUMENT_POSITION  => 1);
END;
/

创建基于事件的作业并运行:
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    JOB_NAME        => 'DSSUSER.EOD_JOB',
    PROGRAM_NAME    => 'DSSUSER.EOD_PROGRAM',
    EVENT_CONDITION => NULL,
    QUEUE_SPEC      => 'EOD_FILE_WATCHER',
    AUTO_DROP       => FALSE,
    ENABLED         => FALSE);
END;
/

BEGIN
  DBMS_SCHEDULER.SET_ATTRIBUTE('DSSUSER.EOD_JOB','PARALLEL_INSTANCES',TRUE);
END;
/


参考官方文档:http://docs.oracle.com/cd/E11882 ... duse.htm#ADMIN10020


回复 显示全部楼层 道具 举报

54#
发表于 2016-8-15 08:21:24
116:
View the Exhibits: Exhibit 1 and Exhibit 2
Both processes use an existing job template PROG_1. The time taken by the jobs are recorded in the TEST_LOG table. It was observed that the job creation process in exhibit 1 takes less time than in exhibit2. what is the reason for this?
Exhibit:

A.It creates less metadata for jobs
B.It creates jobs temporarily in memory only
C.It writes the jobs metadata to disk in compressed format
D.It updates tables in SYSTEM tablespace instead of creating new tables
Answer: A
116:
查看图示1和图示2。2个程序均使用现有的作业模板PROG_1。作业使用的时间被记录早TEST_LOG表中。根据观察,图例1中的创建的作业过程比图2中的要短。这个是什么原因
A.其作业创建更少的元数据
B.其只在内存中临时创建作业
C.其以压缩形式将作业元数据写入磁盘
D.其更新SYSTEM表空间中的表而不是创建新表
答案:A

可以看到这个存储过程使用循环用PROG_1模板创建了很多job,但是图示1中job_style=>'lightweight'可知,使用的是lightweight轻量级的job。图示2中使用的是REGULAR常规的job
可以对照61题。

轻量级作业有如下的特点:
1.和普通的job不同,它们没有方案对象。
2.由于没有方案对象,它们在创建和删除的时候对于一般的job有性能提升。
3.它们有更低的平均会话时间
4.他们在磁盘上有一个很小的痕迹来存放job元数据和运行数据

A正确。

参考官方文档:http://docs.oracle.com/cd/E11882 ... over.htm#ADMIN13368







117:
You want to track and store all transactional changes to a table over its lifetime. To accomplish this task, you enabled Flashback Data Archive with the retention of 5 years. After some time, the business requirement changed and you were asked to change the retention from 5 years to 3 years. To accomplish this, you issued the following command:
ALTER FLASHBACK ARCHIVE fla1 MODIFY RETENTION 3 YEAR;
What is the implication of this command?
A. The command produces an error because the retention time cannot be reduced.
B. All historical data is retained but the subsequent flashback data archives are maintained for only three years.
C. All historical data is purged and the new flashback data archives are maintained for three years.
D. All historical data older than three years is purged from the flashback archive FLA1.
Answer: D

117:
你想跟着和存储在某个表的生命周期内的所有事务的变更。为了完成这个任务你启动了闪回数据归档保留5年。在过了一段时间后,由于业务需求的变更,你想变更保留时间从5年到3年。为了完成这些,你发布了下列命令:
ALTER FLASHBACK ARCHIVE fla1 MODIFY RETENTION 3 YEAR;
A.这个命令产一个错误,因为保留时间不能被减少
B.所有的历史数据被保留,但是闪回数据归档只维持3年
C.所有的历史数据被删除,并且新的删除数据归档维持3年
D.所有超过3年的历史数据从闪回归档FLA1中清理。

答案:D

此题考点是闪回数据归档。在启用闪回数据归档后可以使用alter命令修改保留时间。超过保留时间的所有历史数据被清理。

参考官方文档:https://docs.oracle.com/cd/E1188 ... shback.htm#ADFNS643



118:
Which two statements are true regarding an Automatic Storage Management (ASM) instance?
(Choose two.)
A. As ASM instance mounts an ASM control file
B. An ASM instance uses the ASMB process for rebalancing of disks within a disk group
C. Automatic Memory Management is enabled in an ASM instance even when the MEMORY_TARGET parameter is not set explicitly
D. An RDBMS instance gets connected to an ASM instance using ASMB as a foreground process when the database instance is started
Answer: CD

118:
哪2个语句对于ASM实例的称述是正确的?(选择两项)
A.作为ASM实例挂载ASM控制文件
B.ASM实例使用ASMB进程来平衡磁盘组的磁盘
C.即使MEMORY_TARGET参数未显式的指明,ASM实例启用AMM
D.在数据库实例启动时,RDBMS实例使用ASMB作为前台进程连接到ASM实例
答案:CD
A错误,ASM实例只挂载磁盘组,没有ASM控制文件
ASM 实例默认启用自动内存管理,即使未明确设置MEMORY_TARGET参数也是如此。如果设置了其他内存参数,oracle会计算出一个MEMORY_TARGET值,这个值可以动态增加到MEMORY_MAX_TARGET 的值。C正确

ASMB后台进程管理与ASM实例通信,存储和提供统计信息。当ASM实例在ASMCMD cp命令时或数据实例第一次启动时(参数文件存储在ASM中)启动ASMB。ASMB也伴随ASM的OCR启动。
B错,D对

实际平衡数据移动的进程是ARBn,在同一时间会有多个这样的进程,例如ARB0,ARB1。用来平衡数据

参考官方文档:
https://docs.oracle.com/cd/E1188 ... inst.htm#OSTMG10140
https://docs.oracle.com/cd/E1188 ... cesses.htm#REFRN104

回复 显示全部楼层 道具 举报

55#
发表于 2016-8-15 08:22:00
119:
The DB_BLOCK_CHECKING initialization parameter is set to OFF. Which block checking would be performed?
A. The Oracle database will perform block checking for the index blocks only
B. The Oracle database will not perform block checking for any of the data blocks
C. The Oracle database will perform block checking for the default permanent tablespace only
D. The Oracle database will perform block checking for the data blocks in all user tablespaces
E. The Oracle database will perform block checking for the data blocks in the SYSTEM tablespace only
Answer: E

119:
初始化参数DB_BLOCK_CHECKING设置为OFF。哪个块检查会被执行?
A.Oracle 数据库将只对索引块执行块检查
B.Oracle数据库不会对任何数据块进行块检查
C.Oracle 数据库将为只为默认永久表空间进行块检查
D.Oracle 数据库将为所有的用户表空间的数据块进行块检查
E.Oracle 数据库将为只为SYSTEM表空间的数据块进行块检查

答案:E

此题考点是DB_BLOCK_CHECKING参数。其默认值是FALSE,可以设置为OFF,TRUE,FULL,LOW,MEDIUM。用于指定数据库是否对数据库块进行块检查。

OFF 或者FALSE:不会在用户表空间上进行块检查。但是SYSTEM表空间上的语义块检查总是打开的。
LOW:在块的内容在内存中变化之后,检查基本的块头。(例如,在update或insert语句,磁盘读,或RAC中inter-instance 块传递之后)。
MEDIUM:包含LOW等级的检查,和对除了索引之外的所有对象进行完整语义检查。
FULL或TRUE:包含LOW和MEDIUM等级,并且对所有的对象进行完整语义检查

Oracle 通过对块中的数据进行检查,来确保其在逻辑上是一致的。块检查可以放置内存和数据损坏。但是通常会消耗1%到10%的开销,具体取决于工作负载。
越多的update和insert,那么开销就越多。如果不考虑性能问题,可以设置为true

参考:http://docs.oracle.com/cd/E11882 ... s048.htm#REFRN10029


回复 显示全部楼层 道具 举报

56#
发表于 2016-8-17 08:28:56
121:
What is the effect of increasing the value of the ASM_POWER_LIMIT parameter?
A. The number of DBWR processes increases
B. The number of ASMB processes increases
C. The number of DBWR_TO_SLAVES increases
D. The rebalancing operation in an ASM instance completes more quickly, but can result in higher I/O overhead
Answer: D
121:
增加参数ASM_POWER_LIMIT参数的值会有什么影响?
A.DBWR进程会增加
B.ASMB进程增加
C.DBWR_TO_SLAVES 增加
D.ASM进程完成平衡的速度更快,但是会导致更高的I/O

答案:D
• ASM_POWER_LIMIT控制重新平衡操作的速度。值的范围从0 到1024,该值默认为1。
值为0表示关闭再平衡。更高的值让玩平衡的操作更快,但是会导致更高的I.O带宽和更多的平衡进程。
平衡数据的进程是ARBn,所以此进程的数据会增加,A.B.C错误

参考官方文档:http://docs.oracle.com/cd/E11882 ... inst.htm#OSTMG10144














122:
.You plan to use Flashback Drop feature to recover a dropped table SALES_EMP. No other table with the same name exists in the schema.You query RECYCLEBIN and find multiple entries for the SALES_EMP table as follows: You then issue the following statement to recover the table:
SQL> FLASHBACK TABLE sales_emp TO BEFORE DROP;
What would be the outcome of the precedent statement?
A. It retrieves the latest version of the table from the recycle bin
B. It retrieves the oldest version of the table from the recycle bin
C. It retrieves the version of the table for which undo information is available
D. It returns an error because the table name is not specified as per the names in the OBJECT_NAME
column
Answer: A
122:
你计划使用Flashback Drop 特性来恢复删除的表SALES_EMP。在这个方案下没有其他相同名称的表。你查询RECYCLEBIN并找到了多个SALES_EMP表的条目,你发布下列语句来恢复表:
A.从回收站恢复最新版本的表
B.从回收站恢复最老版本的表
C.恢复那些undo 信息可用的版本的表
D.其将返回一个错误,因为没有指定表名的OBJECT_NAME。
答案:A

D错误,可以不用指定对象名,指定相关表名也是可以的。C 错误,FLASHBACK TABLE ... TO BEFORE DROP是基于回收站,并不是基于undo的。

当有多个对象公用一个表名时,使用FLASHBACK TABLE ..TO BEFORE DROP ,最新删除的表的条目会从回收站恢复。B错,A对
查询回收站中的对象:
SELECT object_name, original_name, createtime
FROM   recyclebin;

参考官方文档:
https://docs.oracle.com/cd/B2835 ... mflash.htm#i1016939


回复 显示全部楼层 道具 举报

57#
发表于 2016-8-17 08:29:17
123:
View the Exhibit to examine the error during the database startup.You open an RMAN session for the database instance. To repair the failure, you executed the following as the first command in the RMAN session:
RMAN> REPAIR FAILURE;
Which statement describes the consequence of the command?


A. The command performs the recovery and closes the failures.
B. The command only displays the advice and the RMAN script required for repair.
C. The command produces an error because the ADVISE FAILURE command has not been executed before the REPAIR FAILURE command.
D. The command executes the RMAN script to repair the failure and removes the entry from the
Automatic Diagnostic Repository (ADR).
Answer: C

123.
检查下列图示在数据库启动时候的错误。你为数据实例打开一个RMAN会话。为了修复这个故障,你在RMAN会话中首先执行了下面的命令:
RMAN> REPAIR FAILURE;
哪个称述对于这个命令时正确的?
A.这个命令执行恢复并解决故障
B.这个命令只显示为了修复的建议
C.这个命令产生一个错误,因为 在REPAIR FAILURE命令之前未执行 ADVISE FAILURE命令
D.这个命令执行RMAN脚本来修复故障并且从ADR中移除条目

答案:C

此题考点是使用故障恢复指导进行恢复(Data Recovery Advisor)。故障记录存储在ADR目录中,可以手动的进行自动恢复。ADVISE FAILURE 显示恢复的脚本。REPAIR FAILURE,执行之前的脚本。

顺序如下:
list failure--advise failure--repair failure
在运行repair failure之前必须使用 advise failure 否则会报错
参考官方文档:
http://docs.oracle.com/cd/E36909 ... e10642/rcmrepai.htm
https://docs.oracle.com/cd/B2835 ... 273/rcmsynta033.htm




124:
Which two are the prerequisites to enable Flashback Data Archive? (Choose two.)
A. Database must be running in archivelog mode.
B. Automatic undo management must be enabled.
C. Undo retention guarantee must be enabled.
D. The tablespace on which the Flashback Data Archive is created must be managed with Automatic Segment Space Management (ASSM).
Answer: BD
124:
哪2个是启用闪回数据归档的先决条件(选择2项)?
A.数据库必须运行在归档模式
B.自动UNDO 管理必须启用
C.undo担保必须启用
D.被数据归档创建的表空间必须被自动段空间管理(ASSM)
答案:BD


此题的考点是 开启闪回数据归档的前提条件。
使用 CREATE FLASHBACK ARCHIVE 创建闪回数据归档需要指定:
1.闪回数据归档的名称
2. 闪回数据归档使用表空间的名称
3.在第一个表空间能使用的最大的空间大小,默认是无限制,除非第一个表空间也是无限制,否则会出现ORA-55621 错误
4.保留时间
5.11.2.0.4可以使用OPTIMIZE DATA,默认是 no OPTIMIZE DATA

A错误,闪回数据归档的数据记录到表空间中。非归档模式也是可以启用闪回数据归档的。
C.错误。不一定需要设置undo担保,只是需要自动undo管理,这个是闪回技术的条件,主要用于记录一些事务。
闪回数据归档的表空间必须是ASSM自动段管理的。D正确。



官方参考:http://docs.oracle.com/cd/E11882 ... back.htm#ADFNS01001

回复 显示全部楼层 道具 举报

58#
发表于 2016-8-17 08:29:34
125:
Observe the structure of the table employees: The table contains 8475 records.
One of the employees wants to know the names of all employees of the company. For this, he fires the following query:
SELECT * FROM EMPLOYEES ORDER BY emp_fname;
Since the operation performed on executing the query cannot fit into memory, it requires disk space to complete the operation. Which of the following types of segments will Oracle allocate to complete the operation and to provide the required result?
A. Rollback segment
B. Temporary segment
C. Data segment
D. Index segment
Answer: B


125:
观察employees表的结构:这个表包含8475记录。其中一个员工想知道公司所有的员工的名称。为了这个目的,他使用了下列查询:
SELECT * FROM EMPLOYEES ORDER BY emp_fname;
由于执行的查询操作不能放进内存,其需要磁盘空间来完成这个操作。下列哪个段是Oracle分配用来完成这个操作和提供所需结果的?
A.回滚段
B.临时段
C数据段
D.索引段

答案:B


当进行查询时,Oracle 数据库经常需要临时工作空间在中间存储SQL语句执行。一般是在临时段中进行排序,哈希和位图合并。当创建索引时,Oracle 也将索引段放置到临时段中, 当索引完成后将其转为固定段。

当内存足够是,oracle不会为操作创建临时段。但是当内存不足的时候,oracle会自动的在磁盘上分配临时段。
由于临时段的分配和释放比较频繁,所以最好为临时段创建一个单独的表空间。将临时表空间放置到于system和其他表空间不同的磁盘上,避免磁盘I/O的争用。

根据题意是内存不足,需要使用磁盘空间来存放结果,此时分配的应该是临时段。A.C.D错误

Undo段:
Oracle 为活动事务维持记录,也就是undo 数据。Oracle 使用undo来做下列事情:
1.回滚一个活动事务
2.恢复停止的事务
3.提供读一致性
4.执行一些逻辑闪回操作

Oracle数据是在数据库内部存储undo数据,而不是像外部日志一样。Undo数据存储在数据块中,其更新和一般数据块一样,这些块的变化会生成redo。通过这种方式,Oracle数据库可以很有效的读取到undo数据而不需要读取外部日志。

Undo 数据存储在undo 表空间中。Oracle 提供了完全自动的机制,也就是自动undo段管理,用来管理undo段和undo表空间的空间。

参考官方文档:http://docs.oracle.com/cd/E11882 ... gical.htm#CNCPT1072








126:
Using the LIST command in Recovery Manager (RMAN), which two pieces of information in the
RMAN repository can be listed? (Choose two.)
A. stored scripts in the recovery catalog
B. backups that can be deleted from disk
C. backup sets and image copies are obsolete
D. backups that do not have the AVAILABLE status in the RMAN repository
Answer: AD

126:
在RMAN中使用LIST命令,在RMAN资料库中的哪2种信息可以被列出?(选择两项)
A.存放在恢复目录中的脚本
B.可以从磁盘上删除的备份
C.过期的备份集和镜像拷贝
D.在RMAN资料库中没有AVAILABLE状态的备份

答案:AD

此题和30 题重复,详细解答参考题30

官方参考:http://docs.oracle.com/cd/E11882 ... nta027.htm#RCMRF132

回复 显示全部楼层 道具 举报

59#
发表于 2016-8-17 08:29:50
127:
.A database is running in ARCHIVELOG mode and regular backups are performed. A user receives
the following error message:


Which is the recommended sequence of operations you need to perform for the query successfully?
A. Drop the affected tablespace, re-create the tablespace, restore the datafiles, and the tablespace.
B. Take the affected datafile offline (if not already offline), restore the damaged image of the datafile, and then bring it online.
C. Restart the database in MOUNT mode, restore the damaged datafile, recover the datafile and then open the database with resetlogs.
D. Put the database in RESTRICTED mode, restore all the datafiles in the affected datafile and recover the tablespace, and then put the database in normal operational mode.
Answer: B


128:
与 28 题类似
You are working on a 24X7 database. You want to design a backup strategy for your database that
uses user managed backups. You want to be able to perform all backups while the database remains online. Which statement about performing user-managed backups in a 24x7 environment is true?
A. You must have change tracking enabled in your database
B. Your database must be running in NOARCHIVELOG mode
C. To back up a tablespace, it must be in backup mode
D. To back up a tablespace, it must first be taken offline
Answer: C

128:
你工作在24*7的数据库,并设置使用用户管理备份的策略。你想在线的进行全库备份。哪2个称述关于24*7环境中的备份是正确的?
A.在数据库中必须开启块跟踪
B.数据库必须运行在NOARCHIVELOG模式
C.为了备份表空间,其必须在备份模式
D.为了备份表空间,其必须离线

答案:C

此题的考点是使用手动备份管理备份。要完成7*24的热备必须在归档模式下,B错误。A块跟踪是在RMAN在进行增量备份的时候加快备份速率的。手工备份并不是必须开启。A错误

使用手动备份的时候,如果表空间是在线的,需要将表空间置为备份模式:
ALTER TABLESPACE ... BEGIN BACKUP
备份完成后,再取消备份模式:
ALTER TABLESPACE ... END BACKUP 或者ALTER DATABASE END BACKUP
C对 D错,7*24表空间不能离线



备份只读表空间可以直接使用cp物理文件,exdp导出元数据的方式进行。如果在备份模式的时候,实例异常终止,需要将数据库启动到moun模式,运行ALTER DATABASE END BACKUP 之后再打开数据库。

--一般情况下是使用RMAN自动备份工具,很少使用手动管理的方式。

参考官方文档:
https://docs.oracle.com/cd/E1188 ... backup.htm#BRADV201

回复 显示全部楼层 道具 举报

60#
发表于 2016-8-17 08:31:22
129:
You are managing an ASM instance. You previously issued the following statements:
ALTER DISKGROUP dg1 DROP DISK disk2;
ALTER DISKGROUP dg1 DROP DISK disk3;
ALTER DISKGROUP dg1 DROP DISK disk5;
You want to cancel the disk drops that are pending for the DG1 disk group. Which statement should you issue?
A. ALTER DISKGROUP dg1 UNDROP disk2, disk3, disk5;
B. ALTER DISKGROUP dg1 UNDROP;
C. ALTER DISKGROUP dg1 UNDROP DISKS;
D. You cannot cancel the pending disk drops.
Answer: C

129:
你管理一个ASM实例。你之前发布了下列命令:
ALTER DISKGROUP dg1 DROP DISK disk2;
ALTER DISKGROUP dg1 DROP DISK disk3;
ALTER DISKGROUP dg1 DROP DISK disk5;
你想取消正在挂起的DG1磁盘组的删除,哪个语句你应该发布?
A. ALTER DISKGROUP dg1 UNDROP disk2, disk3, disk5;
B. ALTER DISKGROUP dg1 UNDROP;
C. ALTER DISKGROUP dg1 UNDROP DISKS;
D.你不能取消挂起的磁盘组删除。

答案:C

DROP DISK 子句可以让你从磁盘组中删除一个或多个磁盘,并且自动的平衡磁盘组。当你删除一个磁盘,Oracle ASM 重平衡所有磁盘数据并且清理那个不在是磁盘组的磁盘头。如果你指定了FORCE关键字,磁盘头将不会清理。
如果删除的是QUORUM 磁盘组或者属于QUORUM 故障组,那么你必须在删除的时候指定QUORUM


使用undrop 子句来取消从磁盘组删除磁盘。你可以取消在一个或多个磁盘组中挂起的删除,或者通过使用all来指定所有磁盘组中的所有磁盘。
这个子句不会关联到那些已经从磁盘组删除完毕的磁盘。这个子句会导致一个长时间运行的操作。你可以在ASM_OPERATION 动态视图中查询这个操作的状态。

参考官方文档:
http://docs.oracle.com/cd/E11882 ... statements_1007.htm

130:
You are maintaining the SALES database. You have added a new disk to a disk group. Automatic
Storage Management performs the rebalancing activity. You want to speed up the rebalancing activity.Which parameter should you specify to control the speed of the rebalancing activity?
A. ASM_POWER_LIMIT
B. ASM_DISKSTRING
C. ASM_DISKGROUPS
D. INSTANCE_TYPE
Answer: A

130:
你维护SALES数据库:你要增加一个新磁盘到一个磁盘组。ASM活动执行平衡。你想加快平衡活动。哪个参数可以控制平衡活动的速度?
A. ASM_POWER_LIMIT
B. ASM_DISKSTRING
C. ASM_DISKGROUPS
D. INSTANCE_TYPE
答案A


• ASM_POWER_LIMIT控制重新平衡操作的速度。值的范围从0 到1024(11.2.0.2以后是1024,之前是11),该值默认为1。
值为0表示关闭再平衡。更高的值让玩平衡的操作更快,但是会导致更高的I.O带宽和更多的平衡进程。
• ASM_DISKSTRING是一个与操作系统相关的值,ASM 使用它来限制搜索时发现的磁盘集。默认值为空字符串,更强的值可以减少ASM 执行发现磁盘所需的时间,从而提高磁盘组装载效率。不能动态修改ASM_DISKSTRING的值,并且如果新值不能用来发现已经mount的磁盘的话,会保留旧值。
• ASM_DISKGROUPS是ASM 实例启动时,ASM 实例要装载的磁盘组的名称列表。当在启动的时候使用NOMOUNT或当使用ALTER DISKGROUP ALL MOUNT语句时会忽略此参数值。
当磁盘组成功被创建或挂载,ASM会自动的将磁盘组加入到此参数中,并且在磁盘组删除或卸载的时候自动的从参数中移除。该参数没有默认值。
• INSTANCE_TYPE 用来指定实例是数据库实例还是ASM实例。对于数据库实例,该参数值为RDBMS,对于ASM实例,改参数值为ASM。默认值为RDBMS。


回复 显示全部楼层 道具 举报

61#
发表于 2016-8-18 11:10:31
131:
You are performing incomplete recovery using RMAN. You execute the following RUN block:
RUN
{
SET UNTIL SCN 1107600;
RESTORE DATABASE;
RECOVER DATABASE;
}
Which statement is true about the result?
A.RMAN restores all datafiles from the most recent backup available since the failure and applies the redo logs necessary to recover the database to SCN 1107600
B.RMAN restores all datafiles needed to restore the database through SCN 1107599 and applies the redo logs necessary to recover the database through SCN 1107599.
C.RMAN restores all datafiles and control files from the most recent backup
D.The RUN block fails because you did not specify an UNTIL clause in your RECOVER DATABASE command
Answer: B
131: 你使用RMAN执行不完全恢复。你执行下列RUN块
RUN
{
SET UNTIL SCN 1107600;
RESTORE DATABASE;
RECOVER DATABASE;
}
关于结果哪个语句是正确的?
A.RMAN从最近可用的备份中重建所有的数据文件直到故障点,并应用所有必要的日志恢复数据库到SCN 1107600
B.RMAN 重建数据库到SCN1107599所需的所有数据文件,并应用所需的日志恢复到数据库到SCN 1107599
C.RMAN从最近的备份中创建所有的控制文件和数据文件
D.RUN 块命令失败,因为你没在RECOVER DATABASE 命令中指定UNTIL子句。

答案:B
此题的考点是数据库的不完全恢复:
这个过程假设当前恢复的目标库是当前的incamation。控制文件是当前的,也就是不需要从备份控制文件中重建控制文件。数据库使用的是当前的参数文件。

在执行DBPITR时,可以通过在run块开始的时候指定SET UNTIL命令,而不是分别给RESTORE和RECOVER命令指定,可以避免错误。这个确保来重建的控制文件比在recover的时间戳要更早。


确定还原目标。可以查询alert 日志来确定还原的时间点。以下的查询列除了当前数据库化身的日志:
SELECT RECID, STAMP, THREAD#, SEQUENCE#, FIRST_CHANGE#
       FIRST_TIME, NEXT_CHANGE#
FROM   V$ARCHIVED_LOG
WHERE  RESETLOGS_CHANGE# =
       ( SELECT RESETLOGS_CHANGE#
         FROM   V$DATABASE_INCARNATION
         WHERE  STATUS = 'CURRENT');

可以需要在运行的时候设置好环境变量:
NLS_LANG = american_america.us7ascii
NLS_DATE_FORMAT="Mon DD YYYY HH24:MI:SS"
然后连接到目标库,将数据库启动到mount状态:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
执行下列run块:
RUN
{
  SET UNTIL SCN 1000;   
  RESTORE DATABASE;
  RECOVER DATABASE;
}
--如果指定的是时间,必须满足之前设置的NLS_DATA_FORMAT的日期格式。例如:
SET UNTIL TIME 'Nov 15 2004 09:00:00';
SET UNTIL SEQUENCE 9923;  
SET UNTIL RESTORE POINT before_update;

最后是用resetlogs的方式打开数据库:ALTER DATABASE OPEN RESETLOGS;

参考官方文档:
https://docs.oracle.com/cd/E1188 ... lash.htm#BRADV89754


132:
You issue the following RMAN command to set a retention policy on a database:
RMAN>CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
What will be the outcome of issuing this command?
A. After two days, a backup will be marked obsolete
B. After two days, a backup will be deleted from the media
C. If the RMAN repository has records of two or more recent backups of a file, then older backups will be deleted from the media.
D. If the RMAN repository has records of two or more recent backups of a file, then older backups will be marked obsolete.
Answer: D
答案:D

132:
你发布下列RMAN命令来对数据库设置保留策略:
RMAN>CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
发出这个命令的结果是什么?
A.在2天之后,一个备份将被标记为过期
B.在2天之后,一个备份从介质上被删除
C.如果RMAN资料库已经记录了2个或更多最近的备份文件,那么最老的备份将从介质上被删除
D. 如果RMAN资料库已经记录了2个或更多最近的备份文件,那么最老的备份将被标记为过期
答案:D

备份保留策略 指定了备份可以和你数据恢复需求匹配。这个策略可以基于恢复窗口或冗余度。使用CONFIGURE RETENTION POLICY命令来指定保留策略。

在CONFIGURE RETENTION POLICY命令中的REDUNDANCY参数指定多少个全备中数据文件或者level 0 的备份和控制文件RMAN需要保留。如果指定的全备或level 0级备份或控制文件超过了REDUNDANCY 设置,那么RNAM还会考虑将额外的备份成为过期的。默认的保留策略是 REDUNDANCY 1

作为你产生的更多备份。RMAN保持跟踪哪些需要保留,哪些是过期的。RMAN保留所有需要的恢复非过期备份的归档日志和增量备份。

在CONFIGURE命令中的RECOVER WINDOW参数指定了当前时间到最早可恢复点的天数。RMAN不会考虑任何全备份或等级为0的增量备份为过期的,如果其落在恢复窗口中。此外,RMAN保留恢复到窗口中任意一点,所需的所有归档日志和等级1的增量备份
例如:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
--确保你可以恢复到最近一周的任意时间点。
可以通过report obsolete 和v$backup_files中的OBSOLETE字段来观察无效的对象。
--过期的备份需要使用 delete obsolete 命令删除

关闭保留策略:
CONFIGURE RETENTION POLICY TO NONE;
这个可clear不同的地方是,clear是将其设置为默认值。NONE是禁用



官方参考:http://docs.oracle.com/cd/E11882 ... mconfb.htm#i1019345

回复 显示全部楼层 道具 举报

62#
发表于 2016-8-18 11:10:47
133:
Which statements about the MEMORY_TARGET initialization parameter are true? (Choose all that
apply.)
A. MEMORY_TARGET can be increased up to the value of MEMORY_MAX_TARGET, if
MEMORY_MAX_TARGET is set to a value greater than zero
B. MEMORY_MAX_TARGET defaults to a value of zero if MEMORY_TARGET is not set
C. MEMORY_TARGET represents the total amount of memory that can be allocated to SGA and PGA memory structures.
D. MEMORY_TARGET is static and cannot be modified without shutting down the instance
Answer: ABC
133 :
关于MEMORY_TARGET初始化参数哪个称述是正确的?(选择所有合适的选项)
A. MEMORY_TARGET 可以被增加到 MEMORY_MAX_TARGET的值,如果MEMORY_MAX_TARGET设置的值超过0
B. MEMORY_MAX_TARGET在MEMORY_TARGET没有设置的情况下默认值是0
C. MEMORY_TARGET代表可以分配的SGA和PGA内存结构总的内存
D. MEMORY_TARGET是静态参数,并且不能在没关闭实例的情形下修改
答案: ABC
MEMORY_TARGET:默认值是0,范围是从152MB到MEMORY_MAX_TARGET。其动态控制SGA和PGA,这个参数是可以动态修改。但是它不能超过MEMORY_MAX_TARGET参数设置的大小。默认值是0。
MEMORY_MAX_TARGET:这个参数默认值是0,指定了MEMORY_TARGET可设置的最大值。如果设置了此参数,但是忽略了MEMORY_TARGET. MEMORY_TARGET的值默认是0。
如果你忽略了MEMORY_MAX_TARGET,但是设置MEMORY_TARGET的值,oracle会自动的将MEMORY_MAX_TARGET的值设置为MEMORY_TARGET的值。

注意:默认的SGA_MAX_SIZE 值依赖于fMEMORY_TARGET 和 MEMORY_MAX_TARGET的值

参考文档:
https://docs.oracle.com/cd/E1828 ... 0/initparams139.htm

134:
Which three components does the Scheduler use for managing tasks within the Oracle environment?
(Choose three.)
A. a job
B. a program
C. a schedule
D. a PL/SQL procedure
Answer: ABC
134:
在Oracle环境调度程序为管理任务使用哪三个组件?
A.作业
B.程序
C.调度
D. 存储过程

答案:ABC

Scheduler 的对象包括:程序,调度,JOBs,Destinations,链,File Watchers,Credentials,作业类,窗口,组。
Scheduler 的对象属性方案,你可以给他们赋予对象权限。一些对象,包括作业类。窗口,和窗口组,经常被创建到sys方案下,即使用户不是sys。其他的对象被创建到本身的用户或者一个设计好的用户中。

程序:
一个程序对象描述了在调度中应该允许的程序。一个程序报告
1.一个动作:例如,存储过程名称,在操作系统中可执行文件的名称,或者一个PL/SQL文本
2.一个类型STORED_PROCEDURE, PLSQL_BLOCK, 或 EXTERNAL(这个是外部可执行程序)。
3.参数的数目:存储过程或外部可执行文件所接受的参数的数目

一个程序完是和job分离的。一个作业在一定的时间内运行,或是因为某个事件发生,并调用某个程序。
可以创建指向现有程序对象的作业,这意味着不同的作业可以使用相同的程序,并在不同的时间和不同的设置运行程序。有了正确的权限,不同的用户可以使用相同的程序,而不必重新定义它。因此,可以创建程序库,用户可以从现有程序的列表中选择。

调度:
一个调度对象(时间表)指定了一个作业在何时以及多少次运行。调度可以由多个工作共享。例如,一个业务季度的结束可能是许多工作的一个共同的时间框架。

这里有2个时间表的类型:
1.时间调度:
使用时间调度,你可以安排工作立即运行或在以后的时间。时间计划包括开始日期和时间,可选的结束日期和时间,以及可选的重复间隔。
2.事件调度:
使用事件调度,可以指定当某一事件发生时执行一个作业,如库存低于阈值或一个系统文件到达时。

作业:
一个作业对象(作业)是一个元数据的集合,描述了一个用户定义的任务。它定义了必须执行的(行动),当(一次性或经常性的时间表或是触发事件),在哪里(目的地),并与什么凭据。一个作业有一个所有者,是其创建的方案
通过指定一一个或更多的目的地,定义了一个作业运行的位置。目的地也是调度对象,如果您没有指定目的地,则假定该作业在本地数据库上运行。

参考官方文档:https://docs.oracle.com/cd/E1188 ... over.htm#ADMIN12668

回复 显示全部楼层 道具 举报

63#
发表于 2016-8-18 11:11:03
135:
You have enabled backup optimization in RMAN. You issue the following RMAN command to
configure a redundancy-based retention policy:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
Which statement is true?
A. The command fails because you cannot configure a redundancy-based retention policy when backup optimization is enabled
B. Backup optimization is performed, but RMAN considers the redundancy-based retention policy when it determines which datafiles should be backed up
C. Backup optimization is permanently disabled
D. Backup optimization is temporarily disabled because a redundancy-based retention policy is specified
Answer: B

135:
你在RMAN中开启了备份优化。你发布了下列RMAN命令来配置一个基于冗余度的保留策略:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
哪个称述是正确的?
A.这个命令失败,因为你不能在启用备份优化的时候配置基于冗余的保留策略
B.备份优化被执行,但是RMAN会考虑基于冗余的备份策略来确定应该被备份的数据文件
C.备份优化被永久的禁用
D.备份优化被临时禁用,因为一个基于冗余的保留策略被指定
答案:B

同考题42

此题考点是备份优化,备份优化会遵守原来的备份设置。只是在此基础上对一些不必要的文件进行忽略,加快备份速度。
备份优化会考虑备份策略,如果不满足备份策略,仍然会对所有文件进行备份,忽略备份优化。如果在满足备份策略的情况下,会跳过离线的数据文件。


注:你可以使用force选项来覆盖备份优化配置。使用BACK .... DELETE INPUT 会删除指定的归档日志文件,不管这些文件是否被备份优化跳过

参考官方文档:http://docs.oracle.com/cd/E25054 ... cmbckad.htm#autoId4







136:
You issue the following command on the RMAN prompt.
REPORT NEED BACKUP DAYS 5;
Which statement is true about executing this command?
A. It will display a list of files that need incremental backup
B. It will display a list of files that need backup after five days
C. It will display a list of files that were backed up in the last five days
D. It will display a list of files that have not been backed up in the last five days
E. It will apply the current retention policy to determine the files that need to be backed up
Answer: D
136:
你在RMAN中发布下列命令。
REPORT NEED BACKUP DAYS 5;
哪个关于这个语句的陈述是正确的?
A.将列出增量备份所需的文件
B.将列出在5天后需要备份的文件
C.将列出在最后5天中备份的文件
D.将列出在最近5天内没有备份的文件
E.将应用当前的保留策略来确定需要备份的文件

你可以在不同保留策略中使用REPORT NEED BACKUP,例如:
1. REPORT NEED BACKUP RECOVERY WINDOW OF n DAYS
显示满足恢复窗口保留策略所需的备份的对象
2. REPORT NEED BACKUP REDUNDANCY n
显示满足保留策略所需的备份的对象
3. REPORT NEED BACKUP DAYS n
显示对于恢复所需的归档超过N天的文件
4. REPORT NEED BACKUP INCREMENTAL n
显示对于恢复所需应用的增量备份超过N的文件



答案:D
参考官网:http://docs.oracle.com/cd/E11882 ... eprt.htm#sthref1040

回复 显示全部楼层 道具 举报

64#
发表于 2016-8-18 11:11:19
137:
You perform a backup using the following BACKUP command:
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
Which statement is true of this command?
A. A different procedure is required to restore a database from compressed backups
B. The AS COMPRESSED clause of the BACKUP command provided by RMAN is used to create
compressed backup sets and image copies.
C. Using this command to create backups minimizes the bandwidth consumed
D. Using this command to create backups improves the performance of the backup process
Answer: C
137:
你使用下列BACKUP命令来执行一个备份:
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
对于命令来说哪个陈述是正确的?
A.从压缩备份中重建数据库需要一个不同的存储过程
B.在RMAN中的BACKUP命令中的AS COMPRESSED子句被用来创建压缩备份集和镜像拷贝。
C.用这个命令创建背个来减少带宽的消耗
D.用这个命令创建备份提高了在备份过程中的性能
答案:C

此题考点是备份压缩,可以在BACKUP命令中使用AS COMPRESSED BACKUPSET子句来进行。
RMAN压缩备份集文本是在它们写入到磁盘之前。被使用的详细二进制压缩等级被自动地记录到备份集中。在恢复操作的时候不用显式的指定使用的压缩方式。

例如:
BACKUP
  AS COMPRESSED BACKUPSET
  DATABASE PLUS ARCHIVELOG;

压缩在备份和重建操作的时候会产生性能开销。二进制压缩消耗CPU资源,所以压缩备份需要调度来避开CPU使用高峰期。但是以下列情况可以接受性能的开销:
1.你使用磁盘级别的备份,但是目标地点和FRA的磁盘受到限制
2.你使用一些设备通过网络进行备份,此时减小带宽消耗比CPU使用更重要
3.你使用CD或DVD介质来进行归档备份,减少备份大小来减少介质开销和归档存储。

参考官方文档:http://docs.oracle.com/cd/E11882 ... bckba.htm#BRADV8138



138:
Which background process of a database instance, using Automatic Storage Management (ASM),
connects as a foreground process into the ASM instance?
A. ASMB
B. PMON
C. RBAL
D. SMON
Answer: A

138: 哪个后台进程是数据库实例,使用ASM连接到ASM实例的后台进程?
A. ASMB
B. PMON
C. RBAL
D. SMON

答案:A


ASMB后台进程管理与ASM实例通信,存储和提供统计信息。当ASM实例在ASMCMD cp命令时或数据实例第一次启动时(参数文件存储在ASM中)启动ASMB。ASMB也伴随ASM的OCR启动。

PMON 监控其他后台进程并且当一个服务或调度进程异常终止时执行进程恢复。PMON负责清理数据库的buffer cache和客户端进程的资源释放。

SMOM 负责各个层面的清理工作:
1.在实例启动时,如果需要的话执行实例恢复。在ORACLE RAC 数据库中,SMON进程可以为一个失败的实例进行实例恢复。
2.恢复中断的事务,跳过在实例恢复中由于文件读取或表空间离线的错误。当表空间或文件重新online时,SMON恢复事务。
3.清理未使用的临时段。例如,在创建索引时,Oracle会分配分区。如果操作失败,那么SMON会清理临时空间。
4.在字典管理表空间上合并相邻的空闲分区。
SMON定期检查其是否需要。其他进程可以在需要的时候call SMON。

RBAL asm平衡主进程。在ASM实例中,它协调平衡活动的磁盘组。在一个数据库实例中,它管理ASM磁盘组。

参考官方文档:
http://docs.oracle.com/cd/E25178 ... /e25789/process.htm


139:
You specify a nonzero value for the MEMORY_TARGET initialization parameter, but do not set the
PGA_AGGREGATE_TARGET or the SGA_TARGET parameters. You restart your database instance.
Which statement about the result is true?
A. The database instance starts, and Oracle sets the default value of SGA_TARGET to the same value as SGA_MAX_SIZE.
B. The database instance starts, and Oracle automatically tunes memory and allocates 60 percent to the SGA and 40 percent to the PGA.
C. The database instance starts, but Automatic Memory Management is disabled.
D. The database instance will not start because you did not specify the PGA_AGGREGATE_TARGET or SGA_TARGET parameter.
Answer: B

只需要设置一个目标内存大小初始化参数( MEMORY_TARGET )  和一个最大内存大小初始化参数( MEMORY_MAX_TARGET),数据库就会根据处理需求在SGA 与实例 PGA 之间动态交换内存。
自动内存管理是用两个初始化参数进行配置的:
MEMORY_TARGET:动态控制SGA和PGA时,Oracle总共可以使用的共享内存大小,这个参数是动态的,因此提供给Oracle的内存总量是可以动态增大,也可以动态减小的。它不能超过MEMORY_MAX_TARGET参数设置的大小。默认值是0。
MEMORY_MAX_TARGET:这个参数定义了MEMORY_TARGET最大可以达到而不用重启实例的值,如果没有设置MEMORY_MAX_TARGET值,默认等于MEMORY_TARGET的值。
使用动态内存管理时,SGA_TARGET和PGA_AGGREGATE_TARGET代表它们各自内存区域的最小设置,要让Oracle完全控制内存管理,这两个参数应该设置为0。
重启后,会根据实际情况重新动态分配内存。

回复 显示全部楼层 道具 举报

65#
发表于 2016-8-19 10:15:24
141:
You are tuning RMAN to optimize performance. You want tape I/O to be asynchronous when you
perform tape backups. Which action should you take?
A. Set the BACKUP_TAPE_IO_SLAVES parameter to FALSE.
B. Set the BACKUP_TAPE_IO_SLAVES parameter to TRUE.
C. Use compression when performing tape backups.
D. Configure multiple SBT channels.
Answer: B

141:
你对RMAN进行性能优化。当你执行磁带备份时,想异步磁带I/O。你需要执行哪个动作?
A.设置BACKUP_TAPE_IO_SLAVES 参数为FALSE
B.设置BACKUP_TAPE_IO_SLAVES 参数为TRUE
C.在执行磁带备份的时候使用压缩
D.配置多个SBT通道。


答案:B

C.选项明显无异步I/O无关。D选项多个通道并不能达到I/O异步。

BACKUP_TAPE_IO_SLAVES  参数指定了在RMAN中备份,靠谱或者重建数据到磁带时是否使用I/O服务进程(slaves)。Oracle 使用这些I/O 服务进程来从磁带设备进行写或者读。默认值是false,不会在备份中使用I/O服务进程。
启用此参数就可以使用双工备份了。否则会出现错误。

参考官方文档:http://docs.oracle.com/cd/E11882 ... s021.htm#REFRN10009






142:
Your database is in ARCHIVELOG mode. You have two online redo log groups, each of which contains one redo member. When you attempt to start the database, you receive the following errors:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\REDO01.LOG'
You discover that the online redo log file of the current redo group is corrupted.
Which statement should you use to resolve this issue?
A. ALTER DATABASE DROP LOGFILE GROUP 1;
B. ALTER DATABASE CLEAR LOGFILE GROUP 1;
C. ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1;
D. ALTER DATABASE DROP LOGFILE MEMBER 'D:\REDO01.LOG';
Answer: C

142:
你的数据库在归档记录模式。你有两个在线重做日志组,其中每个都包含一个重做成员。当你尝试启动数据库时,你收到以下错误:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\REDO01.LOG'
你发现当前的重做组联机重做日志文件被损坏。你应该使用哪种说法来解决这个问题?

A. ALTER DATABASE DROP LOGFILE GROUP 1;
B. ALTER DATABASE CLEAR LOGFILE GROUP 1;
C. ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1;
D. ALTER DATABASE DROP LOGFILE MEMBER 'D:\REDO01.LOG';

答案:C

当前日志组的状态时非归档的。可以将数据库启动到mount状态使用
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2;
命令来清理。如果有离线的数据库文件需要这些日志来online,还需要加上UNRECOVERABLE DATAFILE。在清理了这些日志之后,那些离线的数据文件在没备份的情况下只能被删除。例如:
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2 UNRECOVERABLE DATAFILE;
--在做清理操作之前,记得备份数据文件和控制文件。

其实,当在v$log中的状态时CURRENT或ACTIVE时,使用clear命令清理日志时,可能会出现ORA-1624错误(除非是不需要进行实例恢复的时候才能清理)。这种情况下,数据库必须重建和恢复到最近可用的归档的时间点。

此题意是正常关闭数据库后,启动时发现当前日志组损坏,故C正确。

参考官方文档:http://docs.oracle.com/cd/E11882 ... vsce.htm#BRADV90052

回复 显示全部楼层 道具 举报

66#
发表于 2016-8-19 10:15:41
143:
Which statement about recovering from the loss of a redo log group is true?
A. If the lost redo log group is ACTIVE, you should first attempt to clear the log file.
B. If the lost redo log group is CURRENT, you must clear the log file.
C. If the lost redo log group is ACTIVE, you must restore, perform cancel-based incomplete recovery, and open the database using the RESETLOGS option.
D. If the lost redo log group is CURRENT, you must restore, perform cancel-based incomplete recovery,and open the database using the RESETLOGS option.
Answer: D
143:
哪个关于丢失一个redo 日志组的恢复称述是正确的?
A.如果你丢失了ACTIVE的日志组,你应该首先尝试清理日志组文件
B.如果你丢失了CURRENT的日志组,你必须清理日志组文件
C.如果丢失了ACTIVE的日志组,你必须重建,执行基于cancel的不完全回去,然后使用resetlogs选项打开数据库
D. 如果丢失了CURRENT的日志组,你必须重建,执行基于cancel的不完全回去,然后使用resetlogs选项打开数据库

答案:D

如果丢失的是active日志组,数据库是open的,那么首先可以尝试执行 the ALTER SYSTEM CHECKPOINT,如果这个命令成功执行,那么active的日志组会变成inactive。如果操作不成功或者数据库挂掉了,后续的操作依赖于归档模式。
如果是非归档模式,那么只能进行非完全恢复(RECOVER DATABASE UNTIL CANCEL
),然后使用resetlogs方式打开数据库。
如果是归档模式,确保当前丢失的日志组可以被重新创建。执行不完全恢复,直到损坏日志组之前,然后使用resetlogs打开数据库。

如果是丢失的current日志,由于是LGWR正在写的,那么会导致LGWR I/O错误,实例会挂掉。在这种情况下,你不想从备份重建,执行不完全恢复,是哟resetlogs选项打开数据库。
参考官方文档:http://docs.oracle.com/cd/E11882 ... vsce.htm#BRADV90052












144:
You have enabled resumable space allocation in your database by setting the
RESUMABLE_TIMEOUT parameter set to a nonzero value.Which three statements about resumable space allocation are true? (Choose three.)
A. Even with resumable space allocation enabled for your database, you can disable resumable space allocation
B. A resumable statement is suspended only if an out of space error occurs.
C. When a resumable statement is suspended, the transaction that contains the statement is also suspended.
D. A resumable statement can only be suspended and resumed once during the execution of the statement.
E. You can query the V$SESSION_WAIT dynamic performance view to identify the statements that are suspended
Answer: ACE

144:
你通过设置RESUMABLE_TIMEOUT参数为非0值,来在数据库中启用可恢复的空间分配。哪3个语句关于数据库可恢复分配空间是正确的?(选择3个.)
A.即使空间分配被你的数据库启用,你可以禁用可恢复空间分配。
B.一个可恢复分配语句被暂停只在超出空间错误发生时。
C.当一个可恢复语句被暂停,其事务包含的语句也被暂停
D.一个可恢复语句只能被暂停并且只能在执行中恢复一次
E.你可以查询V$SESSION_WAIT 动态性能视图来确定被暂停的语句。

答案:ACE

此题考点是可恢复空间分配。


可恢复空间分配,在如果出现空间故障时,提供了一种暂停并在之后恢复数据库操作的一种方式。受影响的操作会被暂停,而不是返回一个错误。没有进程必须重启。当空间问题被解决时,挂起的操作会自动的恢复。

可以在系统或会话级别启用(alter system set RESUMABLE_TIMEOUT语句和alter session enable resumable语句)。默认一个新会话的可恢复模式是禁用的,除非在初始化参数中显式指定了RESUMABLE_TIMEOUT 初始化参数值为非零值。

可恢复语句支持下列条件发生时:
1.超出空间条件
2.最大分区达到
3.达到空间配额
--B错误

挂起语句自动地导致整个事务挂起。因此所有事务资源通过语句暂停和恢复。C正常
一个挂起的语句可以强制的抛出异常,通过使用 DBMS_RESUMABLE.ABORT()存储过程。
当设置了RESUMABLE_TIMEOUT 参数,一个可恢复语句会在超时时间后唤醒,如果错误条件在超时时间内仍然未解决,会返回异常给用户。

一个可恢复语句可以被挂起和恢复在执行的时候多次  --D错误

会话在下列情况下的可恢复空间分配被禁用:
1.会话没执行ALTER SESSION ENABLE RESUMABLE语句(系统级别未开启的话)
2.会话执行了ALTER SESSION DISABLE RESUMABLE语句
3.会话执行了ALTER SESSION ENABLE RESUMABLE,并且超时值为0(RESUMABLE_TIMEOUT参数或选项TIMEOUT timeout_value指定为0)

RESUMABLE_TIMEOUT设置后,在使用 ALTER SESSION ENABLE RESUMABLE时会使用
默认超时时间,不用显式再指定,如果显式指定0(或disable),就会禁用可恢复空间分配。A 正确


可查询的视图:
DBA_RESUMABLE:当前指定或被挂起可恢复语句。
V$SESSION_WAIT:当一个语句被挂起,这个语句被放置到等待状态。一行记录会插入到这个视图,并且EVENT字段会包含“statement suspended, wait error to be cleared”
--E正确

参考文档:
http://docs.oracle.com/cd/E11882 ... hema.htm#ADMIN11581

回复 显示全部楼层 道具 举报

67#
发表于 2016-8-19 11:21:55
145:
Which statement about using RMAN stored scripts is true?
A. To create and execute an RMAN stored script, you must use a recovery catalog.
B. When executing a stored script and a command fails, the remainder of the script is executed, and a message is written to the alert log file.
C. RMAN stored scripts can always be executed against any target database that is registered in the recovery catalog.
D. When you execute a stored script, it always executes using the persistent channel settings previously set with the CONFIGURE command.
Answer: A
答案解析:

145:
哪个关于使用RMAN存储脚本的称述是正确的?
A.来创建和执行一个RMAN存储脚本,你必须使用恢复目录
B.当执行一个存储脚本并且一个命令失败时,改脚本的其余部分被执行,并且一个消息被写入到告警日志文件
C.RMAN存储的脚本总是可以在任何注册到恢复目录的目标数据库执行。
D.当你执行一个存储的脚本,其总是使用之前configure命令配置的永久通道设置。

答案:A




如果要使用RMAN 存储脚本,就必须使用恢复目录。--A正确。

如果脚本中的某一RMAN 命令失败,则不会执行脚本中的后续RMAN 命令。--B错。

存储脚本在创建的时候可以定义为全局存储脚本或本地存储脚本。本地存储脚本与创建脚本时RMAN 连接到的目标数据库相关联,只有连接到该目标数据库时才能执行本地存储脚本。全局存储脚本则可针对在恢复目录中注册的任何数据库执行,如果RMAN 客户机连接到恢复目录和某一目标数据库。C错,没有指明是否是 global stored script还是 local scrip。


存储脚本就是create script 括号内支持RUN 块相同的命令,但是run @和@@命令不支持。可以在创建的的时候使用replace选项进行替换。
例如:
CREATE SCRIPT full_backup
{     
  BACKUP DATABASE PLUS ARCHIVELOG;
  DELETE OBSOLETE;
}
同样的,如果要创建全局脚本,还可以加上注释选项:
CREATE GLOBAL SCRIPT global_full_backup
COMMENT 'use only with ARCHIVELOG mode databases'
{     
  BACKUP DATABASE PLUS ARCHIVELOG;
  DELETE OBSOLETE;
}

你也可以从文件中读取,但是必须用{}将命令括起来,否则就会出现语法错误,就像使用命令行键入一样:
CREATE SCRIPT full_backup
  FROM FILE '/tmp/my_script_file.txt';


如果要使用RMAN 存储脚本,就必须使用恢复目录。创建RMAN 存储脚本时:连接到所需的目标数据库和恢复目录,然后执行CREATE SCRIPT命令即可创建存储脚本。
在使用DELETE SCRIPT 命令删除脚本时,首先会搜寻连接到目标库上是否有对应的脚本,如果没有的话就会删除相同名称的global脚本。


执行:
RUN
{
  EXECUTE SCRIPT full_backup;
}

--也可以指定GLOBAL 参数运来指定运行全局脚本


还可以在脚本中使用变量:
CREATE SCRIPT quarterly {
  ALLOCATE CHANNEL c1
    DEVICE TYPE sbt
    PARMS 'ENV=(OB_MEDIA_FAMILY=&1)';
  BACKUP
    TAG &2
    FORMAT '/disk2/bck/&1%U.bck'
    KEEP FOREVER
    RESTORE POINT &3
    DATABASE;
}

在RMAN连接的时候可以直接传递参数进去,或者在RUN块运行的时候指定:
rman TARGET / CATALOG rman@catdb USING arc_backup bck0906 FY06Q3
RMAN> @/tmp/catscript.rman

RUN
{
  EXECUTE SCRIPT quarterly
    USING arc_backup
          bck1206
          FY06Q4;
}
在连接到RMAN的时候执行脚本:
rman TARGET / CATALOG rman@catdb SCRIPT '/tmp/fbkp.cmd';
--其中fbkp.cmd是写好的RMAN脚本

官方参考:http://docs.oracle.com/cd/E11882 ... mcatdb.htm#BRADV182

回复 显示全部楼层 道具 举报

68#
发表于 2016-8-22 10:29:33
147:
You have not configured Oracle Managed Files (OMF) in your database. You do not want to scan the entire datafile every time an incremental backup is performed. You decide to enable the block change tracking feature. Which statement should you use to enable the block change tracking feature?
你没有在数据库中配置OMF。你不想在执行增量备份的时候扫描整个数据文件。你决定启用块跟踪特性。哪个语句可以让你启用块跟踪特性?
A. ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
B. ALTER SYSTEM ENABLE BLOCK CHANGE TRACKING USING FILE <path>;
C. ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE <path>;
D. ALTER SYSTEM ENABLE BLOCK CHANGE TRACKING;
Answer: C
答案解析:

在使用OMF(由参数DB_CREATE_FILE_DEST控制)的情况下,可以使用如下命令启用块跟踪:

ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

如果不使用OMF,可以使用如下命令,其中REUSE可以重用存在的文件:
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
  USING FILE '/mydir/rman_change_track.f' REUSE;

回复 显示全部楼层 道具 举报

69#
发表于 2016-8-24 10:25:40
148:
You want to back up your 100-GB database on a remote tape device. You are required to ensure that minimum network bandwidth is consumed while transferring the backups to the tape device.
The current consumption of your CPU is approximately 40 percent.
Which type of backup should you perform?
A. standard backup set
B. image copy
C. compressed backup
D. user-managed backup
Answer: C

148:
你想将100GB的数据库备份到远程磁带设备上。你需要确保在传输备份到磁带设备上时是最小带宽消耗。当前消耗的CPU接近40%。
A.标准备份集
B.镜像拷贝
C.压缩备份
D.用户管理的备份

标准备份集并不能。
镜像拷贝只能在磁带上使用
用户管理的备份不能直接备份到磁带上

答案:C
使用压缩备份,可以节省空间,减小带宽消耗。

回复 显示全部楼层 道具 举报

70#
发表于 2016-8-25 09:51:38
150:
Your database is running in ARCHIVELOG mode, and the database is open. You execute an RMAN
backup and specify the KEEP clause.
Which components are backed up when this option is specified?
A. only the control file, the current SPFILE, and data files
B. only the current SPFILE and data files if autobackup is disabled
C. only the data files and the archived redo logs
D. the control file, current SPFILE file, data files, and archived redo logs
Answer: D

150:
你的数据库运行在 ARCHIVLELOG 模式,并且数据库是开启的。你执行RMAN备份并使用KEEP子句。
当指定选项时,哪些组件被备份?
A.只有控制文件,当前参数文件,和数据库文件
B.如果自动备份被禁用,只用当前参数文件和数据文件
C.只用数据文件和归档日志
D.控制文件,当前参数文件,数据文件和归档日志

答案:D
此题考点是keep子句的使用.
如果在BACKUP命令中使用了KEEP,RMAN会生成U盾讴歌备份集,并有下列特性:
1.会自动备份数据文件,控制文件(即便自动控制文件备份被禁用),和参数文件
2.自动生成归档日志文件备份来确保数据库备份可以恢复到一致性状态。
3。如果FORMAT,POOL或TAG参数被指定,那么会被所有的备份指定。所以FORMAT字符串必须允许多个备份片(%U)
4.支持使用RESTORE POINT子句来创建一个普通的重建点。也就是一个SCN标记让备份必须能恢复到且保证一致性。这个SCN在刚完成数据文件备份时被捕获。RMAN会同步重建点到恢复目录中,并维持重建点一直存在备份。

参考官方文档:http://docs.oracle.com/cd/E11882 ... ckba.htm#BRADV89552

回复 显示全部楼层 道具 举报

71#
发表于 2016-8-26 11:05:18
151:
You want to use RMAN to create compressed backups.
Which statement is true about the compression algorithms that RMAN can use?
A. The BZIP2 compression algorithm consumes more CPU resources than the ZLIB compression
algorithm.
B. The ZLIB compression algorithm consumes more CPU resources than the BZIP2 compression
algorithm.
C. The ZLIB compression algorithm provides maximum compression and produces smaller backups than the BZIP2 compression algorithm.
D. Only the BZIP2 compression algorithm can be used to make compressed backups to disk.
Answer: A
答案:A

151:
你想使用RMAN 创建 压缩备份。下面关于RMAN能使用的压缩算法的称述哪个是正确的?
A.BZIP2 压缩算法比ZLIB压缩算法消耗更多CPU资源
B. ZLIB压缩算法比BZIP2压缩算法消耗更多CPU资源
C. ZLIB压缩算比BZIP2压缩算法提供了更大的压缩量并生成更小的备份
D.只有BZIP2压缩算法可以被磁盘上的压缩备份使用


ZLIB 运行的比BZIP2更快,但是产生更大的文件。ZLIB需要高级压缩选项。可以使用ONFIGURE COMPRESSION ALGORITHM ‘ZLIB’;来配置。
可以通过查询select * from V$RMAN_COMPRESSION_ALGORITHM来确定当前的算法(默认是BASIS default)





可以使用以下级别或压缩比率:
• LOW:此级别速度最快。与MEDIUM相比,它提供较少的压缩,但CPU 使用率最低。(与LZO压缩对应。)
• MEDIUM:此级别很好兼顾了CPU 使用率和压缩比率。(与ZLIB压缩对应。)
• HIGH:此级别提供最佳压缩比率,但CPU 消耗最大。(与GZIP 压缩对应。)
• BASIC:与BZIP2(10g类型压缩)对应。

回复 显示全部楼层 道具 举报

72#
发表于 2016-8-29 08:32:12
152:
.You discover that your Recycle Bin contains two tables with the same name, MY_TABLE. You also
have a table named MY_TABLE in your schema. You execute the following statement:
FLASHBACK TABLE my_table TO BEFORE DROP RENAME TO my_table2;
What will be the result of executing this statement?
A. One of the tables is recovered from the Recycle Bin using a First In First Out (FIFO) approach.
B. One of the tables is recovered from the Recycle Bin using a Last In First Out (LIFO) approach.
C. Both the tables are recovered from the Recycle Bin with one table renamed to MY_TABLE2 and the other to a system-generated name.
D. None of the tables are recovered from the Recycle Bin, and the statement returns an error.
Answer: B

152:
你发现你的回收站中包含了2个相同名字的表,my_table,你在用户中也有一个名称为my_table的表。你执行下列语句:
FLASHBACK TABLE my_table TO BEFORE DROP RENAME TO my_table2;
哪个是执行此命令的结果?
A.回收站中的一个表使用FIFO方法(先进先出)被恢复。
B. 回收站中的一个表使用LIFO方法(后进先出)被恢复
C.回收站中的2个表都被恢复,并且其中一个表重命名为MY_TABLE2,另一个表命名为系统生成表
D.回收站中的表不会恢复,并且语句返回一个错误

此题考点是使用FLASHBACK TABLE ... TO BEFORE DROP 语句从回收站内恢复表。
你可以指定其原始名称或者在回收站内的系统生成的名称。在多次删除一个表时,回收站中系统的名称对于恢复是有帮助的,其名称是唯一的。可以通过下列语句查询:
SELECT object_name, original_name, createtime FROM recyclebin;  
SELECT * FROM RECYCLEBIN;
SELECT * FROM USER_RECYCLEBIN;

注意,表上相关的索引对象不会恢复(位图连接索引和全文索引不能恢复,触发器会自动关联,除非已经关联到其他对象上),需要手动的执行恢复,例如:
SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME = 'JOB_HISTORY';
ALTER INDEX "BIN$DBo9UChtZSbgQFeMiAdCcQ==$0" RENAME TO JHIST_JOB_IX;
--物化视图log也不能恢复
如果在恢复时,指定了原始名称,并且回收站内包含多个这个名称的表,那么数据库会检索最近移动到回收站内的表来恢复。如果你想恢复更早的表,除了执行系统名称外,还可以不断的执行FLASHBACK TABLE ... TO BEFORE DROP语句知道恢复了你想恢复的表为止
注意:如果新表被创建到相同方案中,但是这个表名称已经有了,那么数据库会返回一个错误,除非你指定了RENAME TO子句。

此题使用原始名称恢复,所以是后进先出进行恢复,在方案中虽然存在相同名称的表,由于指定了RENAME TO 子句所以可以正常恢复,不会报错。
答案:B
参考官方文档:http://docs.oracle.com/cd/E11882 ... 9012.htm#SQLRF54996
参考:http://docs.oracle.com/cd/E11882 ... bles.htm#ADMIN11683


回复 显示全部楼层 道具 举报

73#
发表于 2016-8-31 09:41:51
153:
You want to disable resumable space allocation for all sessions.
Which value should be assigned to the RESUMABLE_TIMEOUT parameter to disable resumable space allocation for all sessions?
A. 0
B. 10
C. 100
D. NULL
Answer: A

153:
你想对所有会话禁用可恢复空间分配。
哪个值可以用来设置RESUMABLE_TIMEOUT 参数来对所有会话禁用可恢复空间分配?
A. 0
B. 10
C. 100
D. NULL
答案A

如果此参数设置为0,那么会对所有会话禁用可恢复空间分配,即使使用了ALTER SESSION ENABLE RESUMABLE 语句(没指定timeout值)。
ALTER SYSTEM SET RESUMABLE_TIMEOUT=0;

参考官方文档:http://docs.oracle.com/cd/E11882 ... hema.htm#ADMIN11589

回复 显示全部楼层 道具 举报

74#
发表于 2016-9-1 09:53:54
155:
Your database is running in ARCHIVELOG mode. You are performing a user-managed backup of the DATA1 tablespace. You place the DATA1 tablespace in backup mode by issuing the following statement:
ALTER TABLESPACE data1 BEGIN BACKUP;
While you are performing the backup, an error occurs that causes the instance to terminate abnormally. Which statement about the DATA1 tablespace is true?
A. The DATA1 tablespace is automatically taken out of backup mode when the instance aborts.
B. If you restart the database, the DATA1 tablespace will be automatically taken out of backup mode when the database is opened.
C. If you restart the database, the DATA1 tablespace will be automatically taken out of backup mode when the database is mounted.
D. If you restart the database, the database will not be opened.

155:
你的数据库运行在ARCHIVELOG模式,你对DATA1表空间执行用户管理的备份。你使用下列命令将DATA1表空间置为备份模式:
ALTER TABLESPACE data1 BEGIN BACKUP;
当你执行备份的时候,一个错误发生导致实例终止。下列关于DATA1表空间的称述哪个是正确的?
A.DATA1表空间在实例终止时,自动的离开备份模式。
B.如果你重启数据库,DATA1表空间将在数据库打开的时候自动的离开备份模式。
C. 如果你重启数据库,DATA1表空间将在数据库挂载的时候自动的离开备份模式。
D.如果你重启数据库,数据库将不会被打开

Answer: D

此题考点是手动管理的备份恢复。当你忘记结束备份模式时,才开库的时候由于是异常终止,需要实例恢复,会一直在不一致的状态无法open。此时应该在mout状态手动执行end backup命令,再alter database open数据库。

注意:不要在任何从备份重建的备份上使用alter database end backup。你需要对这些数据文件运行recover命令,然后对那些确保是当前的数据文件执行end backup 命令。

参考官方文档:
https://docs.oracle.com/cd/E1188 ... backup.htm#BRADV201

回复 显示全部楼层 道具 举报

75#
发表于 2016-9-2 09:34:41
156:
Examine the following values of the initialization parameters in the database having the SID ORCL:
BACKGROUND_DUMP_DEST=/u01/app/oracle/product/11.1.0/db_1/bdump
USER_DUMP_DEST=/u01/app/oracle/product/11.1.0/db_1/udump
CORE_DUMP_DEST=/u01/app/oracle/product/11.1.0/db_1/cdump
DIAGNOSTIC_DEST=
The environment variables have the following value:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
What is the location of the Automatic Diagnostic Repository (ADR) home?
A. /u01/app/oracle/product/11.1.0/db_1
B. /u01/app/oracle
C. $ORACLE_HOME/bdump
D. $ORACLE_HOME/log
Answer: B

156:
检查SID为ORCL数据库的初始化参数:
BACKGROUND_DUMP_DEST=/u01/app/oracle/product/11.1.0/db_1/bdump
USER_DUMP_DEST=/u01/app/oracle/product/11.1.0/db_1/udump
CORE_DUMP_DEST=/u01/app/oracle/product/11.1.0/db_1/cdump
DIAGNOSTIC_DEST=
环境变量值如下:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1

自动诊断仓库(ADR)目录的位置在哪?
A. /u01/app/oracle/product/11.1.0/db_1
B. /u01/app/oracle
C. $ORACLE_HOME/bdump
D. $ORACLE_HOME/log
答案:B

ADR 的基础目录由 DIAGNOSTIC_DEST参数控制,这里此参数未设置。所以有下面2种情形:
1.如果ORACLE_BASE环境变量已设置,则DIAGNOSTIC_DEST被设置为$ORACLE_BASE
2.如果ORACLE_BASE环境变量未设置,则DIAGNOSTIC_DEST被设置为$ORACLE_HOME/log

diag/product_type/product_id/instance_id

product_type 是rdbms
product_id 是 DB_UNIQUE_NAME
参考官方文档:http://docs.oracle.com/cd/E11882 ... diag.htm#ADMIN11008

回复 显示全部楼层 道具 举报

76#
发表于 2016-9-5 09:48:47
157:
.Which statements are true regarding table compression? (Choose all that apply.)
A. It saves disk space and reduces memory usage.
B. It saves disk space but has no effect on memory usage.
C. It incurs extra CPU overhead during DML as well as direct loading operations.
D. It incurs extra CPU overhead during DML but not direct loading operations.
E. It requires uncompress operation during I/O.

Answer: AC

157:
哪些关于表压缩的称述是正确的?(选择所有适应的)
A.其减少了磁盘空间和内存的使用
B.其节省了磁盘空间但是对内存使用无影响
C.在DML和直接路径加载时,其会导致额外的CPU开销
D.在I/O的时候需要解压缩操作
答案:AC

此题考点是表压缩。D是迷惑选项,解压的时候不是在I/O读取的时候,而是在内存中处理数据的时候,会消耗更多的CPU。

压缩节省磁盘空间,减少数据库在buffer cach中的内存使用,并且明显的加快在读的速度。
压缩会导致在数据加载和DML时消耗更多的CPU.

压缩可以发生在插入,更新,批量装载到表时。
允许压缩的操作包括:
1.单行或数组插入或更新
2.直接路径insert方式,包括SQL*loader的直接路径加载,CTAS语句,并行INSERT语句,包含APPEND或APPEND_VALUES hint的插入语句。

在创建表的时候可以使用COMPRESS FOR 选项选择压缩模式,可以有的压缩模式为忽略,默认是[BASIC],OLTP,QUERY[LOW|high],archive[low|high],例如:
CREATE TABLE orders  ...  COMPRESS FOR OLTP;

查询表是否被压缩:
SELECT table_name, compression, compress_for FROM user_tables;
SELECT table_name, partition_name, compression, compress_for
  FROM user_tab_partitions;

表压缩的限制:
在线段收缩不支持被压缩的表
表压缩不会应用在安全LOBs中,安全LOB有自己的压缩方式
以BASIC压缩方式创建的表,PCT_FREE参数自动设置为0,除非你手动指定

当不再想使用表压缩时,可以使用ALTER TABLE...NOCOMPRESS修改表的数据,但是之前插入已压缩的数据无法修改。之后插入的语句不会再被压缩。

参考官方文档:
http://docs.oracle.com/cd/E11882 ... bles.htm#ADMIN11630

回复 显示全部楼层 道具 举报

12
返回列表
您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-18 22:45 , Processed in 0.066330 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569