202.In which two aspects 方面 does hot patching 热补丁differ from conventional常规的 patching? (Choose two.)
A. It consumes more memory compared with conventional patching
与常规补丁比较消耗更多的内存
D. It does not require down time to apply or remove unlike conventional patching.
不需要停机时间
Answer: AD
常规补丁和热补丁
常规补丁基本上要求关闭数据库实例。
热补丁不需要任何停机时间。在安装热补丁时,应用程序可以继续运行。同样的,无需停机便可卸载已安装的热补丁程序
常规补丁程序和热补丁程序
热补丁注意事项
• 可能不是所有平台上都有热补丁程序。当前在以下平台上有热补丁程序:
– Linux x86
– Linux x86-64
– Solaris SPARC64
• 要消耗一些额外的内存。
– 确切的内存数取决于:
— 补丁程序的大小
— 当前运行的Oracle 进程数
– 最小内存数:每个Oracle 进程大约占一个OS 页面
203.Which statement about the enabling of table compression in Oracle Database 11g is true?
D. Compression can be enabled at the table, tablespace, or partition level for both direct loads and
conventional DML.
Answer: D
直接路径拼数据块
常规路径转成SQL
204.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?
B. Set the BACKUP_TAPE_IO_SLAVES parameter to TRUE.
执行备份时,磁盘置于异步模式, 设置。。。为TRUE
205.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?
B. The database instance starts, and Oracle automatically tunes memory and allocates 60 percent to the
SGA and 40 percent to the PGA.
自动内存管理,非零值 重启实例 SGA 60% PGA 40%
206.Which statements are true regarding the Query Result Cache? (Choose all that apply.)
查询结果缓存
A. It can be set at the system, session, or table level.
B. It is used only across statements in the same session.
C. It can store the results from normal as well as flashback queries. 闪回查询结果也可以保存
D. It can store the results of queries based on normal, temporary, and dictionary tables.
Answer: AC
207.You want to analyze a SQL Tuning Set (STS) using SQL Performance Analyzer in a test database.
Which two statements are true regarding the activities performed during the test execution of SQLs in a
SQL Tuning Set? (Choose two.)
A. Every SQL statement in the STS is considered only once for execution.
C. The execution plan and execution statistics are computed for each SQL statement in the STS.
你要在测试数据库中使用SQL性能分析器分析SQL调优集( STS)。关于在SQL调优集中
SQL测试执行的活动,哪两个描述是真实的?
A.在SQL调优集中每个SQL语句被认为是只执行一次。C.
C.为SQL调优集中的每个SQL语句计算执行计划和执行统计
208.You want to enable resumable space allocation at the instance level. Which two actions would enable
resumable space allocation at the instance level? (Choose two.)
C. modifying the RESUMABLE_TIMEOUT initialization parameter to a nonzero value
D. issuing the ALTER SYSTEM SET RESUMABLE_TIMEOUT=<nonzero value>; statement
Answer: CD
一.Resumable Space Allocation 可恢复空间分配 说明
从9i开始,Oracle提供了一种避免因为space Error而导致事务异常的操作: resumable spaceallocation. 在Oracle 10g的OCP 考试中有考resumable session 的这个知识点。
官网对Resumable的解释:
--当我们执行一个事务操作,如果使用了resumable space allocation,那么如果遇到space空间不够的情况,事务不会中断,而是生成一条alert log 发送给DBA,当DBA 解决这个问题之后,事务自动恢复运行。
在Oracle 10g中对resumable session功能做了增强,这些新特性在MOS的文档上有说明:
10g NEW FEATUREon RESUMABLE TIMEOUT [ID 240991.1]
10g中增强的内容有:
1)增加了一个resumable_timeout的参数
该参数可以在system和session level级均可以修改.对RAC db,每个instance可以单独设置. 而9i中只能在session一级中设置。
--设置resumable_timeout 之后,在指定的timeout 时间内会自动恢复,如果超过这个时间没有解决问题,事务操作还是会被中断。
2)对分布式事务的支持
3)增加了一个监控的视图
在10g中,我们也可以通过DBA_OUTSTANDING_ALERTS来监控resumablesession.
209.You executed the following commands:
SQL> ALTER SESSION SET OPTIMIZER_USE_PENDING_STATISTICS = false;
SQL> EXECUTE DBMS_STATS.SET_TABLE_PREFS('SH', 'CUSTOMERS', 'PUBLISH','false');
SQL> EXECUTE DBMS_STATS.GATHER_TABLE_STATS('SH', 'CUSTOMERS');
Which statement is correct regarding the above statistics collection on the SH.CUSTOMERS table in the
above session?
A. The statistics are stored in the pending statistics table in the data dictionary.
11gr2开始,可以使用下面类型的操作来收集优化器统计信息:
1. 自动发布收集的统计信息在收集操作结束以后(默认选项publish)
2. 保存新的统计信息,并且待定(暂不发布pending)
这个特性可以将新收集的统计信息置为待定状态,所以可以先验证新统计信息的有效性然后再发布。
可以使用下面的命令来查看是否默认发布新的统计信息。
sys@DAVID> SELECTDBMS_STATS.GET_PREFS('PUBLISH') PUBLISH FROM DUAL;
PUBLISH
----------------------------------------------------------------------------------------------------
TRUE
返回为true或者false。True表示新的统计信息收集后即发布,也就是说优化器会使用新的统计信息来生查询计划,False表示收集的统计信息会被放入USER_TAB_PENDING_STATS和USER_IND_PENDING_STATS,并且不会立刻被优化器使用,为待定状态。
210.The Database Resource Manager is automatically enabled in the maintenance window that runs the
Automated Maintenance Task. What is the reason for this?
数据库资源管理器自动使能维护窗口运行自动维护任务, 原因是?
D. to prevent the Automated Maintenance Tasks from consuming消耗 excessive过多的 amounts of system resources
Answer: D
组织过度消耗系统资源
211.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
212.Note the following parameters settings in your database:
SGA_MAX_SIZE = 1024M
SGA_TARGET = 700M
DB_8K_CACHE_SIZE = 124M
LOG_BUFFER = 200M
You issued the following command to increase the value of DB_8K_CACHE_SIZE:
SQL> ALTER SYSTEM SET DB_8K_CACHE_SIZE=140M;
What would happen?
D. It will fail because an increase in the DB_8K_CACHE_SIZE cannot be accommodated 使适应within
SGA_MAX_SIZE
Answer: D
因为总的SGA_MAX_SIZE为1024M,如果把DB_8K_CACHE_SIZE 设置为140M,则700M+200M+140M=1040M,超过了1024M,会报错。
213.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?
C. The command produces an error because the ADVISE FAILURE command has not been executed
before the REPAIR FAILURE command.
214.You issued the following command on the temporary tablespace LMTEMP in your database:
SQL>ALTER TABLESPACE lmtemp SHRINK SPACE KEEP 20M;
Which requirement must be fulfilled for this command to succeed?
A. The tablespace must be locally managed.
本地管理表空间与字典管理表空间相比大大提高了管理效率和数据库性能,其优点如下:
1.减少了递归空间管理
本地管理表空间是自己管理分配,而不是象字典管理表空间需要系统来管理空间分配,本地表空间是通过在表空间的每个数据文件中维持一个位图来跟踪在此文件中块的剩余空间及使用情况。并及时做更新。这种更新只对表空间的额度情况做修改而不对其他数据字典表做任何update操作,所以不会产生任何回退信息,从而大大减少了空间管理,提高了管理效率。同时由于本地管理表空间可以采用统一大小分配方式(UNIFORM),因此也大大减小了空间管理,提高了数据库性能。
2.系统自动管理extents大小或采用统一extents大小
本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大小分配(UNIFORM)则是由用户指定extents大小。这两种分配方式都提高了空间管理效率。
3.减少了数据字典之间的竞争
因为本地管理表空间通过维持每个数据文件的一个位图来跟踪在此文件中块的空间情况并做更新,这种更新只修改表空间的额度情况,而不涉及到其他数据字典表,从而大大减少了数据字典表之间的竞争,提高了数据库性能。
4.不产生回退信息
因为本地管理表空间的空间管理除对表空间的额度情况做更新之外不修改其它任何数据字典表,因此不产生回退信息,从而大大提高了数据库的运行速度。
5.不需合并相邻的剩余空间
因为本地管理表空间的extents空间管理会自动跟踪相邻的剩余空间并由系统自动管理,因而不需要去合并相邻的剩余空间。同时,本地管理表空间的所有extents还可以具有相同的大小,从而也减少了空间碎片。
6.减少了空间碎片
7.对临时表空间提供了更好的管理
215.Which two statements regarding the Flashback Table feature are correct? (Choose two.)
B. Flashback Table operation does not shrink the segments.
D. Flashback Table operation acquires exclusive data manipulation language (DML) locks.
Answer: BD
答案:(B、D)
解析:
A(X),不能对系统表、远程表和fixed table 执行闪回表操作
C(X),闪回表操作使用undo还原数据,不需要用logminer来挖掘redo_sql和undo_sql
一,Flashback Table功能描述
将数据表恢复到之前的一个时间点或SCN号。
注意:该功能将改变当前表及附属对象统一闪回到之前的一个状态。
二,需要修改的系统参数
undo_management,参数需要是“AUTO”,保证回滚段使用模式是SMU mode
undo_retention,单位是秒,调整可回滚的时间范围
确认系统的相关参数
三,原理
闪回表(Flashback table)与闪回查询(Flashback query)的原理大致相同,也是利用undo信息来恢复表对象到以前的某一个时间点(一个快照),因此也要确
保AUM(automatic undo management)有足够的Retention值。Flashback table技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要
使用flashback 的特性,必须启用自动撤销管理表空间。
但闪回表不等于闪回查询,其区别如下:
闪回查询只是查询以前的一个快照而已,并不改变当前表的状态。
闪回表则是将恢复当前表及附属对象一起回到以前的时间点。
四,特性:
1. 在线操作
2. 恢复到指定的时间点(或者SCN)的任何数据
3. 自动恢复相关属性
4. 满足分布式的一致性
5. 数据的一致性,所有相关对象将自动一致。
五,语法:
SQL> flashback table flashback_table_test to timestamp to_timestamp('2012-12-29 16:44:17', 'yyyy-mm-dd hh24:mi:ss');
SQL> flashback table flashback_table_test to scn 662421;
SQL> flashback table flashback_table_test to timestamp to_timestamp('2012-12-29 16:44:17', 'yyyy-mm-dd hh24:mi:ss') enable triggers;
六,运用闪回表前提
1,普通用户中需要有Flashback any table的系统权限。命令如:
2.,有该表的select、insert、delete、alter权限。
3,必须保证该表有row movement(行移动)。
1.当闪回删除操作之前,如果某个键值如主键被重用,将导致违反主键约束,闪回失败。
2.若闪回所需要的UNDO信息不存在,将引发ORA-08180:no snapshot found based on specified time(未找到基于指定时间的快照)错误
3.如果受闪回影响的记录被其它用户锁定,将引发ORA-00054:resource busy and acquire with NOWAIT specified (资源忙碌)错误
4.表定义在闪回期间不能发生变化,否则导致ORA-01466:unable to read data - table definition has changed(表定义已变化)错误
5.闪回前未启用row movement,将收到ORA-08189: cannot flashback the table because row movement is not enabled 错误
6.对于存在参照关系的情况,建议将主表等一起实施闪回,否则,将收到ORA-02091: transaction rolled back,ORA-02291错误
7.SYS 模式中的表不能使用表闪回技术
216.Which three elements can a job chain process involve? (Choose three)
A. an event
B. a schedule
C. a program
D. another chain
E. a lightweight job
Answer: BDE
program只是Job的组成部分
Defining Chain Steps
After creating a chain object, you define one or more chain steps. Each step can point to one of the following:
A Scheduler program object (program)--包含 lightweight job
Another chain (a nested chain)
An event schedule, inline event, or file watcher
The following PL/SQL block creates a lightweight job. Lightweight jobs must reference a program, and the program type must be 'PLSQL_BLOCK' or 'STORED_PROCEDURE'. In addition, the program must be already enabled when you create the job.
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'my_lightweight_job1',
program_name => 'polling_prog_n2',
repeat_interval => 'FREQ=SECONDLY;INTERVAL=10',
end_date => '30-APR-09 04.00.00 AM Australia/Sydney',
job_style => 'LIGHTWEIGHT',
comments => 'Job that polls device n2 every 10 seconds');
END;
/
Oracle CHAIN,也就是链,是将一串需要完成的作业连在一起,根据每一个步骤完成的不同结果来确定下面的哪一个动作需要被完成。实际上也就是if .. then ..else。比如,可能有如下的定义,step 1成功执行,执行step 2,如果step 1执行失败,执行step 3,如果step 2或step 3 执行成功,退出整个chain,如果step 2 或step 3执行失败,发送邮件并退出。CHAIN的主要步骤包括定义程序(做什么)、定义CHAIN步骤(总步骤),以及CHAIN的规则(如何做)。
217.Your organization decided to upgrade the existing Oracle 10g database to Oracle 11g database in a
multiprocessor environment. At the end of the upgrade, you observe that the DBA executes the following
script:
SQL> @utlrp.sql
What is the significance of executing this script?
10g升级到11g 更新结束后执行脚本 utlrp.sql 的意义
编译无效对象
--编译无效对象脚本utlrp.sql
$ sqlplus '/as sysdba' @?/rdbms/admin/utlrp.sql
utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象.
oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象
C. It performs parallel recompilation of any stored PL/SQL as well as Java code.
utlrp.sql
PL/SQL
SYS
Recompiles all existing PL/SQL modules that were previously in an INVALID state, such as packages, procedures, and types.
Run the utlrp.sql script after creating or upgrading a database. This script recompiles all PL/SQL modules that may be in an INVALID state, including packages, procedures, types, and so on. This step is optional, but recommended so that the performance cost of recompilation is incurred during the installation rather than in the future.
Note:
There should be no other data definition language (DDL) statements running on the database while the script is running, and packages STANDARD and DBMS_STANDARD must be valid.
Start SQL*Plus:
DRIVE_LETTER:\> sqlplus /nolog
Connect to the database with the SYS account:
SQL> CONNECT SYS AS SYSDBA
Enter password:
SYS_password
Start the database (if necessary):
SQL> STARTUP
Run the utlrp.sql script, which by default is located in ORACLE_HOME\rdbms\admin\utlrp.sql. For example:
SQL> @?\rdbms\admin\utlrp.sql
218.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?
D. If you restart the database, the database will not be opened.
Answer: D
D,无法open,需要先把该表空间end backup
我们在对数据库进行热备份的时候,需要将表空间置于脱机或backup命令后,对其数据文件进行拷贝。但是为什么需要在热备份之前需要alter tablespace … begin backup呢?这里牵扯到一个SCN的概念。
首先我们强制进行检查点进程
SQL> alter system checkpoint;
System altered
在这里先明确一个概念
v$database → checkpoint_change# ,表示系统检查点SCN,存放在控制文件里
v$datafile →checkpoint_change#,表示数据文件检查点SCN,存放在控制文件里
→last_change#,终止SCN,存放在控制文件里
v$datafile_header → checkpoint_change#,启动SCN,start SCN,存放在数据文件头里
当检查点SCN,datafile SCN和start SCN都一致时,数据库不需要进行介质恢复。至于终止SCN,数据库在打开的状况下值为NULL,当我们正常关闭数据库时才会有数值。如果数据库是abort关闭的,那么此时终止SCN为空,于是数据库重新开启会根据这个终止SCN为空而判断出需要进行介质恢复。
此时,我们通过SQL语句select b.NAME,a.checkpoint_change# database_scn,b.checkpoint_change# datafile_scn,c.CHECKPOINT_CHANGE# start_scn,b.last_change# shut_scn from v$database a, v$datafile b, v$datafile_header c where b.FILE# = c.FILE#;查看当前的4类SCN
可以看到当前系统SCN为830445
现在我们将要备份的其中一个表空间置于begin backup模式:
SQL> alter tablespace test begin backup;
Tablespace altered
再查看下SCN:
此时test表空间下的test1和test2数据文件的datafile SCN和start SCN变成了830645
我们再做一次checkpoint (alter system checkpoint)
这时候我们发现begin backup的tablespace下的数据文件SCN并没有变化
这样带来的好处是,我们拷贝数据文件是个漫长的过程,我们不能保证数据文件头一定是首先被拷贝到备份里去的。在这过程中,数据库有可能会发生变化,假如已经产生变化的数据块之前已经被拷贝到备份里了,而没有置于begin backup的话其数据文件头里的SCN也将会产生变化,之后,数据文件头被拷贝到备份。如果之后的某个时间数据库需要进行恢复,将备份拷贝过来,从数据文件头的SCN开始进行介质恢复,那么从前面热备份操作时开始拷贝到文件产生变化的这段时间内的数据不在备份里,而介质恢复也不会去重做它,就将导致数据丢失。
换回来讲,如果在热备份时数据文件头的SCN被冻结了,可以保证在进行介质恢复时从830645开始进行恢复,而热备需要大量的日志空间,我们可以猜想从begin backup到end backup这短时间,数据库将相应的变化信息并不是和平时一样简简单单的记录在日志文件中,或许这种状态是将变化的数据块的镜像完全拷贝到日志文件中,在进行介质恢复时,这段时间的信息或许是将变化的数据块(SCN大于datafile SCN)重新覆盖而不是简简单单的redo。
alter tablespace test end backup
219.You executed the following PL/SQL block successfully:
VARIABLE tname VARCHAR2(20)
BEGIN dbms_addm.insert_finding_directive (NULL, DIR_NAME=>'Detail CPU Usage
A. It consumes more memory compared with conventional patching
与常规补丁比较消耗更多的内存
D. It does not require down time to apply or remove unlike conventional patching.
不需要停机时间
Answer: AD
常规补丁和热补丁
常规补丁基本上要求关闭数据库实例。
热补丁不需要任何停机时间。在安装热补丁时,应用程序可以继续运行。同样的,无需停机便可卸载已安装的热补丁程序
常规补丁程序和热补丁程序
热补丁注意事项
• 可能不是所有平台上都有热补丁程序。当前在以下平台上有热补丁程序:
– Linux x86
– Linux x86-64
– Solaris SPARC64
• 要消耗一些额外的内存。
– 确切的内存数取决于:
— 补丁程序的大小
— 当前运行的Oracle 进程数
– 最小内存数:每个Oracle 进程大约占一个OS 页面
203.Which statement about the enabling of table compression in Oracle Database 11g is true?
D. Compression can be enabled at the table, tablespace, or partition level for both direct loads and
conventional DML.
Answer: D
直接路径拼数据块
常规路径转成SQL
204.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?
B. Set the BACKUP_TAPE_IO_SLAVES parameter to TRUE.
执行备份时,磁盘置于异步模式, 设置。。。为TRUE
205.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?
B. The database instance starts, and Oracle automatically tunes memory and allocates 60 percent to the
SGA and 40 percent to the PGA.
自动内存管理,非零值 重启实例 SGA 60% PGA 40%
206.Which statements are true regarding the Query Result Cache? (Choose all that apply.)
查询结果缓存
A. It can be set at the system, session, or table level.
B. It is used only across statements in the same session.
C. It can store the results from normal as well as flashback queries. 闪回查询结果也可以保存
D. It can store the results of queries based on normal, temporary, and dictionary tables.
Answer: AC
207.You want to analyze a SQL Tuning Set (STS) using SQL Performance Analyzer in a test database.
Which two statements are true regarding the activities performed during the test execution of SQLs in a
SQL Tuning Set? (Choose two.)
A. Every SQL statement in the STS is considered only once for execution.
C. The execution plan and execution statistics are computed for each SQL statement in the STS.
你要在测试数据库中使用SQL性能分析器分析SQL调优集( STS)。关于在SQL调优集中
SQL测试执行的活动,哪两个描述是真实的?
A.在SQL调优集中每个SQL语句被认为是只执行一次。C.
C.为SQL调优集中的每个SQL语句计算执行计划和执行统计
208.You want to enable resumable space allocation at the instance level. Which two actions would enable
resumable space allocation at the instance level? (Choose two.)
C. modifying the RESUMABLE_TIMEOUT initialization parameter to a nonzero value
D. issuing the ALTER SYSTEM SET RESUMABLE_TIMEOUT=<nonzero value>; statement
Answer: CD
一.Resumable Space Allocation 可恢复空间分配 说明
从9i开始,Oracle提供了一种避免因为space Error而导致事务异常的操作: resumable spaceallocation. 在Oracle 10g的OCP 考试中有考resumable session 的这个知识点。
官网对Resumable的解释:
--当我们执行一个事务操作,如果使用了resumable space allocation,那么如果遇到space空间不够的情况,事务不会中断,而是生成一条alert log 发送给DBA,当DBA 解决这个问题之后,事务自动恢复运行。
在Oracle 10g中对resumable session功能做了增强,这些新特性在MOS的文档上有说明:
10g NEW FEATUREon RESUMABLE TIMEOUT [ID 240991.1]
10g中增强的内容有:
1)增加了一个resumable_timeout的参数
该参数可以在system和session level级均可以修改.对RAC db,每个instance可以单独设置. 而9i中只能在session一级中设置。
--设置resumable_timeout 之后,在指定的timeout 时间内会自动恢复,如果超过这个时间没有解决问题,事务操作还是会被中断。
2)对分布式事务的支持
3)增加了一个监控的视图
在10g中,我们也可以通过DBA_OUTSTANDING_ALERTS来监控resumablesession.
209.You executed the following commands:
SQL> ALTER SESSION SET OPTIMIZER_USE_PENDING_STATISTICS = false;
SQL> EXECUTE DBMS_STATS.SET_TABLE_PREFS('SH', 'CUSTOMERS', 'PUBLISH','false');
SQL> EXECUTE DBMS_STATS.GATHER_TABLE_STATS('SH', 'CUSTOMERS');
Which statement is correct regarding the above statistics collection on the SH.CUSTOMERS table in the
above session?
A. The statistics are stored in the pending statistics table in the data dictionary.
11gr2开始,可以使用下面类型的操作来收集优化器统计信息:
1. 自动发布收集的统计信息在收集操作结束以后(默认选项publish)
2. 保存新的统计信息,并且待定(暂不发布pending)
这个特性可以将新收集的统计信息置为待定状态,所以可以先验证新统计信息的有效性然后再发布。
可以使用下面的命令来查看是否默认发布新的统计信息。
sys@DAVID> SELECTDBMS_STATS.GET_PREFS('PUBLISH') PUBLISH FROM DUAL;
PUBLISH
----------------------------------------------------------------------------------------------------
TRUE
返回为true或者false。True表示新的统计信息收集后即发布,也就是说优化器会使用新的统计信息来生查询计划,False表示收集的统计信息会被放入USER_TAB_PENDING_STATS和USER_IND_PENDING_STATS,并且不会立刻被优化器使用,为待定状态。
210.The Database Resource Manager is automatically enabled in the maintenance window that runs the
Automated Maintenance Task. What is the reason for this?
数据库资源管理器自动使能维护窗口运行自动维护任务, 原因是?
D. to prevent the Automated Maintenance Tasks from consuming消耗 excessive过多的 amounts of system resources
Answer: D
组织过度消耗系统资源
211.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
212.Note the following parameters settings in your database:
SGA_MAX_SIZE = 1024M
SGA_TARGET = 700M
DB_8K_CACHE_SIZE = 124M
LOG_BUFFER = 200M
You issued the following command to increase the value of DB_8K_CACHE_SIZE:
SQL> ALTER SYSTEM SET DB_8K_CACHE_SIZE=140M;
What would happen?
D. It will fail because an increase in the DB_8K_CACHE_SIZE cannot be accommodated 使适应within
SGA_MAX_SIZE
Answer: D
因为总的SGA_MAX_SIZE为1024M,如果把DB_8K_CACHE_SIZE 设置为140M,则700M+200M+140M=1040M,超过了1024M,会报错。
213.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?
C. The command produces an error because the ADVISE FAILURE command has not been executed
before the REPAIR FAILURE command.
214.You issued the following command on the temporary tablespace LMTEMP in your database:
SQL>ALTER TABLESPACE lmtemp SHRINK SPACE KEEP 20M;
Which requirement must be fulfilled for this command to succeed?
A. The tablespace must be locally managed.
本地管理表空间与字典管理表空间相比大大提高了管理效率和数据库性能,其优点如下:
1.减少了递归空间管理
本地管理表空间是自己管理分配,而不是象字典管理表空间需要系统来管理空间分配,本地表空间是通过在表空间的每个数据文件中维持一个位图来跟踪在此文件中块的剩余空间及使用情况。并及时做更新。这种更新只对表空间的额度情况做修改而不对其他数据字典表做任何update操作,所以不会产生任何回退信息,从而大大减少了空间管理,提高了管理效率。同时由于本地管理表空间可以采用统一大小分配方式(UNIFORM),因此也大大减小了空间管理,提高了数据库性能。
2.系统自动管理extents大小或采用统一extents大小
本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大小分配(UNIFORM)则是由用户指定extents大小。这两种分配方式都提高了空间管理效率。
3.减少了数据字典之间的竞争
因为本地管理表空间通过维持每个数据文件的一个位图来跟踪在此文件中块的空间情况并做更新,这种更新只修改表空间的额度情况,而不涉及到其他数据字典表,从而大大减少了数据字典表之间的竞争,提高了数据库性能。
4.不产生回退信息
因为本地管理表空间的空间管理除对表空间的额度情况做更新之外不修改其它任何数据字典表,因此不产生回退信息,从而大大提高了数据库的运行速度。
5.不需合并相邻的剩余空间
因为本地管理表空间的extents空间管理会自动跟踪相邻的剩余空间并由系统自动管理,因而不需要去合并相邻的剩余空间。同时,本地管理表空间的所有extents还可以具有相同的大小,从而也减少了空间碎片。
6.减少了空间碎片
7.对临时表空间提供了更好的管理
215.Which two statements regarding the Flashback Table feature are correct? (Choose two.)
B. Flashback Table operation does not shrink the segments.
D. Flashback Table operation acquires exclusive data manipulation language (DML) locks.
Answer: BD
答案:(B、D)
解析:
A(X),不能对系统表、远程表和fixed table 执行闪回表操作
C(X),闪回表操作使用undo还原数据,不需要用logminer来挖掘redo_sql和undo_sql
一,Flashback Table功能描述
将数据表恢复到之前的一个时间点或SCN号。
注意:该功能将改变当前表及附属对象统一闪回到之前的一个状态。
二,需要修改的系统参数
undo_management,参数需要是“AUTO”,保证回滚段使用模式是SMU mode
undo_retention,单位是秒,调整可回滚的时间范围
确认系统的相关参数
三,原理
闪回表(Flashback table)与闪回查询(Flashback query)的原理大致相同,也是利用undo信息来恢复表对象到以前的某一个时间点(一个快照),因此也要确
保AUM(automatic undo management)有足够的Retention值。Flashback table技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要
使用flashback 的特性,必须启用自动撤销管理表空间。
但闪回表不等于闪回查询,其区别如下:
闪回查询只是查询以前的一个快照而已,并不改变当前表的状态。
闪回表则是将恢复当前表及附属对象一起回到以前的时间点。
四,特性:
1. 在线操作
2. 恢复到指定的时间点(或者SCN)的任何数据
3. 自动恢复相关属性
4. 满足分布式的一致性
5. 数据的一致性,所有相关对象将自动一致。
五,语法:
SQL> flashback table flashback_table_test to timestamp to_timestamp('2012-12-29 16:44:17', 'yyyy-mm-dd hh24:mi:ss');
SQL> flashback table flashback_table_test to scn 662421;
SQL> flashback table flashback_table_test to timestamp to_timestamp('2012-12-29 16:44:17', 'yyyy-mm-dd hh24:mi:ss') enable triggers;
六,运用闪回表前提
1,普通用户中需要有Flashback any table的系统权限。命令如:
2.,有该表的select、insert、delete、alter权限。
3,必须保证该表有row movement(行移动)。
1.当闪回删除操作之前,如果某个键值如主键被重用,将导致违反主键约束,闪回失败。
2.若闪回所需要的UNDO信息不存在,将引发ORA-08180:no snapshot found based on specified time(未找到基于指定时间的快照)错误
3.如果受闪回影响的记录被其它用户锁定,将引发ORA-00054:resource busy and acquire with NOWAIT specified (资源忙碌)错误
4.表定义在闪回期间不能发生变化,否则导致ORA-01466:unable to read data - table definition has changed(表定义已变化)错误
5.闪回前未启用row movement,将收到ORA-08189: cannot flashback the table because row movement is not enabled 错误
6.对于存在参照关系的情况,建议将主表等一起实施闪回,否则,将收到ORA-02091: transaction rolled back,ORA-02291错误
7.SYS 模式中的表不能使用表闪回技术
216.Which three elements can a job chain process involve? (Choose three)
A. an event
B. a schedule
C. a program
D. another chain
E. a lightweight job
Answer: BDE
program只是Job的组成部分
Defining Chain Steps
After creating a chain object, you define one or more chain steps. Each step can point to one of the following:
A Scheduler program object (program)--包含 lightweight job
Another chain (a nested chain)
An event schedule, inline event, or file watcher
The following PL/SQL block creates a lightweight job. Lightweight jobs must reference a program, and the program type must be 'PLSQL_BLOCK' or 'STORED_PROCEDURE'. In addition, the program must be already enabled when you create the job.
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'my_lightweight_job1',
program_name => 'polling_prog_n2',
repeat_interval => 'FREQ=SECONDLY;INTERVAL=10',
end_date => '30-APR-09 04.00.00 AM Australia/Sydney',
job_style => 'LIGHTWEIGHT',
comments => 'Job that polls device n2 every 10 seconds');
END;
/
Oracle CHAIN,也就是链,是将一串需要完成的作业连在一起,根据每一个步骤完成的不同结果来确定下面的哪一个动作需要被完成。实际上也就是if .. then ..else。比如,可能有如下的定义,step 1成功执行,执行step 2,如果step 1执行失败,执行step 3,如果step 2或step 3 执行成功,退出整个chain,如果step 2 或step 3执行失败,发送邮件并退出。CHAIN的主要步骤包括定义程序(做什么)、定义CHAIN步骤(总步骤),以及CHAIN的规则(如何做)。
217.Your organization decided to upgrade the existing Oracle 10g database to Oracle 11g database in a
multiprocessor environment. At the end of the upgrade, you observe that the DBA executes the following
script:
SQL> @utlrp.sql
What is the significance of executing this script?
10g升级到11g 更新结束后执行脚本 utlrp.sql 的意义
编译无效对象
--编译无效对象脚本utlrp.sql
$ sqlplus '/as sysdba' @?/rdbms/admin/utlrp.sql
utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象.
oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象
C. It performs parallel recompilation of any stored PL/SQL as well as Java code.
utlrp.sql
PL/SQL
SYS
Recompiles all existing PL/SQL modules that were previously in an INVALID state, such as packages, procedures, and types.
Run the utlrp.sql script after creating or upgrading a database. This script recompiles all PL/SQL modules that may be in an INVALID state, including packages, procedures, types, and so on. This step is optional, but recommended so that the performance cost of recompilation is incurred during the installation rather than in the future.
Note:
There should be no other data definition language (DDL) statements running on the database while the script is running, and packages STANDARD and DBMS_STANDARD must be valid.
Start SQL*Plus:
DRIVE_LETTER:\> sqlplus /nolog
Connect to the database with the SYS account:
SQL> CONNECT SYS AS SYSDBA
Enter password:
SYS_password
Start the database (if necessary):
SQL> STARTUP
Run the utlrp.sql script, which by default is located in ORACLE_HOME\rdbms\admin\utlrp.sql. For example:
SQL> @?\rdbms\admin\utlrp.sql
218.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?
D. If you restart the database, the database will not be opened.
Answer: D
D,无法open,需要先把该表空间end backup
我们在对数据库进行热备份的时候,需要将表空间置于脱机或backup命令后,对其数据文件进行拷贝。但是为什么需要在热备份之前需要alter tablespace … begin backup呢?这里牵扯到一个SCN的概念。
首先我们强制进行检查点进程
SQL> alter system checkpoint;
System altered
在这里先明确一个概念
v$database → checkpoint_change# ,表示系统检查点SCN,存放在控制文件里
v$datafile →checkpoint_change#,表示数据文件检查点SCN,存放在控制文件里
→last_change#,终止SCN,存放在控制文件里
v$datafile_header → checkpoint_change#,启动SCN,start SCN,存放在数据文件头里
当检查点SCN,datafile SCN和start SCN都一致时,数据库不需要进行介质恢复。至于终止SCN,数据库在打开的状况下值为NULL,当我们正常关闭数据库时才会有数值。如果数据库是abort关闭的,那么此时终止SCN为空,于是数据库重新开启会根据这个终止SCN为空而判断出需要进行介质恢复。
此时,我们通过SQL语句select b.NAME,a.checkpoint_change# database_scn,b.checkpoint_change# datafile_scn,c.CHECKPOINT_CHANGE# start_scn,b.last_change# shut_scn from v$database a, v$datafile b, v$datafile_header c where b.FILE# = c.FILE#;查看当前的4类SCN
可以看到当前系统SCN为830445
现在我们将要备份的其中一个表空间置于begin backup模式:
SQL> alter tablespace test begin backup;
Tablespace altered
再查看下SCN:
此时test表空间下的test1和test2数据文件的datafile SCN和start SCN变成了830645
我们再做一次checkpoint (alter system checkpoint)
这时候我们发现begin backup的tablespace下的数据文件SCN并没有变化
这样带来的好处是,我们拷贝数据文件是个漫长的过程,我们不能保证数据文件头一定是首先被拷贝到备份里去的。在这过程中,数据库有可能会发生变化,假如已经产生变化的数据块之前已经被拷贝到备份里了,而没有置于begin backup的话其数据文件头里的SCN也将会产生变化,之后,数据文件头被拷贝到备份。如果之后的某个时间数据库需要进行恢复,将备份拷贝过来,从数据文件头的SCN开始进行介质恢复,那么从前面热备份操作时开始拷贝到文件产生变化的这段时间内的数据不在备份里,而介质恢复也不会去重做它,就将导致数据丢失。
换回来讲,如果在热备份时数据文件头的SCN被冻结了,可以保证在进行介质恢复时从830645开始进行恢复,而热备需要大量的日志空间,我们可以猜想从begin backup到end backup这短时间,数据库将相应的变化信息并不是和平时一样简简单单的记录在日志文件中,或许这种状态是将变化的数据块的镜像完全拷贝到日志文件中,在进行介质恢复时,这段时间的信息或许是将变化的数据块(SCN大于datafile SCN)重新覆盖而不是简简单单的redo。
alter tablespace test end backup
219.You executed the following PL/SQL block successfully:
VARIABLE tname VARCHAR2(20)
BEGIN dbms_addm.insert_finding_directive (NULL, DIR_NAME=>'Detail CPU Usage