• rman restore spfile from backup


    spfile一般在$ORACLE_HOME/dbs(linux)目录,如果你丢失了spfile并不会引起实例立刻停掉,你的实例可以继续操作,尽管当你restore spfile的时候需要关闭重启实例,那么可以通过多种方式进行恢复

    1).通过alert_sid.log,alert里面包含你修改过的所有参数,可以根据alert日志重新创建pfile,再创建spfile恢复

    2).如果pfile还存在

    shutdown immediate;

    create spfile from pfile;

    创建spfile

    3).如果存在之前的spfile的备份,可以在rman 里面配置控制文件自动备份,spfile随着控制文件一起备份

    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/rmanback/control_%F';

    注意事项:

    • 如果实例已经用spfile启动,那么你不能覆盖存在的spfile;

    • 当有recovery catalog 的时候能简化你的恢复过程,因为你不需要设置dbid

    rman演示存在spfile备份的恢复(不连接catalog)

    1、删除spfile,pfile

     rm -rf spfiletest.ora inittest.ora

    2、关闭实例

    shutdown immediate;

    3.启动实例到nomount 状态,当spfile不可用时,rman用虚拟的参数文件启动实例

    RMAN> startup force nomount;


    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/home/u01/app/oracle/product/11.2.0/db_1/dbs/inittest.ora'


    starting Oracle instance without parameter file for retrieval of spfile
    Oracle instance started


    Total System Global Area     158662656 bytes


    Fixed Size                     2226456 bytes
    Variable Size                130025192 bytes
    Database Buffers              20971520 bytes
    Redo Buffers                   5439488 bytes

    4.restore spfile from spfile autobackup

    如果你想要restore spfile从自动备份,你必须要设置dbid,然后restore spfile from autobackup;

    restore spfile from '/home/oracle/rmanback/control_c-2171455666-20150309-02' --手动指定路径

    RMAN> SET DBID 320066378;
    RMAN> RUN {
        SET CONTROLFILE AUTOBACKUP FORMAT 
              FOR DEVICE TYPE DISK TO '/home/oracle/rmanback/control_%F';
        RESTORE SPFILE FROM AUTOBACKUP;
        }



    RMAN> set dbid 2171455666;


    executing command: SET DBID

    RMAN> set  CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/rmanback/control_%F';


    executing command: SET CONTROLFILE AUTOBACKUP FORMAT



    RMAN> restore spfile from autobackup;


    Starting restore at 2015-03-09 18:52:31
    using channel ORA_DISK_1


    channel ORA_DISK_1: looking for AUTOBACKUP on day: 20150309
    channel ORA_DISK_1: AUTOBACKUP found: /home/oracle/rmanback/control_c-2171455666-20150309-02
    channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/rmanback/control_c-2171455666-20150309-02
    channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
    Finished restore at 2015-03-09 18:52:33

    5.启动实例



    RMAN> startup force;


    Oracle instance started
    database mounted
    database opened


    Total System Global Area    1068937216 bytes


    Fixed Size                     2235208 bytes
    Variable Size                700449976 bytes
    Database Buffers             360710144 bytes
    Redo Buffers                   5541888 bytes

  • 相关阅读:
    asp.net core过滤器记录响应对象
    ef core实现无感知软删除
    Egret资源跨域问题
    ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
    把.Net开发环境迁移到Linux上去
    Mysql8.0升级后,Navicat连接报错caching_sha2_password 问题
    改MySQL的编码方式,解决jdbc MySQL中文乱码问题
    怡红公子专属网址导航
    html以前没有学到的标签
    有哪些质量上乘的程序员必关注的网站或论坛
  • 原文地址:https://www.cnblogs.com/hftian/p/9061598.html
Copyright © 2020-2023  润新知