ORA-15031: disk specification matches no disks

September 18, 2014 Leave a comment

Added a disk into a diskgroup, it showed errors as below

SQL> ALTER DISKGROUP VOTEDG ADD  QUORUM DISK ‘/nfsvoting/nfsvotedk';
ALTER DISKGROUP VOTEDG ADD  QUORUM DISK ‘/nfsvoting/nfsvotedk’
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15031: disk specification ‘/nfsvoting/nfsvotedk’ matches no disks
ORA-15014: path ‘/nfsvoting/nfsvotedk’ is not in the discovery set

 

The problem was caused by the asm_diskstring was not set. I set the asm_diskstring. The problem get fixed.
SQL>  alter system set asm_diskstring=’/dev/asmdisk/*’,’/nfsvoting/*';

System altered.

SQL> show parameter asm_dis

NAME                                 TYPE        VALUE
———————————— ———– ——————————
asm_diskgroups                       string      VOTEDG
asm_diskstring                       string      /dev/asmdisk/*, /nfsvoting/*
SQL> ALTER DISKGROUP VOTEDG ADD  QUORUM DISK ‘/nfsvoting/nfsvotedk';

Diskgroup altered.

Categories: ASM

CRS-4000: Command Replace failed, or completed with errors.

September 18, 2014 Leave a comment

Today, I tried to restore OCR and VOTE Diskgroup from backup. I re-created the OCR and VOTE diskgroup with the following command

CREATE DISKGROUP VOTEDG NORMAL REDUNDANCY
DISK ‘/dev/asmdisk/ycfmsvot’
DISK ‘/dev/asmdisk/jcfmsvot’
QUORUM DISK ‘/nfsvoting/nfsvotedk’
ATTRIBUTE ‘compatible.asm’ = ‘11.2.0.0’;

After that, I could restore the OCR from backup. But when I replaced the vote disks on the VOTEDG diskgroup, it showed errors as

root@cfmsvm2:/dev/asmdisk# crsctl replace votedisk +VOTEDG
CRS-4602: Failed 27 to add voting file b594600fe26d4f2dbff4f31c84969822.
CRS-4602: Failed 27 to add voting file 7cb1bfa1d53e4f67bf5e656d38ffb025.
CRS-4602: Failed 27 to add voting file 407128acec804ff5bfdc32047f07c7ba.
Failed to replace voting disk group with +VOTEDG.
CRS-4000: Command Replace failed, or completed with errors.

And the ASM alert showed the messages below

NOTE: [crsctl.bin@cfmsvm2 (TNS V1-V3) 13029] opening OCR file
NOTE: updated gpnp profile ASM diskstring:
2014-09-18 11:35:24.225000 +08:00
NOTE: Creating voting files in diskgroup VOTEDG
NOTE: Voting File refresh pending for group 1/0x84c09605 (VOTEDG)
NOTE: Attempting voting file creation in diskgroup VOTEDG
NOTE: voting file allocation on grp 1 disk VOTEDG_0002
NOTE: voting file allocation on grp 1 disk VOTEDG_0000
2014-09-18 11:35:25.375000 +08:00
NOTE: voting file allocation on grp 1 disk VOTEDG_0001
NOTE: Attempting voting file refresh on diskgroup VOTEDG
NOTE: Voting file relocation is required in diskgroup VOTEDG
NOTE: Attempting voting file relocation on diskgroup VOTEDG
NOTE: voting file deletion on grp 1 disk VOTEDG_0000
NOTE: voting file deletion on grp 1 disk VOTEDG_0001
NOTE: voting file deletion on grp 1 disk VOTEDG_0002
NOTE: Failed voting file relocation on diskgroup VOTEDG

Finally, I found the QUORUM DISK ‘/nfsvoting/nfsvotedk’ size was not equal to size of  disk ‘/dev/asmdisk/ycfmsvot’.

root@cfmsvm2:/nfsvoting# ls -al
total 409604
drwxr-xr-x   2 grid     oinstall      64 Sep  3 14:34 .
drwxr-xr-x  25 root     root          29 Sep 17 16:13 ..
-rwxrwxr-x   1 grid     oinstall 209715200 Sep 18 11:38 nfsvotedk <– the size was about 200M

 

Fix Procedure

1. Drop the quorum disk

SQL>  alter system set asm_diskstring=’/dev/asmdisk/*’,’/nfsvoting/*';

SQL> select NAME, FAILGROUP, path from v$asm_disk;

NAME                           FAILGROUP                      PATH
—————————— —————————— —————————————-
VOTEDG_0001                    VOTEDG_0001                    /dev/asmdisk/jcfmsvot
VOTEDG_0000                    VOTEDG_0000                    /dev/asmdisk/ycfmsvot
VOTEDG_0002                    VOTEDG_0002                    /nfsvoting/nfsvotedk

SQL> ALTER DISKGROUP VOTEDG DROP QUORUM DISK ‘VOTEDG_0002′;

Diskgroup altered.

SQL> select NAME, FAILGROUP, path from v$asm_disk;

NAME                           FAILGROUP                      PATH
—————————— —————————— —————————————-
VOTEDG_0001                    VOTEDG_0001                    /dev/asmdisk/jcfmsvot
VOTEDG_0000                    VOTEDG_0000                    /dev/asmdisk/ycfmsvot

2. Re-create the quorum disk

dd if=/dev/zero of=nfsvotedk bs=1024k count=10240

3. Re-add the quorum disk

SQL> ALTER DISKGROUP VOTEDG ADD  QUORUM DISK ‘/nfsvoting/nfsvotedk';

Diskgroup altered.

SQL> select NAME, FAILGROUP, path from v$asm_disk;

NAME                           FAILGROUP                      PATH
—————————— —————————— —————————————-
/dev/asmdisk/jasmdk1
/dev/asmdisk/yasmdk1
VOTEDG_0001                    VOTEDG_0001                    /dev/asmdisk/jcfmsvot
VOTEDG_0000                    VOTEDG_0000                    /dev/asmdisk/ycfmsvot
VOTEDG_0002                    VOTEDG_0002                    /nfsvoting/nfsvotedk

4. Replace VOTEDISK  successfully

bash-4.1$ crsctl replace votedisk +VOTEDG
Successful addition of voting disk 49612e9331d64ff5bf59c81c665e201c.
Successful addition of voting disk 3f45109f98254f62bff4947648761a16.
Successful addition of voting disk 4dff0f244aeb4feabf2df797dbdab091.
Successfully replaced voting disk group with +VOTEDG.
CRS-4266: Voting file(s) successfully replaced

 

 

 

 

Categories: clusterware

Listener can’t write log file

August 18, 2014 Leave a comment

Symptoms

Listener can’t write log file. The log file has no log

[oracle@wplodb03 log]$ ls -al
total 28841972
drwxr-x—   2 oracle oinstall        4096 Jul 18 14:06 .
drwxr-x—  12 oracle oinstall        4096 May  7  2007 ..
-rw-r–r–   1 oracle oinstall           0 Aug 18 14:39 listener_wplodb03.log

Fixed

Set log_status of Listeners on/off as below

LSNRCTL> show log_status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter “log_status” set to ON
The command completed successfully
LSNRCTL> set log_status off
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter “log_status” set to OFF
The command completed successfully
LSNRCTL> show log_status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter “log_status” set to OFF
The command completed successfully
LSNRCTL> set log_status on
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter “log_status” set to ON
The command completed successfully
LSNRCTL> show log_status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter “log_status” set to ON
The command completed successfully
LSNRCTL> exit
[oracle@wplodb03 log]$ ls -lrt
-rw-r–r–  1 oracle oinstall     4972026 Aug 17 23:10 sqlnet.log
-rw-r–r–  1 oracle oinstall        1759 Aug 18 14:44 listener_wplodb03.log

After on/off, the log file grows

Categories: TNS

/rootcrs.pl -prepatch returned error messages

August 13, 2014 Leave a comment

Aftering installing Oracle 12c1, I patched the p18705901_121010_SOLARIS64.zip on a RAC manually since the autopatch still failed. (Doc ID 1594184.1). According to the Doc, the first step to run “rootcrs.pl -prepatch” by root user, it showed errors below. Fortunately, the following URL can help to fix the problem.

http://www.stojanveselinovski.com/blog/2014/05/19/gi-psu-12-1-0-1-3/

1. It traced that the script was executing “su oracle”
2. The rootcrs.pl script run under current directory and didn’t have permsision to wirte the directory. i.e if you su to root, your current directory must be /root

2014/08/13 10:30:03 CLSRSC-175: Failed to write the checkpoint ‘ROOTCRS_PREPATCH’ with status ‘START’ (error code 256)

2014/08/13 10:30:03 CLSRSC-177: Failed to add (property/value):(‘NONROLLING’/’0′) for checkpoint ‘ROOTCRS_PREPATCH’ (error code 256)

2014/08/13 10:30:03 CLSRSC-177: Failed to add (property/value):(‘DESTCRSHOME’/’null’) for checkpoint ‘ROOTCRS_PREPATCH’ (error code 256)

2014/08/13 10:30:03 CLSRSC-177: Failed to add (property/value):(‘NORESTART’/’0′) for checkpoint ‘ROOTCRS_PREPATCH’ (error code 256)

2014/08/13 10:30:04 CLSRSC-177: Failed to add (property/value):(‘SOFTWAREPATCH’/’0′) for checkpoint ‘ROOTCRS_PREPATCH’ (error code 256)

Oracle Clusterware active version on the cluster is [12.1.0.1.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [0].

Solution
Before runing the rootcrs.pl, change to /tmp directory. After “su – oracle”, it still have permission to write the /tmp directory.

Categories: Uncategorized

ORA-00845: MEMORY_TARGET not supported on this system

June 9, 2014 Leave a comment

Today, I tuned the memory_target to 8G on a 11g instance, it showed the errors above when it got restarted. It was caused by the tmpfs size.

[oracle@yhktamvmdb01 etc]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 7.8G  164K  7.8G   1% /dev/shm <– the size less than 8G.
/dev/sda1             485M   37M  423M   9% /boot

Then, I increased the size by the command below

[root@yhktamvmdb01 ~]# mount -t tmpfs shmfs -o size=12g /dev/shm

[root@yhktamvmdb01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                  12G     0   12G   0% /dev/shm <– the size increased to 12G

Start the database successfully

SQL> startup
ORACLE instance started.

Total System Global Area 8551575552 bytes
Fixed Size                  2270360 bytes
Variable Size            5049944936 bytes
Database Buffers         3489660928 bytes
Redo Buffers                9699328 bytes
Database mounted.
Database opened.

Make the change on the tmpfs permanently by editing the /etc/fstab as the following

tmpfs                   /dev/shm                tmpfs   size=12g        0 0

 

 

 

 

Categories: ORA-XXX

Enable VNC Server on Solaris 10

May 21, 2014 Leave a comment

1. Add entry below intop /etc/services

vnc-server      5900/tcp                        # Xvnc

2. Create /etc/X11/gdm/custom.conf with entries below

xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true

3. Enable the svc

# svcadm enable svc:/application/x11/xvnc-inetd:default
# svcs  xvnc-inetd
STATE          STIME    FMRI
online         14:41:27 svc:/application/x11/xvnc-inetd:default

 

Categories: Solaris Admin

ORA-28040: No matching authentication protocol

April 17, 2014 Leave a comment

I just install 12C1 database. When the old client 8 connected to the database, it showed the error below.

ORA-28040: No matching authentication protocol

Fixed:

Add the parameter below into $ORACLE_HOME/network/admin/sqlnet.ora. This set SQL

SQLNET.ALLOWED_LOGON_VERSION=8

 

Categories: Uncategorized
Follow

Get every new post delivered to your Inbox.