最近用想学着用rman来备份,总是碰壁,配置的时候没问题,每次一到备份的时候就总是报错
比如
RMAN>run{
2> allocate channel c1 type disk;
3> backup database format 'e:\dbbackup\2db.dmp';
4> }分配的通道: c1
通道 c1: sid=10 devtype=DISK启动 backup 于 17-6月 -09
通道 c1: 正在启动 full 数据文件备份集
通道 c1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00579: the following error occurred at 06/17/2009 13:17:12
RMAN-03007: retryable error occurred during execution of command: backup
RMAN-12004: unhandled exception during command execution on channel c1
RMAN-10035: exception raised in RPC: ORA-19624: 操作失败,如果可能请重试
ORA-19602: 无法按 NOARCHIVELOG 模式备份或复制活动文件
ORA-06512: 在"SYS.DBMS_BACKUP_RESTORE", line 401
RMAN-10031: ORA-19624 occurred during call to DBMS_BACKUP_RESTORE.BACKUPDATAFILE在Google上搜了搜异常编号,还是找不到正解。不知道问题到底出在哪,难道是我的环境有问题么?
我对rman做配置和准备工作的时候是照着网上的一篇文章配的,配的过程中没有出现任何问题。只是备份的时候总报错。好像每次报错的内容还不大一样。

