在設定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. 這類型的, 能夠明確的告知參數不合用才是.
在查看了下列二篇文件後, 才驚覺…… 原來是參數的type是big 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.