[Oracle]-[ORA-32005]-error while parsing size specification

在設定Oracle記憶體配置時, 發生了錯誤[ORA-32005]-error while parsing size specification
這個很不明確的錯誤, 不如同比較常見的明確錯誤訊息.
最讓人想不透的是..... 是data type沒對上......

 

這次在配置Oracle系統中的記憶體參數時, 遇上了下列問題:

 

SQL> alter system set memory_max_target=6.5g scope=spfile;

ORA-32005: error while parsing size specification [6.5G]

 

SQL> alter system set memory_target=6.5g scope=spfile;

ORA-32005: error while parsing size specification [6.5G]

 

 

一直思考不通的是, 如果參數值無法被使用, 報出的錯誤訊息不是應該是parameter cannot be modified because specified value is invalid. 這類型的, 能夠明確的告知參數不合用才是.

 

在查看了下列二篇文件後, 才驚覺…… 原來是參數的typebig integer, 是不吃小數位數的……

 

MEMORY_MAX_TARGET

https://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams132.htm#REFRN10284

 

 

MEMORY_TARGET

https://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams133.htm#REFRN10285

 

 

所以原本的設定改為6G就好了, 而有趣的是, 因為只支援K/M/G, 我去試了下1T是不過的, 要上到T的話要 x 1024G.