Monday 6 May 2013

ORA-19863: device block size 4161536 is larger than max allowed: 1048576

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /home/oracle/MYDB/system01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /home/oracle/MYDB/data103.dbf
channel ORA_DISK_1: reading from backup piece /dhome/oracle/backup/MYDB_tab1_full_9ogt567_1_1
RMAN-00571: ===========================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
RMAN-00571: =============================================
RMAN-03002: failure of restore command at 05/04/2013 07:00:39
ORA-19870: error while restoring backup piece /dhome/oracle/backup/MYDB_tab1_full_9ogt567_1_1
ORA-19863: device block size 4161536 is larger than max allowed: 1048576

Cause :The user specified a device BLKSIZE that is larger than the device BLKSIZE specified during compressed backup.


Solution:
find the value of hidden parameter  "_db_file_direct_io_count" change it to given size

SQL> SELECT a.ksppinm NAME,
  b.ksppstvl VALUE,b.ksppstdf deflt,DECODE
 (a.ksppity, 1,'boolean', 2,'string', 3,'number', 4,'file', a.ksppity) TYPE,a.ksppdesc description
FROM sys.x$ksppi a,sys.x$ksppcv b
WHERE a.indx = b.indx
 AND a.ksppinm LIKE '\_%' ESCAPE '\' and a.ksppinm like '%&name%'
 /
Enter value for name: io_count
old   6: AND a.ksppinm LIKE '\_%' ESCAPE '\' and a.ksppinm like '%&name%'
new   6: AND a.ksppinm LIKE '\_%' ESCAPE '\' and a.ksppinm like '%io_count%'


NAME                VALUE          DEFLT           TYPE                      DESCRIPTION
--------               ------------          ---------             --------               ------------------------

_db_file_direct_io_count  4194304 TRUE      number       Sequential I/O buf size

_hash_multiblock_io_count


SQL>  alter system set "_db_file_direct_io_count"=1048576 scope=both;

No comments: