91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Oracle 11g AMM與ASMM切換

發布時間:2021-11-04 17:30:35 來源:億速云 閱讀:223 作者:柒染 欄目:建站服務器

這篇文章給大家介紹如何進行Oracle 11g AMM與ASMM切換,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

 

現在的Oracle正在往智能化方向發展。如果我們現在找一些8i/9i時代的Oracle書籍,怎么樣配置合適的數據庫各內存池大小是非常重要的話題。但是進入10g之后,自動內存池調節成為一個重要Oracle特性。

 

10g時,Oracle推出了ASMMAutomatic Shared Memory Management),實現了Oracle SGAPGA內部結構的自調節。進入11g之后,AMMAutomatic Memory Management)實現了參數MEMORY_TARGET,將SGAPGA的規劃全部統籌起來對待。

 

默認情況下,Oracle 11g是使用AMM的。我們在安裝過程中,指定Oracle使用內存的百分比,這個取值就作為MEMORY_TARGETMEMORY_MAX_TARGET的初始取值使用。如果這兩個參數設置為非零取值,那么Oracle就是采用AMM管理策略的。

 

同時,如果我們設置這兩個參數為0,則AMM自動關閉。對應的SGA_TARGETPGA_AGGREGATE_TARGET參數取值非零之后,Oracle自動退化使用ASMM特性。

 

本篇簡單介紹一下AMMASMM的相互切換。

 

1、實驗環境介紹

 

我們選擇11.2.0.3進行試驗,當前狀態為ASMM

 

 

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

PL/SQL Release 11.2.0.3.0 - Production

CORE        11.2.0.3.0         Production

 

 

當前MEMORY_TARGET設置為零,AMM沒有啟用。

 

 

SQL> 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     16

pga_aggregate_target                 big integer 108M

sga_target                           big integer 252M

 

 

2、從ASMMAMM

 

11g中,如果使用ASMM,對應的內存共享段是真實的共享段。

 

 

[oracle@SimpleLinux ~]$ ipcs -m

 

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

0x00000000 32768      oracle    640        4194304    32                     

0x00000000 65537      oracle    640        260046848  32                     

0x01606d30 98306      oracle    640        4194304    32  

 

 

下面進行參數的調整,這里筆者有一個建議,很多時候啟動umount階段故障都是由于不當的參數修改造成的。在進行參數修改之前,可以使用create pfile進行一下參數備份,可以加快故障出現時候的系統修復速度。

 

 

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      /u01/app/oracle/dbs/spfileora11g.ora

 

SQL> create pfile from spfile;

Done

 

 

修改系統參數,將sgapgatarget值設置為0memorytarget設置非0。注意,這個過程很多參數是靜態的參數,可以都在spfile可見性中進行修改,之后重啟服務器生效。

 

 

SQL> alter system set memory_max_target=360m scope=spfile;

System altered

 

SQL> alter system set memory_target=360m scope=spfile;

System altered

 

SQL> alter system set sga_target=0m scope=spfile;

System altered

 

SQL> alter system set sga_max_size=0 scope=spfile;

System altered

 

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

System altered

 

 

重新啟動數據庫服務器,查看參數配置。

 

 

SQL> conn / as sysdba

Connected.

SQL> startup force

ORACLE instance started.

 

Total System Global Area  263651328 bytes

Fixed Size                  1344284 bytes

Variable Size             176164068 bytes

Database Buffers           83886080 bytes

Redo Buffers                2256896 bytes

Database mounted.

Database opened.

 

SQL> 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 360M

memory_target                        big integer 360M

parallel_servers_target              integer     16

pga_aggregate_target                 big integer 0

sga_target                           big integer 0

 

 

AMM啟動之后,系統共享段變為“虛擬”共享段。

 

[oracle@SimpleLinux dbs]$ ipcs -m

 

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

0x00000000 163840     oracle    640        4096       0                      

0x00000000 196609     oracle    640        4096       0                      

0x01606d30 229378     oracle    640        4096       0  

 

 

3、從AMMASMM

 

下面是如何從AMMASMM。要完全關閉AMM,一定將MEMORY_TARGETMEMORY_MAX_TARGET都設置為0才行。

 

 

SQL> alter system set memory_max_target=0 scope=spfile;

