關閉或開啟memory_target
對于Oracle資料庫記憶體參數配置大小,一般滿足如下規則
sga_target + pga_aggregate_target < memory_target <=memory_max_target
sga_max_size < memory_target
PGA_AGGREGATE_TARGET= memory_target - sga_target
本篇文檔,配置ASMM,ASM進行轉換,進行配置。
1.關閉ASM(關閉)memory_target
SQL> show parameter memory
NAME VALUE
------------------------------
memory_max_target 800M
memory_target 720M
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
pga_aggregate_target big integer 175M
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
pre_page_sga boolean FALSE
sga_max_size big integer 800M
sga_target big integer 528M
******************關閉memory_target 兩種方法
方法一。參數修改方式
SQL> alter system reset memory_max_target;
SQL> alter system set memory_target=0;
方法二(錯誤修改方式)
SQL> alter system set memory_max_target=0 scope=spfile;
SQL> alter system set memory_target=0;
SQL> shutdown immediate;
SQL> alter system set memory_target=0 scope=spfile; 要麼資料庫執行個體無法啟動,要麼并沒有關閉memory管理方式
方法三。編輯參數檔案方式
SQL> create pfile='/tmp/pfile.ora' from spfile;
vi /tmp/pfile.ora
修改前
*.memory_max_target=0
*.memory_target=0
修改後
#*.memory_max_target=0
#*.memory_target=0
SQL> create spfile from pfile='/tmp/pfile.ora';
SQL> startup
2.啟用ASM管理
參數說明
Memory_max_target 代表Oracle資料庫總記憶體最大值
memory_target 代表總記憶體最小值
參數限制:memory_max_target(初始化參數:需要重新開機生效)
Linux環境下:memory_max_target=>受到作業系統shared memory的影響:
memory_max_target < /etc/fstab
報錯描述:
ORA-00845: MEMORY_TARGET not supported on this system
參數檢視:
[root@hukou ~]# df -h |grep tmpfs
tmpfs 1.7G 0 1.7G 0% /dev/shm
作業系統shared memory大小增加:預設為系統整體記憶體的一半大小:修改後,size指定值
解決方案:增加:vi /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=3200m 0 0
[root@hukou ~]# mount -o remount /dev/shm
[root@hukou ~]# df -h |grep shm
tmpfs 3.2G 0 3.2G 0% /dev/shm
參數限制:memory_target(線上即可修改)
報錯資訊: 記憶體的最小值:需要小于或者等于記憶體的最大值
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
memory_target <= memory_max_target
報錯資訊:記憶體的最小值小于512M
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least512M
memory_target > sga_target +pga_aggregate_target
sga_target big integer 400M
pga_aggregate_target big integer 100M
參數限制:sga_max_size(初始化參數:需要重新開機生效)
參數說明: SGA區域記憶體最大值
報錯資訊:sga_max_size的值大于memory_target
ORA-00851: SGA_MAX_SIZE 1048576000 cannot be set to more than MEMORY_TARGET 629145600.
sga_max_size < memory_target
參數限制:sga_target(線上修改即可)
參數說明:SGA區域記憶體最小值
報錯資訊:SGA_TARGET 的值大于sga_max_size
ORA-00823: Specified value of sga_target greater than sga_max_size
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 100M
參數限制:pga_aggregate_target (線上修改即可)
使用ASM管理,啟用memory參數
目前記憶體參數
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 528M
sga_target big integer 528M
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
pga_aggregate_target big integer 192M
按照規則,如果不修改sga/pga記憶體大小,那麼memory_target >620M,memory_max_target >620M,
memory_max_target小于作業系統記憶體參數最大值3.9G
enmo:/home/oracle df -h |grep tmpfs
tmpfs 3.9G 0 3.9G 0% /dev/shm
本次參數配置: memory_target =620M,memory_max_target=2200m;
方法一:
SQL> alter system set memory_target=620m scope=spfile;
SQL> alter system set memory_max_target=2200m scope=spfile;
SQL> shutdown immediate;
---本次國小生算數錯誤,是以啟動報錯
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 720M
---由于本次資料庫已關閉,是以無法通過sqlplus alter system 修改參數,可以通過手工編輯參數檔案。 開車沒開好
方法二:
SQL> create pfile='/tmp/pfile.ora' from spfile;
vi /tmp/pfile.ora
修改前
*.memory_max_target=2306867200
*.memory_target=650117120
修改後
*.memory_max_target=2306867200
*.memory_target=720m
SQL> create spfile from pfile='/tmp/pfile.ora';
SQL> startup
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 2208M
memory_target big integer 720M
posted on 2019-02-20 17:33 綠茶有點甜 閱讀(...) 評論(...) 編輯 收藏