When an ORA-00845 error occurs, we first use the oerr tool to query it.
[oracle@orcl1 admin]$ oerr ora 00845
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.
Cause: The MEMOTY_TARGET parameter does not support this operating system or the size of / dev/shm on Linux is not satisfied.
Operation: Increase / dev/shm to meet at least SGA_MAX_SIZE
First, we modify the / dev/shm size to simulate the error.
Query parameters
SQL> show parameter target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 1520M
memory_target big integer 1520M
parallel_servers_target integer 32
pga_aggregate_target big integer 0
sga_target big integer 0
Modify / dev/shm to make it smaller than MAMORY_TARGET
[root@orcl1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 13G 4.7G 74% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 279M 1.6G 15% /dev/shm
tmpfs 1.9G 8.4M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 124M 374M 25% /boot
tmpfs 380M 0 380M 0% /run/user/0
[root@orcl1 ~]# mount -o size=2G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
[root@orcl1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 13G 4.7G 74% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.0G 279M 746M 28% /dev/shm
tmpfs 1.9G 8.4M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 124M 374M 25% /boot
tmpfs 380M 0 380M 0% /run/user/0
Restart the database
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup open
ORA-00845: MEMORY_TARGET not supported on this system
ORA-00845 error occurs at startup, which is when the startup is not started. (For the time being, I don't know how to modify the size of MEMORY_TARGET.
We increase the size of / dev/shm
[root@orcl1 ~]# mount -o size=2G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /de
v/shm[root@orcl1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 13G 4.7G 74% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 1.9G 8.3M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 124M 374M 25% /boot
tmpfs 380M 0 380M 0% /run/user/0
Then the database can start up normally.
[root@orcl1 ~]# su - oracle
Last login: Wed Oct 11 11:51:31 CST 2017 on pts/1
[oracle@orcl1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 11 11:57:53 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup open
ORACLE instance started.
Total System Global Area 1586708480 bytes
Fixed Size 2253624 bytes
Variable Size 973081800 bytes
Database Buffers 603979776 bytes
Redo Buffers 7393280 bytes
Database mounted.
Database opened.