ORA-00845: MEMORY_TARGET not supported on this system

  在出現此錯誤以前,須要理解參數/dev/shm的做用。linux

  使用df -h查看該參數目前大小:sql

[root@Abbott ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_abbott-LogVol01
                       36G   12G   23G  34% /
tmpfs                 940M   72K  939M   1% /dev/shm
/dev/sda1             190M   41M  140M  23% /boot

  這裏能夠看到總共大小爲940M,只使用了72K數據庫

  進入數據庫生成pfile文件,修改pfile文件中的參數以下,將數據庫內存管理修改成AMM(自動內存管理)oracle

SQL> create pfile='/home/oracle/pfile.ora' from spfile;

File created.

SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@Abbott ~]$ ls
backup  dict.log  pfile.ora
[oracle@Abbott ~]$ vi pfile.ora 
*.memory_max_target=1572864010
*.memory_target=1572864010
#*.pga_aggregate_target=214748364
#*.sga_max_size=1288490188
#*.sga_target=1288490188

  從新啓動數據庫:app

[oracle@Abbott ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 15 16:40:59 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup pfile='/home/oracle/pfile.ora' nomount;
ORA-00845: MEMORY_TARGET not supported on this system

  這裏能夠看到數據庫沒法啓動,錯誤提示系統不支持,查閱文檔後,發現若是使用AMM自動內存管理,那麼/dev/shm這個參數就很是重要。
  /dev/shm是linux很是有用的一個目錄,它就是所謂的tmpfs,也能夠稱之爲臨時文件系統(不是塊設備),相似oracle中的臨時表空間同樣,用於加速和優化系統。該目錄並無放在磁盤上,而是放在內存當中優化

  當使用AMM自動內存管理以後,數據庫啓動後會在/dev/shm目錄下面生成不少ORA文件。ui

  實踐發現,/dev/shm參數必須設置得比memory_max_size大,數據庫才能夠正常啓動this

  永久修改參數:
spa

 

[oracle@Abbott ~]$ cat /etc/fstab 

/dev/mapper/vg_abbott-LogVol00 swap                    swap    defaults        0 0 tmpfs /dev/shm tmpfs defaults,size=1600M 0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

 

  再次從新啓動數據庫,可正常啓動:code

SQL> startup pfile='/home/oracle/pfile.ora' nomount; 
ORACLE instance started.

Total System Global Area 1586708480 bytes
Fixed Size                  2253624 bytes
Variable Size             704646344 bytes
Database Buffers          872415232 bytes
Redo Buffers                7393280 bytes
相關文章
相關標籤/搜索