Troubleshooting TDP SAP backup error "BKI4008E: File cannot be opened. Reason: errno(22) A system call received a parameter that is not valid"

The following error will be seen while trying to take the SAP Oracle database backup using Tivoli Data Protection (TDP) for SAP with Oracle software through brtools and backint interface.
BR0280I BRCONNECT time stamp: 2014-05-08 17.10.09
#BEGIN /oracle/QDI/sapdata1/sysaux_1/sysaux.data1
#BEGIN /oracle/QDI/sapdata1/system_1/system.data1
BR0315I 'Alter tablespace SYSAUX begin backup' successful
BR0315I 'Alter tablespace SYSTEM begin backup' successful
BR0280I BRCONNECT time stamp: 2014-05-08 17.10.09
BKI4008E: File '/oracle/QDI/sapdata1/sysaux_1/sysaux.data1' cannot be opened. Reason:  errno(22)  A system call received a parameter that is not valid.
BR0280I BRCONNECT time stamp: 2014-05-08 17.10.13
#END /oracle/QDI/sapdata1/sysaux_1/sysaux.data1
#END /oracle/QDI/sapdata1/system_1/system.data1
BR0317I 'Alter tablespace SYSAUX end backup' successful
BR0317I 'Alter tablespace SYSTEM end backup' successful
BR0280I BRCONNECT time stamp: 2014-05-08 17.10.13
BKI1208W: The object '/oracle/QDI/sapdata1/sysaux_1/sysaux.data1' will be retried [3].
BKI1208W: The object '/oracle/QDI/sapdata1/system_1/system.data1' will be retried [3]

The above error doesnt show much information about the error and it will be quite annoying if you have no idea about how SAP and AIX works together. You will see this kind of error if your SAP database filesystems are mounted with the CIO (Concurrent I/O) option enabled. Concurrent I/O (CIO) for JFS2 filesystems gains the benefits of Direct I/O without the locking serialization. It allows a process writing to a file exclusive write access to that file. 



You need to remount the filesystems with CIO option disabled to fix this problem. Apparently, this requires the downtime of your SAP system.

Follow these below steps to troubleshoot this BKI4008E error permanently

1) First, STOP your SAP system (database & application).

2) Check which filesystems have CIO enabled by using lsfs command
      # lsfs
/dev/fslv03     --         /oracle/PRD/origlogA      jfs2  1048576 rw,cio         yes  no
/dev/fslv04     --         /oracle/PRD/origlogB      jfs2  1048576 rw,cio         yes  no
/dev/fslv12     --         /oracle/PRD/oraarch        jfs2  20971520 rw              yes  no
/dev/fslv13     --         /oracle/PRD/sapreorg      jfs2  2097152 rw               yes  no
/dev/fslv14     --         /oracle/PRD/sapdata1      jfs2  41943040 rw,cio       yes  no
/dev/fslv15     --         /oracle/PRD/sapdata2      jfs2  94371840 rw,cio       yes  no
/dev/fslv16     --         /oracle/PRD/sapdata3      jfs2  4194304 rw,cio         yes  no
/dev/fslv17     --         /oracle/PRD/sapdata4      jfs2  115343360 rw,cio     yes  no
/dev/fslv21     --         /eccerp6                           jfs2  4194304 rw                   yes  no

3) After making sure that SAP is down, unmount all the filesystems which have CIO enabled one by one. I am showing only for 2 filesystems, you need to change all the filesystems which have CIO enabled.
      # umount /oracle/PRD/origlogA
      # umount /oracle/PRD/sapdata2

4) Disable the CIO option for the filesystems by using chfs command as shown below
     # chfs -a options=rw /oracle/PRD/origlogA
    # chfs -a options=rw /oracle/PRD/sapdata2

5) Then remount the filesystems. You should disable CIO option for all the SAP filesystems.
      # mount /oracle/PRD/origlogA
     # mount /oracle/PRD/sapdata2

Also Read: Follow these tips to improve the SAP Oracle database backup and restore performance

6) Now, if you run lsfs command, the output should be somewhat like
/dev/fslv03     --         /oracle/PRD/origlogA      jfs2  1048576 rw               yes  no
/dev/fslv04     --         /oracle/PRD/origlogB      jfs2  1048576 rw               yes  no
/dev/fslv12     --         /oracle/PRD/oraarch        jfs2  20971520 rw              yes  no
/dev/fslv13     --         /oracle/PRD/sapreorg      jfs2  2097152 rw                yes  no
/dev/fslv14     --         /oracle/PRD/sapdata1      jfs2  41943040 rw              yes  no
/dev/fslv15     --         /oracle/PRD/sapdata2      jfs2  94371840 rw              yes  no
/dev/fslv16     --         /oracle/PRD/sapdata3      jfs2  4194304 rw                yes  no
/dev/fslv17     --         /oracle/PRD/sapdata4      jfs2  115343360 rw            yes  no
/dev/fslv21     --         /eccerp6                              jfs2  4194304 rw                yes  no

7) After making sure all the SAP filesystems are correctly mounted with CIO disabled, START SAP application and database.

8) Finally, now you can restart your SAP database backup using SAP brtools and backint interface and the backup should complete successfully.

Check this below IBM technote for more info

0 Comment to " Troubleshooting TDP SAP backup error "BKI4008E: File cannot be opened. Reason: errno(22) A system call received a parameter that is not valid""

Post a Comment