Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191249
  • 博文数量: 50
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 641
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-11 19:48
文章分类

全部博文(50)

文章存档

2011年(2)

2010年(1)

2009年(5)

2008年(42)

我的朋友

分类:

2008-05-22 18:21:52

RMAN 在win2003 备份与恢复的一些经验!!希望新手可以少走弯路!

1、切换服务器归档模式,如果已经是归档模式可跳过此步:

    (启动sqlplus)

    SQL> sys/oracle@kdcrm_local as sysdba (以DBA身份连接数据库)

    SQL> shutdown immediate; (立即关闭数据库)

    SQL> startup mount ; (启动实例并加载数据库,但不打开)

    SQL> alter database archivelog; (更改数据库为归档模式)

    SQL> alter database open; (打开数据库)

    SQL> alter system archive log start; (启用自动归档)

    SQL> exit (退出)
   
2、全备份数据库。
   
    Microsoft Windows [版本 5.2.3790]
   (C) 版权所有 1985-2003 Microsoft Corp.

    C:\Documents and Settings\Administrator>cd\

    C:\>rman target=kdcrm/kdcrm2.0@kdcrm_local
   
    RMAN> configure default device type to disk;
   
    RMAN> configure device type disk parallelism 2;
   
    RMAN> configure channel 1 device type disk format 'd:/oracle/backup1/backup_%U';
   
    RMAN> configure channel 2 device type disk format 'd:/oracle/backup2/backup_%U';
   
    RMAN> configure controlfile autobackup on;
   
    RMAN> configure controlfile autobackup format for device type disk to 'd:/oracle/backup1/ctl_%F';
   
    RMAN> show all;
   
    RMAN> backup database plus archivelog delete input;
   
    备份成功!!

3、恢复备份
  
   C:\Documents and Settings\Administrator>cd\

   C:\>rman target=kdcrm/kdcrm2.0@kdcrm_local
   
   RMAN> shutdown immediate;
   
   RMAN> startup pfile=d:/oracle/admin/crm/pfile/init.ora.918200713320 mount;
   
   有两种恢复方式:
   
   1。完全恢复:
   RMAN> restore database;
   
   RMAN> recover database;
   
   RMAN> alter database open;
   
   2。如果要不完全恢复的话要这样写
   
   RMAN> sql "alter session set nls_date_format=''yyyy.mm.dd hh24:mi:ss'' ";
   
   RMAN> run{
      2> set until time '2007.10.30 11:40:00';
      3> restore database;
      4> recover database;
      5> alter database open resetlogs;
      6> };
      
=========当数据库被删除掉,只剩下RMAN全备份时留下的文件时,这样恢复==

重装数据库,新建一个CRM实例。并把文件 D:\我的文档\长城证券\安装数据库\tablespace.sql 导入到CRM实例中。
然后就可以 rman target=kdcrm/kdcrm2.0@kdcrm_local 进入RMAN。

RMAN> shutdown immediate;

RMAN> startup nomount;

RMAN> restore controlfile from 'd:/oracle/backup1/CTL_C-3444766649-20071030-01';

RMAN> sql 'alter database mount';

sql 语句: alter database mount
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 10/31/2007 09:16:43
RMAN-11003: failure during parse/execution of SQL statement: alter database moun
t
ORA-01991: 无效的口令文件'D:\oracle\ora92\DATABASE\PWDcrm.ORA'

重创password file
C:\>orapwd file=D:\oracle\ora92\DATABASE\PWDcrm.ORA password=crm


RMAN> list backup;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 10/31/2007 09:18:19
RMAN-06189: current DBID 3445820261 does not match target mounted database (3444
766649)

RMAN> set dbid=3444766649;

RMAN> restore database;

RMAN> recover database;

启动 recover 于 31-10月-07
使用通道 ORA_DISK_1

正在开始介质的恢复

通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=46
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=D:\ORACLE\BACKUP1\BACKUP_18IVPN5R_1_1 tag=TAG20071030T114251 params=NU
LL
通道 ORA_DISK_1: 恢复完成
存档日志文件名 =D:\ORACLE\ORA92\RDBMS\ARC00046.001 线程 =1 序列 =46
无法找到存档日志
存档日志线程 =1 序列=47
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 10/31/2007 09:33:32
RMAN-06054: media recovery requesting unknown log: thread 1 scn 2742607

RMAN> alter database open resetlogs;

数据库已打开

=========windows2003下把RMAN备份到网络驱动器上(从一台机子备份到另一台机子,OS:win2003)==

1、先修改数据库服务OracleServiceCRM的启动属性,默认它是用LocalSystem(本地系统帐户)帐户来启动的,但是
   要使oracle写网络驱动器,必要要用某个具体用户来启动,这个用户必须使ORA_DBA组的成员当然最合适的就是  
   Administrator了。(具体是要把OracleServiceCRM与OracleOraHome92TNSListener 都设为Administrator的,重启机器)
   
2。在目标机子上,建一个共享目录,权限设为完全控制。(机器名:tancx,共享目录racle)

3。然后进入RMAN
   C:\>rman target=kdcrm/kdcrm2.0@kdcrm_local
   
    RMAN> configure default device type to disk;
   
    RMAN> configure device type disk parallelism 2;
   
    RMAN> configure channel 1 device type disk format '\\tancx\oracle\backup1\backup_%U';
   
    RMAN> configure channel 2 device type disk format '\\tancx\oracle\backup2\backup_%U';
   
    RMAN> configure controlfile autobackup on;
   
    RMAN> configure controlfile autobackup format for device type disk to '\\tancx\oracle\backup1\ctl_%F';
   
    RMAN> show all;
               
                正在使用目标数据库控制文件替代恢复目录
                RMAN 配置参数为:
                CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
                CONFIGURE BACKUP OPTIMIZATION OFF; # default
                CONFIGURE DEFAULT DEVICE TYPE TO DISK;
                CONFIGURE CONTROLFILE AUTOBACKUP ON;
                CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\\tancx\oracle\
                backup1\ctl_%F';
                CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
                CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
                CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
                CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT   '\\tancx\oracle\backup1\backup_%U'
                ;
                CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT   '\\tancx\oracle\backup2\backup_%U'
                ;
                CONFIGURE MAXSETSIZE TO UNLIMITED; # default
                CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\ORA92\DATABASE\SNCFCRM.ORA'; # default

    RMAN> backup database plus archivelog delete input;

阅读(1226) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~