Friday, March 27, 2009

ORA-27054 on NFS file system on AIX for backup

On AIX 5.3 ML4 and up which is the supported version to be used with NAS devices and database 10gR2 allthough you create nfs filesystems rman reports the following error :

ORA-27054: NFS file system where the file is created or resides is not mounted with correct options

This is happenig because on Oracle 1gR2 Oracle checks the options with which a NFS mount is mounted on the filesystem.
Correct option for AIX datafiles and backup are :
cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600

If you mount your NFS filesystems and you got on this error this is due to bug 5146667

If availiable apply patch. Else use the follwoing work arround:

1) set the Event 10298 in the init file event="10298 trace name context forever, level 32"

If you are using the spfile then :
SQL> alter system set event='10298 trace name context forever, level 32'scope= spfile sid='*';
Once you set the above parameter restart the instance.
Check as follows
SQL> select name, value from v$parameter where name = 'event';
NAME VALUE
---------- ------------------------------------------------------------
Event 10298 trace name context forever, level 32

Then try the backups again.

sid='*' is for RAC. For single instance do not use it.

Thursday, March 19, 2009

enq: US - contention

When you see enq: US - contention on Top 5 wait events on AWR or Statspack report or in ADDM findings you can take the following actions :

1) Check undo advisor if in 10g anf up.
2) Edit your undo retension parameter
3) Give space to Undo Tablespace
4) Move Undo tablespace to an other disk not so hot disk.

Mostly this wait event concerns autoxents on undo tablespaces.

Thursday, March 12, 2009

10gR2 RAC on AIX 5L Considerations

On AIX 5L (5.3 ML1 and up) in order to have an optimal rac configuration apply the follwoing settings

Network settings:

ipqmaxlen = 512 (Requires Restart)
rfc1323 = 1
sb_max = 2*udp_recvspac
tcp_recvspace = 65536
tcp_sendspace = 65536
udp_recvspace = 10* udp_sendspace
udp_sendspace = (DB_BLOCK_SIZE * DB_MULTIBLOCK_READ_COUNT) + 4 KB

To find out your settings run as root:

no -a | grep ipqmaxlen
no -a | grep rfc1323
no -a | grep sb_max
no -a | grep tcp_recvspace
no -a | grep tcp_sendspace
no -a | grep udp_recvspace
no -a | grep udp_sendspace

Oracle User Shell Limits

Soft FILE size = -1 (Unlimited)
Soft CPU time = -1 (Unlimited)
Soft DATA segment = -1 (Unlimited)
Soft STACK size -1 (Unlimited)

System Configuration Parameters
Maximum number of PROCESSES allowed for each user > =2048 or 128+PROCESS+PARALLEL_MAX_SERVERS

VMM Settings

AIX large page pool
vmo -p -o lgpg_regions=num_of_large_pages -o lgpg_size=16777216
num_of_large_pages = INT((total_SGA_size-1)/16MB)+1

VMM Settings
minperm% = 5
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
minfree = 960
maxfree = 1088

In order to lock sga into memory
v_pinshm = 1
maxpin% = 80
Usually this is the max value to use, but you can also use ( (size of SGA / size of physical memory) *100) + 3 as more conservative setting.

The set LOCK_SGA=TRUE in spfile or init file.

To find your settings run as root
vmo -a grep lgpg_size
vmo -a grep lgpg_regions
vmo -a grep minperm%
vmo -a grep maxperm%
vmo -a grep maxclient%
vmo -a grep lru_file
vmo -a grep minfree
vmo -a grep maxfree
vmo -a grep v_pinshm
vmo -a grep maxpin%