System altered

 

SQL> alter system set memory_target=0 scope=spfile;

System altered

 

SQL> alter system set pga_aggregate_target=100m scope=spfile;

System altered

 

SQL> alter system set sga_target=260m scope=spfile;

System altered

 

SQL> alter system set sga_max_size=260m scope=spfile;

System altered

 

 

注意,此時如果重新啟動系統,會報錯。

 

 

SQL> startup force

ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account

ORA-00849: SGA_TARGET 272629760 cannot be set to more than MEMORY_MAX_TARGET 0.

SQL>

 

 

這個問題的原因是Oracle啟動過程中對于參數的內部檢查。因為MEMORY_MAX_TARGET被“顯示”的賦值,與SGA_TARGET賦值相沖突。

 

解決的方法就是使用參數默認值。創建出pfile之后,將顯示賦值為0MEMORY_TARGETMEMORY_MAX_TARGET記錄行刪除掉。再利用pfile啟動數據庫,重建spfile

 

 

SQL> create pfile from spfile

  2  ;

 

File created.

 

--修改前

*.db_recovery_file_dest='/u01/app/fast_recovery_area'

*.db_recovery_file_dest_size=10737418240

*.diagnostic_dest='/u01/app'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora11gXDB)'

*.log_checkpoints_to_alert=TRUE

*.memory_max_target=0

*.memory_target=0

*.open_cursors=300

*.pga_aggregate_target=104857600

*.processes=150

 

--修改后

*.db_recovery_file_dest='/u01/app/fast_recovery_area'

*.db_recovery_file_dest_size=10737418240

*.diagnostic_dest='/u01/app'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora11gXDB)'

*.log_checkpoints_to_alert=TRUE

*.open_cursors=300

*.pga_aggregate_target=104857600

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

 

 

使用pfile啟動數據庫,重建spfile

 

 

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup pfile=/u01/app/oracle/dbs/initora11g.ora

ORACLE instance started.

 

Total System Global Area  272011264 bytes

Fixed Size                  1344372 bytes

Variable Size             176163980 bytes

Database Buffers           88080384 bytes

Redo Buffers                6422528 bytes

Database mounted.

Database opened.

SQL> 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     16

pga_aggregate_target                 big integer 100M

sga_target                           big integer 260M

 

SQL> create spfile from pfile

  2  ;

 

File created.

 

 

重新啟動之后,ASMM切換完成。

 

 

SQL> startup force

ORACLE instance started.

 

Total System Global Area  272011264 bytes

Fixed Size                  1344372 bytes

Variable Size             176163980 bytes

Database Buffers           88080384 bytes

Redo Buffers                6422528 bytes

Database mounted.

Database opened.

 

--真實的共享內存段結構

[oracle@SimpleLinux dbs]$ ipcs -m

 

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

0x00000000 425984     oracle    640        8388608    25                     

0x00000000 458753     oracle    640        264241152  25                     

0x01606d30 491522     oracle    640        4194304    25 

 

--HugePage使用情況

[oracle@SimpleLinux dbs]$ grep Huge /proc/meminfo

HugePages_Total:    67

HugePages_Free:      1

HugePages_Rsvd:      0

Hugepagesize:     4096 kB

[oracle@SimpleLinux dbs]$


AMMASMM是我們管理數據庫非常重要的工具,借助自我調節的機制,我們可以做到數據庫自我管理。11gAMM應該說是很方便的,但是在一些情況下,如HugePage,我們可能需要切換回ASMM。權當記錄,留需要的朋友待查。

關于如何進行Oracle 11g AMM與ASMM切換就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘城县| 岱山县| 巴林右旗| 隆昌县| 青铜峡市| 洛隆县| 禹城市| 友谊县| 郴州市| 嘉善县| 阿拉善右旗| 齐齐哈尔市| 高邑县| 湘乡市| 运城市| 梧州市| 应用必备| 肃宁县| 荃湾区| 勃利县| 二连浩特市| 铜山县| 柏乡县| 当雄县| 龙里县| 湖口县| 中超| 达日县| 开封县| 二手房| 松阳县| 会泽县| 镇宁| 十堰市| 陇川县| 余姚市| 益阳市| 青铜峡市| 原平市| 阜新市| 六安市|