• 【Vegas原创】使用RMAN转移数据库到不同主机(Windows版)


    例:将mestest服务器的dtlbwms数据库移动到dtsoradb01服务器中。

    1、源数据库RMAN备份:

    run {
    set command id to 'rman';
    allocate channel dev1 type 
    disk;
    backup  
       format 
    'F:\HISDBRMANBAK\df%s_%p_%t'
       
    database include current controlfile;

    sql 
    'alter system archive log current';
    sql 
    'alter system archive log current';

    delete noprompt obsolete;

    backup
       filesperset 
    20
       format 
    'F:\HISDBRMANBAK\Log\ar%s_%p_%t'
       (archivelog until time 
    '(SYSDATE-1)' all delete input);

    delete noprompt obsolete;

    release channel dev1;
    }

    2、获得源数据库的参数文件,修改后传送至目标数据库,修改后的参数文件可以用于数据库启动,主要修改的参数应该包括:*_dmpb_dest、control_files、db_recovery_file_dest、db_create_file_dest等。

    3、show parameter查出*_dmpb_dest、control_files、db_recovery_file_dest、db_create_file_dest等参数,在目标数据库中建立相应的文件夹。

    4、将init<SID>.ora文件、Control文件copy到目标数据库,更改pfile相应的路径参数。如没有pfile,则在源数据库中从spfile生成:

    SQL>create pfile form spfile;

    5、在window平台下,可以通过oradim创建一个服务启动oracle环境。  

    C:\>oradim -new -sid dtlbwms

    6、通过rman来启动数据库到nomount状态

    C:\>set oracle_sid=dtlbwms
    C:\
    >rman target / 
    RMAN
    > startup nomount pfile ='F:\oracle\product\10.2.0\db_1\database\initdtlbwms.ora'

    7、通过备份的控制文件恢复出控制文件

    RMAN> restore controlfile from 'F:\tmp\DF344_1_714024149';

    8、装载数据库

    RMAN> alter database mount;

    9、将备份集拷贝到相应目录,向控制文件中加载备份集

    RMAN>catalog start with 'G:\wmsRMan';


    10、作交叉检查,然后删除无效backup。

    RMAN> crosscheck backup;
    RMAN
    > delete expired backup;

    11、通过控制文件获得表空间及数据文件列表

    RMAN> report schema;

    12、通过编写恢复脚本,然后执行恢复

    RMAN>run{
    set newname for datafile 1 to 'F:\oracle\product\10.2.0\oradata\dtlbwms\SYSTEM01.DBF';
    set newname for datafile 2 to 'F:\oracle\product\10.2.0\oradata\dtlbwms\UNDOTBS01.DBF';
    set newname for datafile 3 to 'F:\oracle\product\10.2.0\oradata\dtlbwms\SYSAUX01.DBF';
    set newname for datafile 4 to 'F:\oracle\product\10.2.0\oradata\dtlbwms\USERS01.DBF';
    set newname for tempfile 1 to 'F:\oracle\product\10.2.0\oradata\dtlbwms\TEMP01.DBF';
    restore database;
    switch datafile 
    all;
    }

    run{
    set newname for datafile 1 to 'D:\oracle\product\10.2.0\oradata\hisdb\SYSTEM01.DBF';
    set newname for datafile 2 to 'D:\oracle\product\10.2.0\oradata\hisdb\UNDOTBS01.DBF';
    set newname for datafile 3 to 'D:\oracle\product\10.2.0\oradata\hisdb\SYSAUX01.DBF';
    set newname for datafile 4 to 'D:\oracle\product\10.2.0\oradata\hisdb\USERS01.DBF';
    set newname for datafile 5 to 'D:\oracle\product\10.2.0\oradata\hisdb\EXAMPLE01.DBF';
    set newname for datafile 6 to 'D:\oracle\product\10.2.0\oradata\hisdb\DRSYS';
    set newname for datafile 7 to 'D:\oracle\product\10.2.0\oradata\hisdb\INDX';
    set newname for datafile 8 to 'D:\oracle\product\10.2.0\oradata\hisdb\RBS';
    set newname for datafile 9 to 'D:\oracle\product\10.2.0\oradata\hisdb\TOOLS';
    set newname for tempfile 1 to 'D:\oracle\product\10.2.0\oradata\hisdb\TEMP01.DBF';
    restore database;
    switch datafile all;
    }

    注意:如果数据文件路径和原来的相同则直接

    run
    {
    restore database;
    }

    PS:如果当前的控制文件不允许从这个历史备份集中进行恢复,立马寻求他法!!!

    参看:http://www.cnblogs.com/Vegaslee/archive/2010/04/26/1721454.html 用dbms_backup_restore解决RMAN-06026 06023错误

    13、数据文件恢复出来以后,可以对数据库应用归档日志进行恢复

    RMAN> recover database;

    也可以在sqlplus中手动恢复

    SQL>recover database using backup controlfile until cancel; 

    PS:如果在线日志或归档日志全部丢失,不能进行如上操作,请参看:

     http://www.cnblogs.com/Vegaslee/archive/2010/03/26/1696698.html

    14、最后以resetlogs方式打开数据库

    RMAN> alter database open resetlogs;

    15、配置em

    参看:http://www.cnblogs.com/vegaslee/archive/2009/04/08/1431762.html 

    【Vegas原创】使用RMAN转移数据库到不同主机(Linux版)请参看:http://www.cnblogs.com/vegaslee/archive/2009/03/02/1401481.html

    ----------------------------------------------------------------------------------------------------------------

    常见问题解决:

    1,目标数据库startup时,报redolog路径不对错误:

    ALTER DATABASE RENAME FILE  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\REDO01.LOG' TO  'F:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\REDO01.LOG'
    ALTER DATABASE RENAME FILE  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\REDO02.LOG' TO  'F:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\REDO02.LOG'
    ALTER DATABASE RENAME FILE  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\REDO03.LOG' TO  'F:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\REDO03.LOG';  

    2,OEM查看表空间时,报TEMP空间错误:

    ALTER DATABASE RENAME FILE  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\TEMP01.DBF' TO  'F:\ORACLE\PRODUCT\10.2.0\ORADATA\DTLBWMS\TEMP01.DBF';

    3,select时,报ORA-06553错误:
    1)、Shutdown immediate
    2)、startup migrate
    注:startup migrate表示降级,在9i,无论升级/降级 数据库都是startup migrate;
    10g后增加了upgrade参数,升级可直接用startup upgrade,降级仍是startup migrate.
    3)、@$ORACLE_HOME/rdbms/admin/utlirp.sql;
    4)、Shutdown immediate
    5)、Startup
    6)、@$ORACLE_HOME/rdbms/admin/utlrp.sql;
    7)、Shutdown immediate
    8)、Startup 

    参考文档:http://junmail.javaeye.com/blog/237109 

  • 相关阅读:
    铬族元素
    Linux下安装虚拟环境
    Flask之路由系统
    Flask之CSRF
    【原创】关于Azure Storage Simulator 不能启动的问题
    今天终于搞清楚了正则表达式
    模型权重的保存与加载 回调函数的使用
    卷积神经网络结构
    滑动窗口与R-CNN
    模型权重记录与恢复
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744347.html
Copyright © 2020-2023  润新知