Oracle errors and solutions

ORA-Errors

—–ORA-27300: OS system dependent operation:semop failed with status: 36

Problem:

Trace Bucket Dump End: default bucket for process 39 (osid: 28230, CJQ0)
error 27157 detected in background process
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-27157: OS post/wait facility removed
ORA-27300: OS system dependent operation:semop failed with status: 36
ORA-27301: OS failure message: Identifier removed
ORA-27302: failure occurred at: sskgpwwait1

Solution:

Increase max-sem-ids
http://pic.dhe.ibm.com/infocenter/p8docs/v4r5m1/index.jsp?topic=%2Fcom.ibm.p8.planprepare.doc%2Fp8ppi154.htm

—PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_UID” on the node “XXXXXX” does not match with cluster nodes
Checking ASMLib configuration.
Node Name Status
———————————— ————————
rac1 (failed) ASMLib configuration is incorrect.
rac2 (failed) ASMLib configuration is incorrect.

ERROR:
PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_UID” on the node “rac1” does not match with cluster nodes
PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_GID” on the node “rac1” does not match with cluster nodes
PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_ENABLED” on the node “rac1” does not match with cluster nodes
PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_UID” on the node “rac2” does not match with cluster nodes
PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_GID” on the node “rac2” does not match with cluster nodes
PRVG-10122 : ASMLib configuration value set to configuration parameter “ORACLEASM_ENABLED” on the node “rac2” does not match with cluster nodes
Result: Check for ASMLib configuration failed.

There are few things we can do. First is run oracleasm configure on both nodes and see what are you getting.

In my case I was getting same results, not much help !

[[email protected] ~]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=””
ORACLEASM_SCANEXCLUDE=””
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=”false”
[[email protected] ~]#

[[email protected] ~]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=””
ORACLEASM_SCANEXCLUDE=””
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=”false”
[[email protected] ~]#

Next steps is cat oracleasm

[[email protected] ~]# cat /etc/sysconfig/oracleasm
#

This is a configuration file for automatic loading of the Oracle

Automatic Storage Management library kernel driver. It is generated

By running /etc/init.d/oracleasm configure. Please use that method

to modify this file

#

ORACLEASM_ENABLED: ‘true’ means to load the driver on boot.

ORACLEASM_ENABLED=false

ORACLEASM_UID: Default UID owning the /dev/oracleasm mount point.

ORACLEASM_UID=

ORACLEASM_GID: Default GID owning the /dev/oracleasm mount point.

ORACLEASM_GID=

ORACLEASM_SCANBOOT: ‘true’ means fix disk perms on boot

ORACLEASM_SCANBOOT=true

ORACLEASM_USE_LOGICAL_BLOCK_SIZE: ‘true’ means use the logical block

size reported by the underlying disk instead of the physical. The

default is ‘false’

ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false
[[email protected] ~]#

[[email protected] ~]# cat /etc/sysconfig/oracleasm
#

This is a configuration file for automatic loading of the Oracle

Automatic Storage Management library kernel driver. It is generated

By running /etc/init.d/oracleasm configure. Please use that method

to modify this file

#

ORACLEASM_ENABLED: ‘true’ means to load the driver on boot.

ORACLEASM_ENABLED=true

ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.

ORACLEASM_UID=oracle

ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.

ORACLEASM_GID=dba

ORACLEASM_SCANBOOT: ‘true’ means scan for ASM disks on boot.

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER: Matching patterns to order disk scanning

ORACLEASM_SCANORDER=””

ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan

ORACLEASM_SCANEXCLUDE=””

ORACLEASM_USE_LOGICAL_BLOCK_SIZE: ‘true’ means use the logical block size

reported by the underlying disk instead of the physical. The default

is ‘false’

ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false

[[email protected] ~]#

Looks like node rac1 has some issues as it is missing the values.

List oracleasm under /etc/sysconfig

[[email protected] ~]# cd /etc/sysconfig/
[[email protected] sysconfig]#
[[email protected] sysconfig]# ls -lah oracle*
-rw-r–r–. 1 root root 772 Feb 9 2013 oracleasm
-rw-r–r–. 1 root root 973 Apr 20 10:36 oracleasm-_dev_oracleasm
lrwxrwxrwx. 1 root root 24 Apr 20 09:29 oracleasm.rpmsave -> oracleasm-_dev_oracleasm
[[email protected] sysconfig]#