解决方案 »

  1.   

    RMAN>show all;释放的通道: c1
    RMAN 配置参数为:
    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
    CONFIGURE BACKUP OPTIMIZATION OFF; # default
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
    CONFIGURE MAXSETSIZE TO UNLIMITED; # default
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'E:\ORACLE\ORA90\DATABASE\SNCFYANG.ORA';
    # default这是我的配置情况。。好像都是默认的
      

  2.   

    请问关闭数据库直接在服务里把
    OracleService<SID>和OracleOraHome90TNSListener
    着两个服务进程关闭吗?
    我现在对oracle数据库的启动过程还有点模糊。谢谢指点啊!!!我的问题好像都是你帮我解答的,太感谢了
      

  3.   

    cmd> sqlplus /nolog
    sql>conn /as sysdba;
    sql> shutdown immediate;
      

  4.   

    SQL>shutdown immediate;
    SQL>startup mount;
    SQL>alter database archivelog;
    SQL>alter system archive log start;(如果是10g以下,执行,启动自动归档,10g或者以上版本跳过此步)
    SQL>alter database open;==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    电子邮件:[email protected]
    网站: http://www.inthirties.com
      

  5.   

    我刚才在设置归档模式启动,设置完之后怎么连数据库都启动不了了??
    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount
    ORACLE 例程已经启动。Total System Global Area  118255568 bytes
    Fixed Size                   282576 bytes
    Variable Size              83886080 bytes
    Database Buffers           33554432 bytes
    Redo Buffers                 532480 bytes
    数据库装载完毕。
    SQL> alter database archivelog;数据库已更改。SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=e:/oracle';系统已更改。SQL> alter system set log_archive_start=true scope=spfile;系统已更改。SQL> shutdown immediate
    ORA-01109: 数据库未打开
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup
    ORA-03113: 通信通道的文件结束
    SQL> startup
    ORA-24324: 未初始化服务句柄
    ORA-01041: 内部错误,hostdef 扩展名不存在
    SQL>
    SQL> shutdown immediate;
    ORA-24324: 未初始化服务句柄
    ORA-01041: 内部错误,hostdef 扩展名不存在
    SQL>请问这是什么错误
      

  6.   

    (这贴在7楼之前发的我发错地方了,现在补一下)
    关闭数据库后还是不行 
    这次的报错是 
    RMAN>run{ 
    2> allocate channel c1 type disk; 
    3> backup database format 'e:\dbbackup\2db.dmp'; 
    4> } RMAN-00571: =========================================================== 
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== 
    RMAN-00571: =========================================================== 
    RMAN-00579: the following error occurred at 06/17/2009 13:43:15 
    RMAN-10039: error encountered while polling for RPC completion on channel defaul 

    RMAN-10006: error running SQL statement: select act from x$ksusex where sid=:1 a 
    nd serial=:2 
    RMAN-10002: ORACLE error: ORA-12571: TNS: 包写入程序失败 
    RMAN-03002: failure during compilation of command 
    RMAN-03013: command type: allocate 
    RMAN-06004: ORACLE error from recovery catalog database: ORA-12571: TNS: 包写入 
    程序失败 
    RMAN-06097: text of failing SQL statement: begin dbms_rcvman . resetAll ; :succe 
    ss := dbms_rcvman . SUCCESS ; :av 
    RMAN-06099: error occurred in source file: krmk.pc, line: 9640 
    我现在试试去归档模式做一下~~!!!
      

  7.   

    楼主这次关闭的状态下失败,可能的原因是
    当前用来rman recovery的数据库也关闭了,
    所以为了成功需要采取的措施是:新建一个的数据库是专门用来给recovery manager用的,这个数据库不能关闭。
      

  8.   


    退出sqlplus在进入一次,看行不行,这个问题有时在shutdown以后同一个sqlplus里会出现的,但是有时候不出现,我也没有查到原因,你试试,用exit退出sqlplus, 然后再sqlplus "/ as sysdba"来一次。
      

  9.   


    可以了~谢谢你! 请问怎样给rman单独创建一个数据库啊?
      

  10.   

    另外还一个问题,我每次进入rman的时候,用的是cmd>rman target system/manager
    请问这样做对么?
      

  11.   

    新建一个数据库,用database configuration assistant工具来
      

  12.   

    事先告诉楼主,新建一个新的数据库,会消耗更多的内存。
    不过可以这样,如果需要这个数据库是就启动这个服务,不需要时就关闭。
    启动服务: net start oracleservice[sid]
    关闭服务: net stop oracleservice[sid]
      

  13.   

    创建数据库
    模板名:New Database
    全局数据库名称rmanTest
    SID:rmanTest
    数据库特性 我按默认走的 除了oracle Label serurity我都打勾了
    用的是专用服务器模式
    初始化参数用的是自定义的
    共享池36m
    缓冲区高速缓存30m
    java池30m我是这样创建的数据库,不知道有没有做错的地方???下一步应该怎么做呢?是不是重新配一下rman?
      

  14.   

    应该没有问题。连接到新的数据库然后重新配置rman,
      

  15.   

    我配置rman的过程是这样的 
    1
    SQL> create tablespace rmants datafile 'c:\oracle\oradata\cc\rmants.ora' size 20M ;
    表空间已创建。
    2 在目录数据库中创建RMAN 用户并授权
    SQL> create user rman_ts identified by rman default tablespace rmants temporary tablespace temp quota
    unlimited on rmants;
    用户已创建
    SQL> grant recovery_catalog_owner to rman ;
    授权成功。
    3 在目录数据库中创建恢复目录
    cmd>rman catalog rman_ts/rman
    恢复管理器:版本8.1.7.0.0 - Production
    RMAN-06008:连接到恢复目录数据库
    RMAN-06428:未安装恢复目录
    RMAN>create catalog tablespace rman_ts;
    RMAN-06431:恢复目录已创建
    4 注册目标数据库到恢复目录
    cmd>rman target system/manager
    恢复管理器:版本8.1.7.0.0 - Production
    RMAN-06005:连接到目标数据库:SID=YANG这里的YANG是我最初安装oracle9i时候创建的初始数据库
    请问用什么命令可以把rman指向我刚刚建立的新数据库(sid=rmanTest)呢?
    现在回想起来 配置rman的过程中我并没有特意指向过rman应该用哪个数据库
    现在又糊涂了
      

  16.   

    1.
    楼主连的数据库不正确了:cmd> sqlplus /nolog
    sql> conn sys/@rmanTest as sysdba
    sql>create tablespace rmants datafile 'c:\oracle\oradata\cc\rmants.ora' size 20M ; 4。cmd>rman/rman@rmantest target  system/manager@yang
      

  17.   

    http://oracle.chinaitlab.com/backup/23304.html
      

  18.   

    终于解决了。感谢welyngj  inthirties 对我的帮助!!!