XD,检查你的数据库状态是什么?你做不完全恢复,ORACLE应该启动到MOUNT状态下。

解决方案 »

  1.   

    RMAN>run{
    2> allocate channel c1 type disk;
    3> sql "alter session set NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''";
    4> sql "alter database mount";
    5> set until time '2004-09-08 18:00:00';
    6> restore database;
    7> recover database;
    8> sql "alter database open";
    9> release channel c1;
    10> }RMAN-03022:正在编译命令:allocate
    RMAN-03023:正在执行命令:allocate
    RMAN-08030:分配的通道:c1
    RMAN-08500:通道 c1:sid=12 devtype=DISKRMAN-03022:正在编译命令:sql
    RMAN-06162:sql 语句:alter session set NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''
    RMAN-03023:正在执行命令:sqlRMAN-03022:正在编译命令:sql
    RMAN-06162:sql 语句:alter database mount
    RMAN-03023:正在执行命令:sql
    RMAN-03026:在释放通道资源时出现错误恢复
    RMAN-08031:释放的通道:c1
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03006: non-retryable error occurred during execution of command: sql
    RMAN-07004: unhandled exception during command execution on channel default
    RMAN-20000: abnormal termination of job step
    RMAN-11003: failure during parse/execution of SQL statement: alter database mount
    RMAN-11001: Oracle Error: ORA-01100: 数据库已安装还是一样报错
      

  2.   

    还是报错啊!
    RMAN>run{
    2> allocate channel c1 type disk;
    3> sql "alter session set NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''";
    4> shutdown immediate;
    5> sql "alter database mount";
    6> set until time '2004-09-08 18:00:00';
    7> restore database;
    8> recover database;
    9> sql "alter database open";
    10> release channel c1;
    11> }RMAN-03022:正在编译命令:allocate
    RMAN-03023:正在执行命令:allocate
    RMAN-08030:分配的通道:c1
    RMAN-08500:通道 c1:sid=12 devtype=DISKRMAN-03022:正在编译命令:sql
    RMAN-06162:sql 语句:alter session set NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''
    RMAN-03023:正在执行命令:sqlRMAN-03022:正在编译命令:shutdown
    RMAN-06405:数据库已关闭
    RMAN-06404:数据库已卸载
    RMAN-06402:Oracle 例程已关闭RMAN-03022:正在编译命令:sql
    RMAN-03026:在释放通道资源时出现错误恢复
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure during compilation of command
    RMAN-03013: command type: sql
    RMAN-06004: ORACLE error from recovery catalog database: ORA-12571: TNS: 包写入程序失败
    RMAN-06097: text of failing SQL statement: begin dbms_rcvman . resetAll ; :success := dbms_rcvman .
    SUCCESS ; :av
    RMAN-06099: error occurred in source file: krmk.pc, line: 9335
      

  3.   

    你开另外一个窗口,先SHUTDOWN IMMEDIATE,然后startup mount,跟着再用RMAN执行你的脚本:RMAN>run{
    2> allocate channel c1 type disk;
    3> sql "alter session set NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''";
    4> set until time '2004-09-08 18:00:00';
    5> restore database;
    6> recover database;
    7> release channel c1;
    8> }
      

  4.   

    还是一样报:ORA-12571: TNS: 包写入程序失败
      

  5.   

    我的备份:
    RMAN>run{
    2> allocate channel c1 type disk;
    3> backup database format 'd:\dbbak\fire.dmp';
    4> }RMAN-03022:正在编译命令:allocate
    RMAN-03023:正在执行命令:allocate
    RMAN-08030:分配的通道:c1
    RMAN-08500:通道 c1:sid=12 devtype=DISKRMAN-03022:正在编译命令:backup
    RMAN-03023:正在执行命令:backup
    RMAN-08008:通道 c1:正在启动 full 数据文件备份集
    RMAN-08502:set_count=1 set_stamp=536349457 creation_time=08-9月 -04
    RMAN-08010:通道 c1:正在指定备份集中的数据文件
    RMAN-08522:输入数据文件 fno=00002 name=C:\ORACLE\ORADATA\FIREWEB\RBS01.DBF
    RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\FIREWEB\USERS01.DBF
    RMAN-08522:输入数据文件 fno=00004 name=C:\ORACLE\ORADATA\FIREWEB\TEMP01.DBF
    RMAN-08522:输入数据文件 fno=00001 name=C:\ORACLE\ORADATA\FIREWEB\SYSTEM01.DBF
    RMAN-08011:备份集中包括当前控制文件
    RMAN-08522:输入数据文件 fno=00006 name=C:\ORACLE\ORADATA\FIREWEB\INDX01.DBF
    RMAN-08522:输入数据文件 fno=00007 name=C:\ORACLE\ORADATA\FIREWEB\OEM_REPOSITORY.ORA
    RMAN-08522:输入数据文件 fno=00009 name=C:\ORACLE\ORADATA\FIREWEB\RMANTS.DBF
    RMAN-08522:输入数据文件 fno=00005 name=C:\ORACLE\ORADATA\FIREWEB\TOOLS01.DBF
    RMAN-08013:通道 c1:已创建 1 段
    RMAN-08503:段 handle=D:\DBBAK\FIRE.DMP comment=NONE
    RMAN-08525:备份集完成,经过时间:00:01:07
    RMAN-03023:正在执行命令:partial resync
    RMAN-08003:启动部分恢复目录的 resync
    RMAN-08005:完成部分 resync
    RMAN-08031:释放的通道:c1
      

  6.   

    SHUTDOWN 数据库以后重连RMAN
      

  7.   

    1、sqlplus internal
    2、shutdown immediate;
    3、startup mount;(如果报错退出SQLPLUS用sqlplus internal连接以后再执行)
    4、rman target internal/[email protected] catalog rman/[email protected] 
    5、run the restore script
      

  8.   

    sqlplus startup mount 就报错
    但用svrmgrl 可以
    c:\>set oracle_sid=fireweb
    C:\>lsnrctl start
    C:\>svrmgrl
    svrmgrl>connect internal/YOUR_PASSWORD 
    svrmgrl>shutdown immediate; 
    svrmgrl>startup mount
    但run the restore script 还是不行啊
      

  9.   

    C:\>rman target internal/[email protected] catalog rman/[email protected]恢复管理器:版本8.1.6.0.0 - ProductionRMAN-06005:连接到目标数据库:FIREWEB (DBID=4228486964)
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00554: initialization of internal recovery manager package failed
    RMAN-04004: error from recovery catalog database: ORA-01033: ORACLE initialization or shutdown in pr
    ogress