[[email protected] ~]# cd /etc/sysconfig/
[[email protected] sysconfig]#
[[email protected] sysconfig]# ls -lah oracle*
lrwxrwxrwx. 1 root root 24 Apr 20 10:40 oracleasm -> oracleasm-_dev_oracleasm
-rw-r–r–. 1 root root 973 Apr 20 10:41 oracleasm-_dev_oracleasm
[[email protected] sysconfig]#

Perform below:

[[email protected] sysconfig]# mv oracleasm oracleasm.old
[[email protected] sysconfig]# ln -s oracleasm-_dev_oracleasm oracleasm

[[email protected] sysconfig]# ls -lah oracle*
lrwxrwxrwx. 1 root root 24 Apr 20 12:59 oracleasm -> oracleasm-_dev_oracleasm
-rw-r–r–. 1 root root 973 Apr 20 10:36 oracleasm-_dev_oracleasm
-rw-r–r–. 1 root root 772 Feb 9 2013 oracleasm.old
lrwxrwxrwx. 1 root root 24 Apr 20 09:29 oracleasm.rpmsave -> oracleasm-_dev_oracleasm
[[email protected] sysconfig]#

[[email protected] ~]# cat /etc/sysconfig/oracleasm
#

This is a configuration file for automatic loading of the Oracle

Automatic Storage Management library kernel driver. It is generated

By running /etc/init.d/oracleasm configure. Please use that method

to modify this file

#

ORACLEASM_ENABLED: ‘true’ means to load the driver on boot.

ORACLEASM_ENABLED=true

ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.

ORACLEASM_UID=oracle

ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.

ORACLEASM_GID=dba

ORACLEASM_SCANBOOT: ‘true’ means scan for ASM disks on boot.

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER: Matching patterns to order disk scanning

ORACLEASM_SCANORDER=””

ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan

ORACLEASM_SCANEXCLUDE=””

ORACLEASM_USE_LOGICAL_BLOCK_SIZE: ‘true’ means use the logical block size

reported by the underlying disk instead of the physical. The default

is ‘false’

ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false

[[email protected] ~]#

we can also remove oracleasm.old and oracleasm.rpmsave

The issue is fixed now.

Ref: http://harvarinder.blogspot.in/2016/04/prvg-10122-asmlib-configuration-value.html


ORA-15001: DISKGROUP ìDATAî DOES NOT EXIST OR IS NOT MOUNTED , ORA-15077: COULD NOT LOCATE ASM INSTANCE SERVING A REQUIRED DISKGROUP

Problem:

ORA-00210: cannot open the specified control file
ORA-00202: control file: ‘+DATA/kbazerdr/controlfile/current.256.825098041’
ORA-17503: ksfdopn:2 Failed to open file +DATA/kbazerdr/controlfile/current.256.825098041
ORA-15001: diskgroup “DATA” does not exist or is not mounted
ORA-15077: could not locate ASM instance serving a required diskgroup
ORA-205 signalled during: ALTER DATABASE MOUNT STANDBY DATABASE…

Analyze:

1) check if CRS is running on the node

$ crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy

2) check if ASM instance is running

sys@+asm> select status from v$instance;
STATUS
óóóó
STARTED

3) check diskgroup status

bash-3.2$ ps -afe | grep smon
oracle 1788 1 0 Sep 24 ? 15:48 asm_smon_+ASM
oracle 2807 2799 0 20:33:44 pts/4 0:00 grep smon
bash-3.2$ . oraenv
ORACLE_SID = [KBAZER] ? +ASM
The Oracle base remains unchanged with value /u01/app/oracle
bash-3.2$ asmcmd
ASMCMD> ls
ASMCMD>
ASMCMD>
ASMCMD> exit
bash-3.2$
bash-3.2$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 31 20:35:11 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
With the Automatic Storage Management option
SQL>
SQL>
SQL> select status from v$instance;

STATUS

STARTED

SQL> select name, state from v$asm_diskgroup;

NAME STATE


DATA DISMOUNTED
ARCH DISMOUNTED

SQL> show parameter asm_diskgroups;

NAME TYPE VALUE


asm_diskgroups string ARCH

Solution:

1) manually mount the diskgroups (sqlplus / as sysasm)
SQL> alter diskgroup DATA mount;
Diskgroup altered.

SQL> alter diskgroup ARCH mount;
Diskgroup altered.

SQL> select name, state from v$asm_diskgroup;

NAME STATE


DATA MOUNTED
ARCH MOUNTED

SQL> show parameter asm_diskgroups;

NAME TYPE VALUE


asm_diskgroups string ARCH, DATA