内存自动管理与手动管理

简单的理解内存的自动管理与手动管理就是以下所说的,查看以下的参数值:
---查看内存参数:


sys@PROD>show parameter 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 800M

memory_target                        big integer 800M

parallel_servers_target              integer     16

pga_aggregate_target                 big integer 0

sga_target                           big integer 0

如果pga_aggregate_target sga_target两个参数值为零,则为内存自动管理。

---也可以独自查看sga_target参数

PROD>show parameter sga_target

NAME                                 TYPE        VALUE

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

sga_target                           big integer 0

PROD>

#如果sga_target参数值为0,则共享内存自动管理。

---还可以查看workarea_size_policy参数:

sys@PROD>show parameter workarea_size_policy

NAME                                 TYPE        VALUE

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

workarea_size_policy                 string      AUTO

sys@PROD>

#该参数有两个值:manualauto,缺省情况下,为auto值,即自动管理。


---更改内存的管理方式:
--查看数据库版本:

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE    11.2.0.4.0  Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production

 

--确定内存为手动管理:

PROD> show parameter 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 0

memory_target                big integer 0

parallel_servers_target          integer     512

pga_aggregate_target             big integer 160M

sga_target               big integer 640M

 

--修改为自动管理:

PROD> alter system set sga_target=0 scope=spfile;

System altered.

 

PROD> alter system set pga_aggregate_target=0 scope=spfile;

System altered.

 

PROD> alter system set memory_max_target=800M scope=spfile;

System altered.

 

PROD> alter system set memory_target=800M scope=spfile;

System altered.

--关闭重启数据库使其生效:

PROD> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

PROD> startup;

ORACLE instance started.

 

Total System Global Area  835104768 bytes
Fixed Size                  2257840 bytes
Variable Size             507513936 bytes
Database Buffers          322961408 bytes
Redo Buffers                2371584 bytes
Database mounted.
Database opened.


--确定参数修改成功:

PROD> show parameter 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 800M

memory_target                big integer 800M

parallel_servers_target          integer     512

pga_aggregate_target             big integer 0

sga_target               big integer 0

注:修改的oracle内存不要大于物理内存,这点要检查好单位是GB/MB/KB,否则会出现startup没有任何反应。






请使用浏览器的分享功能分享到微信等