加大memory_max_target後,資料庫啟動報ora-00845錯誤處理

datapeng發表於2014-02-22

    今天,有一個客戶告訴我們,說他的linux環境,設定了記憶體引數後,資料庫啟動不了,叫我們去支援一下,接到通知後,我們到現場幫助客戶處理問題。

1、客戶說,他們調整了一下記憶體引數,調整及報錯情況如下所述
SQL> alter system set memory_max_target=4096m scope=spfile;

System altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

2、我們檢查錯誤情況

[oracle@mytest ~]$ oerr ora 845
00845, 00000, "MEMORY_TARGET not supported on this system"
// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
[oracle@mytest ~]$

如果memory_max_target/memory_target設定過大,可能導致instance無法啟動,報ORA-00845錯誤
這個錯誤有點誤導,實際上這並不是說該平臺版本上不支援AMM特性,只是設定的memory_max_target超過了系統中設定的share memory(/dev/shm)而已。在Oracle11g for linux中似乎使用了一種新的機制來管理共享記憶體段,而不是傳統的sys v shm了。

所以針對這種情況,有兩種解決方法:
--調小記憶體,使用之小於/dev/shm
--增加/dev/shm,使之超過max_target

在本案例中,我們是採用的是增加/dev/shm

3、解決問題
[root@mytest ~]# df -k /dev/shm
Filesystem           1K-blocks      Used Available Use% Mounted on
shmfs                  2048000         0   2048000   0% /dev/shm

可以看到/dev/shm比memory_max_target,我們看了一下作業系統,還有足夠的空間,所以直接增加/dev/shm

[root@mytest ~]# umount /dev/shm
[root@mytest ~]# mount -t tmpfs shmfs -o size=5120m /dev/shm

[root@mytest ~]# df -k /dev/shm
Filesystem           1K-blocks      Used Available Use% Mounted on
shmfs                  5120000         0  5120000   0% /dev/shm

這裡我們調節大一點,因為該系統用的asm,其中asm的使用也要考慮進去

如果要想讓每次啟動都自動掛載,需要把這個編輯到fstab檔案裡面。
 
[root@mytest ~] vi /etc/fstab

tmpfs            /dev/shm        tmpfs  defaults,size=5G        0 0


4、啟動資料庫

增加/dev/shm後再次啟動instance
SQL> startup
ORACLE instance started.

Total System Global Area  4294967296 bytes
Fixed Size                   1299624 bytes
Variable Size             2684354560 bytes
Database Buffers          2415919104 bytes
Redo Buffers                6373376 bytes
Database mounted.
Database opened.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1086248/,如需轉載,請註明出處,否則將追究法律責任。

相關文章