我在用我的虚拟机进行rman备份时候数据库报错,
ORA-19597: file /opt/oracle/oradata/nb/system01.dbf blocksize 8192 does not matc
h set blocksize of 16384
说数据库块大小是8192,而set blocksize 是16384,但是set blocksize如何设置?这个我找了很多资料也不懂
下面是我的rman脚本,有那位大虾帮忙解决下不胜感激!
run{
allocate channel c1 type disk;
backup full tag 'fulldb' format '/opt/oracle/oradata/nbbak/fulldb_%u_%s_%p' database
include current controlfile;
sql 'alter system archive log current';
release channel c1;
}

解决方案 »

  1.   

    N年前就知道rman这个东西,可以从来没玩过,只能帮你顶了
      

  2.   

    参考
    http://space.itpub.net/9134/viewspace-166443
      

  3.   

    是否说明你安装的时候设置块大小为16kb
    但是你操作系统只支持8kb
      

  4.   

    表空间的block size不一致,可以将跟其他表空间block size不一致的表空间单独备份试下
      

  5.   

    from metalinkfix:In Oracle9i it is not necessary to use the 'include current controlfile' clause,
     just  RMAN> configure controlfile autobackup on;Then the current controlfile will be included in the backups. This fixed the problem. 
      

  6.   

    可以把include current controlfile去掉。然后配置为自动备份控制文件即可。
      

  7.   

    rman>alter database archivelog;
    rman>configure controlfile autobackup on;
    rman>run{
    allocate channel c1 type disk;
    backup full tag 'fulldb' format '/opt/oracle/oradata/nbbak/fulldb_%u_%s_%p' database
    release channel c1;
    }
    用这个试试吧,在WINDOWS下没问题,税知道在LINX下是否会有问题。
      

  8.   

    这个问题我在做"传输表空间"时遇到过,后来网上找资料证实.数据块大小必须是相同的才能传输;我想你的这个问题与我之前遇到的是一个情形或者说是一个道理;SQL>show parameter db;中找到块大小;在EM中初始化参数中找到db_block_size 默认为8192 还有db_cache_size默认为0的两个参数
    修改到与你要恢复的数据的参数一致即可;关闭数据库---重启数据库----OK;网上还有大量文件介绍这个相关问题的,请仔细找找;