加大memory_max_target後,資料庫啟動報ora-00845錯誤處理
今天,有一個客戶告訴我們,說他的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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-00845 錯誤處理
- 【故障處理】11g資料庫在啟動之後報ORA-12709字符集錯誤資料庫
- memory_max_target/memory_target設定過大報ORA-00845錯誤
- 一次資料庫無法啟動問題的處理-ORA-00845資料庫
- dbua後資料庫無法啟動錯誤的解決資料庫
- 用SQL Server資料庫處理資料層錯誤SQLServer資料庫
- ASP.NET在刪除掉資料庫檔案後報錯處理ASP.NET資料庫
- 啟動監聽報TNS-01150錯誤處理
- EBS服務啟動報錯基本處理
- 啟動資料庫的其中一個錯誤資料庫
- 啟動oracle資料庫的時候報ORA-00205錯誤:Oracle資料庫
- 惡意程式造成資料庫啟動報錯資料庫
- oracle 12C RAC 啟動報錯 ORA-00845Oracle
- PHP安裝後錯誤處理PHP
- COM+元件啟動報錯問題處理元件
- 資料庫啟動出現ORA-27037錯誤資料庫
- 恢復資料庫引數錯誤無法啟動資料庫
- 啟動資料庫出現ORA-9925錯誤資料庫
- MySQL 5.7啟動資料庫報錯'does not exist or is not executable'MySql資料庫
- access資料庫80040e09錯誤處理辦法資料庫
- vue2.0 練習中報錯問題處理(資料繫結錯誤)Vue
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- Windows 下處理資料庫無法啟動問題Windows資料庫
- 達夢資料庫啟動報code = -803 [Invalid ini config value]錯誤資料庫
- [重慶思莊技術分享]-資料庫啟動報:ORA-29702錯誤資料庫
- 資料庫啟動時遇到ORA-01578錯誤資料庫
- 啟動資料庫出現ORA-27123錯誤資料庫
- 資料庫啟動出現ORA-27102錯誤資料庫
- 錯誤處理
- 資料庫啟動在mount狀態,無任何報錯資料庫
- 資料庫異常關閉後無法啟動問題處理一例資料庫
- 處理動態連結庫報錯的問題
- 誤刪資料庫資料檔案的處理方法資料庫
- Apache Hive啟動報NoClassDefFoundError錯誤ApacheHiveError
- 在Oracle11g RAC環境下處理ORA-00845錯誤案例Oracle
- 【OS】Linux下/dev/shm的作用及ORA-00845錯誤的處理Linuxdev
- Vagrant 啟動 VirtualBox 的問題 ( 誤裝 docker 後報錯 )Docker
- 一次儲存故障引起的資料庫啟動錯誤資料庫