ITPub博客

首页 > 数据库 > Oracle > OCP题库解析_1Z0-053_QUESTION 413

OCP题库解析_1Z0-053_QUESTION 413

原创 Oracle 作者:db_Iris 时间:2014-02-10 21:48:46 0 删除 编辑

QUESTION NO: 413

 

【题目示意】

此题考察关于AMM的知识。

【解析】

MEMORY_TARGET specifies the Oracle system-wide usable memory. The database tunes memory to the MEMORY_TARGET value, reducing or enlarging the SGA and PGA as needed.

MEMORY_TARGET should be set higher than or equal to the sum of the current sizes of the SGA and PGA.

In a text-based initialization parameter file, if you omit MEMORY_MAX_TARGET and include a value for MEMORY_TARGET, then the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET. If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero. After startup, you can then dynamically change MEMORY_TARGET to a nonzero value, provided that it does not exceed the value of MEMORY_MAX_TARGET.

Total memory usage can grow beyond the value of MEMORY_TARGET. For example, memory is allocated to PL/SQL tables and varrays regardless of the value of MEMORY_TARGET as long as memory is available at the operating system level.

In the Default value field, IMMEDIATE mode autotuning requests are necessary to avoid ORA-04031 errors. The DEFERRED andIMMEDIATE modes are reflected in the OPER_MODE column of the V$MEMORY_RESIZE_OPS view.

                                                        ——摘自官方手册

 

只需要设置一个目标内存大小初始化参数( 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。

题414即将自动内存管理模式更改为ASMM。

【实验】

SQL> show parameters target

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

archive_lag_target                   integer     0

db_flashback_retention_target        integer     1440

fast_start_io_target                 integer     0

fast_start_mttr_target               integer     0

memory_max_target                    big integer 404M

memory_target                        big integer 404M

parallel_servers_target              integer     32

pga_aggregate_target                 big integer 0

sga_target                           big integer 0

可以看到所有的SGA_TARGET 和 PGA_TARGET都为0

SQL> show parameters shared

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

hi_shared_memory_address             integer     0

max_shared_servers                   integer

shared_memory_address                integer     0

shared_pool_reserved_size            big integer 7549747

shared_pool_size                     big integer 0

shared_server_sessions               integer

shared_servers                       integer     1

可以看到shared_pool 为0,所以题413只有D正确。

【小结】

AMM 的引入使得Oracle 内存管理更加灵活多样。 组合出来有 5 种内存管理形式: 

自动内存管理 ;

自动共享内存管理 ;

手工共享内存管理 ;

自动 PGA 管理 ;

手动 PGA 管理 。

 

【答案】

 

相关参考

http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams143.htm#REFRN10285

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29438052/viewspace-1079174/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-12

  • 博文量
    11
  • 访问量
    56617