修改資料庫的ORACLE的SGA和PGA的值
/*
*時間:2009-04-07 Monday
*環境:Windows 2003 Oracle10g10.2.0.1.0
*標題:修改資料庫的ORACLE的SGA和PGA的值
*/
1、在用客戶端連線:
用plsql連線資料庫時出現“ORA-12518:TNS:監聽程式無法分發客戶機連線”
2、檢視了alert_SID.log日誌:
Doing block recovery for file 3 block 35992
Sat Apr 04 07:35:14 2009
Errors in file e:\oracle\product\10.2.0\admin\xboms\bdump\xboms_pmon_3920.trc:
ORA-04030: 在嘗試分配 8389132 位元組 (pga heap,redo read buffer) 時程式記憶體不足
Sat Apr 04 07:35:23 2009
Process startup failed, error stack:
Sat Apr 04 07:35:23 2009
Errors in file e:\oracle\product\10.2.0\admin\xboms\bdump\xboms_psp0_3408.trc:
ORA-27300: OS 系統相關操作: spcdr:9261:4200 失敗, 狀態為: 997
ORA-27301: OS 故障訊息: 重疊 I/O 操作在進行中。
ORA-27302: 錯誤發生在: skgpspawn
3、$ORACLE_HOME/network/log/listener.log日誌:
03-4月 -2009 22:10:40 開始就報下面的錯誤:
04-4月 -2009 07:36:19 * ping * 0
04-4月 -2009 07:36:19 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=SYSTEM))(COMMAND=status)
(ARGUMENTS=64)(SERVICE=(ADDRESS=(PROTOCOL=TCP)(HOST=erp1)(PORT=1568)))(VERSION=169869568)) * status * 0
04-4月 -2009 07:36:28 * (CONNECT_DATA=(SID=XBOMS)(CID=(PROGRAM=E:\oracle\product\10.2.0\db_1\perl\5.8.3
\bin\MSWin32-x86-multi-thread\perl.exe)(HOST=ERP1)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)
(HOST=10.142.80.40)(PORT=2287)) * establish * XBOMS * 12518
TNS-12518: TNS: 監聽程式無法分發客戶機連線
TNS-12560: TNS: 協議介面卡錯誤
TNS-00530: 協議介面卡錯誤
32-bit Windows Error: 233: Unknown error
對資料庫做個AWR(自動負載資料庫)報告和ADDM(自動資料庫診斷監聽)報告,addm要求增加資料庫的SGA
伺服器的CPU是8個2.00GHz,8GB記憶體。發現系統給Oracle的記憶體太小
SQL> show parameter spfile;
SQL> show parameter sga
SQL> show parameter pga
spfile檔案一般在windows的$ORACLE_HOME/dbs/目錄下
SQL> create pfile from spfile;
剛建立的pfile檔案一般在windows的$ORACLE_HOME/database/目錄下,init$ORACLE_SID.ora
修改init$ORACLE_SID.ora檔案中的*.pga_aggregate_target=62914560 (位元組:60M*1024*1024)
和*.sga_target=209715200 (位元組200M*1024*1024) 的值
然後
SQL> create spfile from pfile;
(有些windows系統生成的spfile檔案在$ORACLE_HOME/database/目錄下)
在關閉資料庫之前最好備份一些資料庫,如果SGA大小配置不當,會遇到各種不能開啟資料的問題。
關閉資料庫:
SQL>shutdown immediate
啟動資料庫
SQL>startup
檢查sga和pga的值
SQL> show parameter sga
SQL> show parameter pga
修改成功!
注:
ORA-04030: 在嘗試分配 8389132 位元組 (pga heap,redo read buffer) 時程式記憶體不足
ORA-04030:out of process memory when trying to allocate string bytes
下面分析了ORA-04030的出現原因及簡單解決方法
ORA-04030出現的基本都是過多的使用memory造成的
Oracle process使用的記憶體數量是有一定限制的:
對於32 BIT的Windows系統,有SGA 1.7G限制
某些OS系統本身也有一些記憶體引數限制
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-586517/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料庫記憶體分配(sga和pga)Oracle資料庫記憶體
- oracle10g 修改 sga pgaOracle
- 如何設定新資料庫的PGA值資料庫
- 對oracle例項的記憶體(SGA和PGA)進行調整,優化資料庫性Oracle記憶體優化資料庫
- pga/sga及元件值查詢元件
- 對SGA和PGA的優化建議優化
- 如何檢視和設定sga和pga的當前記憶體的建議值記憶體
- Oracle9i的動態SGA,PGA特性探索Oracle
- 【SGA】【PGA】普適的Oracle記憶體分配策略Oracle記憶體
- Oracle 體系結構 SGA 和PGA 總結Oracle
- Oracle11g的SGA和PGA設定為多大最合適?Oracle
- 查詢SGA和PGA大小
- 增加資料庫SGA的方法資料庫
- 【sga】資料庫啟動時的的SGA大小顯示資料庫
- 修改Oracle資料庫表的大小Oracle資料庫
- oracle例項記憶體(SGA和PGA)調整Oracle記憶體
- PGA/UGA、SGA的一點知識
- SGA和PGA記憶體管理記憶體
- Oracle Rac 修改SGA_TARGET值無變化Oracle
- oracle體系結構梳理---SGA+PGAOracle
- Mysql資料庫值的新增、修改、刪除及清空MySql資料庫
- Oracle資料庫修改LISTENER的監聽埠Oracle資料庫
- 11g MEMORY_TARGET 引數對SGA 和PGA的影響
- 11g MEMORY_TARGET 引數對SGA 和PGA的影響
- Oracle資料庫資料檔案small file的最大值Oracle資料庫
- PGA,sga命中sql查詢SQL
- oracle 92 修改sga過程Oracle
- Oracle NID工具修改資料庫DBID和資料庫名稱Oracle資料庫
- mysql 修改資料庫的列MySql資料庫
- ORACLE RAC 記憶體SGA,PGA配置超過300G的問題Oracle記憶體
- Oracle PGA記憶體的配置和使用Oracle記憶體
- memory_target、sga_target、pga_target的設定
- 變更oracle 11.2.0.3 rac sga手工管理為sga及pga全自動管理Oracle
- 【轉lis的文章】11g MEMORY_TARGET 引數對SGA 和PGA的影響
- 深入淺出sga和pga章節記載-01
- ORACLE資料庫修改資料庫名db_nameOracle資料庫
- 修改系統時間對oracle資料庫的影響Oracle資料庫
- SGA PGA MEMORY_TARGET 關係