23 June, 2017

ORA-00845: MEMORY_TARGET not supported on this system

I have encountered below error for my new database while startup the database.

SQL> startup;
ORA-00845: MEMORY_TARGET not supported on this system
 
Cause : ORA-00845: MEMORY_TARGET not supported on this system

Action:  You will get a ORA-00845 error if your shared memory file system is not big enough to accommodate memory_target and memory_max_target. There are two possible ways to remove the ORA-00845 error:

       - Reduce the value for the memory_target parameter
       - Increase the temporary memory allocation on the server.  This should fix the ORA-00845 error:


# umount tmpfs
# mount -t tmpfs shmfs -o size=1500m /dev/shm



Before:


[root@rsvmsb076 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G  1.9G  2.1G  49% /dev/shm
tmpfs           3.9G  8.4M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/xvda3      9.6G  3.6G  5.2G  41% /
/dev/xvdc1      337G  8.3G  311G   3% /u01
/dev/xvda1      497M  231M  267M  47% /boot
tmpfs           799M     0  799M   0% /run/user/1000
tmpfs           799M     0  799M   0% /run/user/0
 

[root@rsvmsb076 ~]# mount -t tmpfs shmfs -o size=7g /dev/shm
 
After :

[root@rsvmsb076 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.9G     0  3.9G   0% /dev
shmfs           7.0G     0  7.0G   0% /dev/shm
tmpfs           3.9G  8.4M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/xvda3      9.6G  3.6G  5.2G  41% /
/dev/xvdc1      337G  8.3G  311G   3% /u01
/dev/xvda1      497M  231M  267M  47% /boot
tmpfs           799M     0  799M   0% /run/user/1000
tmpfs           799M     0  799M   0% /run/user/0

 

After increasing the temporary memory allocation on the server, this issue got resolved.

Now i am able to start the database without any issue.

SQL> startup;
ORACLE instance started.

Total System Global Area 3355443200 bytes
Fixed Size                  2929936 bytes
Variable Size            1929382640 bytes
Database Buffers         1409286144 bytes
Redo Buffers               13844480 bytes
Database mounted.
Database opened.
SQL>
SQL> select name,open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
TEST2     READ WRITE

ORA-01102: cannot mount database in EXCLUSIVE mode

I have encountered ORA-01102: cannot mount database in EXCLUSIVE mode error while starting new database.


SQL> startup;
ORACLE instance started.
Total System Global Area 3355443200 bytes
Fixed Size                  2929936 bytes
Variable Size            1929382640 bytes
Database Buffers         1409286144 bytes
Redo Buffers               13844480 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode



Cause : Some other instance has the database mounted exclusive or shared.


Action: Shut down other instance or mount in a compatible mode 


ORA-01102 occurs when you are mounting(opening) database , typically because another instance is already opened in parallel (exclusive) mode.

I have noticed 2 instances are running


[oracle@rsvmsb075 ~]$ ps -ef | grep pmon
oracle    1154     1  0 Jun21 ?        00:00:06 ora_pmon_test1
oracle   15652     1  0 21:17 ?        00:00:00 ora_pmon_TEST1
oracle   15759 15626  0 21:20 pts/0    00:00:00 grep pmon

Stopped 2 instances and modified .bash_profile correctly.


Now i am able to start the database without any issues .

SQL> startup;
ORACLE instance started.

Total System Global Area 3355443200 bytes
Fixed Size                  2929936 bytes
Variable Size            1929382640 bytes
Database Buffers         1409286144 bytes
Redo Buffers               13844480 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select name,open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
TEST1     READ WRITE


Useful Scripts

To Find session details using SID. set verify off col sid format 99999 col machine format a10 col program format a25 trunc col username form...