大家好:
      我的数据库是  Oracle 11gR2,做了数据库文件迁移后,将数据文件,控制文件,重做日志文件和归档日志文件迁移到别的路径后,
并且已经执行 alter database register physical logfile '/opt/oracle/oradata/demo/archivelog/1_12_815308036.ARC'; 重新注册迁移后的归档日志后,
但在执行 recover 恢复时,为什么还是提示将应用旧的归档日志路径: /oracle/oradata/demo/archivelog/1_12_815308036.ARC,而不是新的归档日志的路径:/opt/oracle/oradata/demo/archivelog/1_12_815308036.ARC,如下:
SQL> recover datafile 6;
ORA-00279: change 853068 generated at 05/15/2013 10:13:34 needed for thread 1
ORA-00289: suggestion : /oracle/oradata/demo/archivelog/1_12_815308036.ARC
ORA-00280: change 853068 for thread 1 is in sequence #12我执行 alter database rename file ' /oracle/oradata/demo/archivelog/1_12_815308036.ARC','/opt/oracle/oradata/demo/archivelog/1_12_815308036.ARC'; 也不行,提示错误。请问这是什么问题导致的呢?还有一个问题就是, 如何更改spfile文件的默认位置?我试过执行 create spfile='新路径/spfiledemo.ora' from pfile; 重启数据库后,show parameter spfile;显示 spfile还是以前的旧的路径的spfile文件。
也试过先用pfile启动数据库 startup pfile='....../pfile.ora'; 然后再执行 alter system set spfile='新路径/spfiledemo.ora'; 重启数据库还是变为以前的旧的路径的spfile文件。请问有什么办法是使用新位置的spfile文件,重启数据库也不会改变呢?
------------
以上关于归档日志和spfile的两个问题,还望各位帮助一下,谢谢!归档日志spfile数据迁移

解决方案 »

  1.   

    建议你把旧的全部清理了,再重启
    change 853068 generated at 05/15/2013 10:13:34 needed for thread 1因为他找不到原路径下的thread
      

  2.   

    归档日志是因为你的控制文件是旧的,但你的归档日志又移动了,所以它找不到。如何更改spfile文件的默认位置?
    Oracle不允许直接修改默认spfile的位置,变通方法通过pfile去找spfile(1)create pfile from spfile;(2) shutdown immediate;(3) 移动spfile到需要的位置(4) 修改$ORACLE/dbs下的pfile,增加spfile='/xxx/spfilesid.ora' 参数,这个时候该pfile的作用其实就只是指定spfile的位置,你可以把该pfile下的其他所有行删除或者注释掉(5)startup
    这时 show parameter spfile也可以看到相应参数
      

  3.   

    还要修改 log_archive_dest_1 参数为新位置啊。。