時間:2019-12-02來源:電腦系統城作者:電腦系統城
今天,在自己機器上裝了oracle 12c,發現Oracle的服務Oracle RDBMS Kenel Executable (OracleServiceORCL)占用內存高達5G,本人電腦內存才16G。如此高的占用率,真讓人心疼。于是就對Oracle的內存進行調整。具體辦法如下:
1. 在cmd命令中輸入如下命令啟動sqlplus:
sqlplus /nolog
2. sql啟動后,連接數據庫,命令如下:
conn / as sysdba;
3. 如果是oracle 11g以后版本,可以修改MEMORY_MAX_TARGET的值來設置自己想要內存值,我這里設置為1024M。
alter system set memory_max_target=1204M scope=SPFILE;
4. 關閉數據庫實例
shutdown immediate
5.啟動Oracle實例,基于spfile里面設置情況。
startup
注意事項:
1)MEMORY_MAX_TARGET是MEMORY_TARGET的最大閾值,MEMORY_TARGET是Oracle使用機器內存的總量,默認值為0,即由oracle自動根據機器內存來分配,MEMORY_TARGET = SGA_TARGET + PGA_AGGREGATE_TARGET,當SGA_TARGET和PGA_AGGREGATE_TARGET都設置為0時,Oracle會自動根據MEMORY_TARGET對兩者進行內存分配。
2)如果更改過SGA_TARGET和PGA_AGGREGATE_TARGET的值,請用下面語句將其恢復0。記得不太清楚的,可以通過show parameter命令來查看內存的情況。
ALTER SYSTEM SET SGA_TARGET =0 SCOPE = SPFILE; ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0 SCOPE = SPFILE;
show parameter命令例子如下,注意下面命令的sga可以換成target或者memory來查看memory_max_target和memory_target的值。
show parameter sga;
3)如果是oracle 10g,不支持MEMORY_MAX_TARGET和MEMORY_TARGET這兩個參數,內存的調整可以通過sga_target或sga_max_size來手動設置實現,注意sga_target必須要小于等于sga_max_size,否則oracle庫會運行不起來。
alter system set sga_max_size=1024m scope=spfile;
alter system set sga_target=1024m scope=spfile;
有時候犯糊涂設置錯了,導致數據庫實例運行不起來的話,可以通過從二進制配置文件spfile來創建pfile的文本文件,來手動修改解決,在由pfile重建spfile文件。例如我將sga_max_size和sga_target都設置為512M,就啟動不起來了,啟動時,錯誤為ORA-00821: Specified value of sga_target 512M is too small, needs to be at least 636M,這時候,可以通過下面四部解決。
(1). 在sqlplus里面由spfile創建pfile文件,為了方便,自定義pfile的存放目錄為“e:\\ini.ora.temp”,不指定會默認為spfile同目錄,本人在windows上的12c目錄為"{oracle安裝目錄}\product\12.2.0\dbhome_1\database”目錄下的SPFILEORCL.ORA,文件名遵循格式spfile${SID}.ora。
create pfile='e:\\ini.ora.temp' from spfile;
(2). 因為pfile為文本文件,用文本應用程序打開你指定的路徑文件來進行編輯,修改sga_max_size和sga_target為0,保存文件。
(3).由pfile來重建spfile文件
create spfile from pfile='e:\\ini.ora.temp';
(4).默認基于新的spfile,啟動Oracle實例。
startup
一些可能用到的其他命令:
顯示spfile的文件存放路徑:
show parameter spfile;
顯示pfile的文件存放路徑:
show parameter pfile;
2021-12-10
腳本之家分享解決線上Oracle連接耗時過長的問題現象2021-12-10
腳本之家分享解決Oracle 11g 導出數據報 “ORA-01455: 轉換列溢出整數數據類型”的問題2021-03-29
oracle 11g的安裝注意事項總結這篇文章主要介紹了CenterOs7 安裝oracle19c的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值...
2021-03-21
文章主要介紹了Oracle數據庫由dataguard備庫引起的log file sync等待,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值...
2020-11-27