If you installed 11gR2 Grid Infrastructure and ASM, but still have a 10gR2 database. You will want to know a few things to get your environment up and running. I've listed below the gotchas that stalled me for several hours.
SMR stands for shared memory region and in 10g we have this instance monitoring segment which is used to store data for health monitoring. Every process which starts up attaches to this and the data in this segment is visible to to whoever has this SMR as part of its address space. This gets called during SGA initialization for creation of the shared memory segment and attaching to it. - The SMR name is constructed from the Oracle Home Name and the SID - The file which this data is stored in is $ORACLE_HOME/dbs/hc_SID.dat - If the file does not exist we create it. - If the file exists then we open and lock it. - We check if we have permissions to write to this disk. - Write and seek on the file to verify we can change its size. - Then set the appropriate protection mode and then use mmap64 call to map this file to the process address space. - If we were creating the SMR then we fill it up with zeroes then lock it - If we return a failure on any side then we might have had problems with attaching to the shared memory segment or with the permissions on the hc_SID.dat file. Solution Things that can be attempted to eliminate these errors : a) The ORACLE_HOME and ORACLE_SID values are correctly set in the environment b) Proper permissions on ths $ORACLE_HOME/dbs and the Oracle user's ability to create files in this directory. c) Check for hc_<SID>.dat files within the $ORACLE_HOME/dbs directory d) Permissions on the hc_<SID>.dat file and the shmmax , shmmni settings on this Node so that we can create additional Memory segments for SMR. You can also try renaming that $ORACLE_HOME/dbs/hc_<$ORACLE_SID>.dat file and then attempt to restart the instance to check if this still reports that same SMR warnings. $ mv $ORACLE_HOME/dbs/hc_<$ORACLE_SID>.dat $ORACLE_HOME/dbs/hc_<$ORACLE_SID>.dat.OLD That backup file .OLD can later be removed if needed.