C:\Documents and Settings\mzl>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 2月 16 13:13:24 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> desc v$instance;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
INSTANCE_NUMBER NUMBER
INSTANCE_NAME VARCHAR2(16)
HOST_NAME VARCHAR2(64)
VERSION VARCHAR2(17)
STARTUP_TIME DATE
STATUS VARCHAR2(12)
PARALLEL VARCHAR2(3)
THREAD# NUMBER
ARCHIVER VARCHAR2(7)
LOG_SWITCH_WAIT VARCHAR2(11)
LOGINS VARCHAR2(10)
SHUTDOWN_PENDING VARCHAR2(3)
DATABASE_STATUS VARCHAR2(17)
INSTANCE_ROLE VARCHAR2(18)
ACTIVE_STATE VARCHAR2(9)
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
risesoft MOUNTED
SQL> archive log list;
数据库日志模式 存档模式
自动存档 禁用
存档终点 C:\oracle\ora92\RDBMS
最早的概要日志序列 10
下一个存档日志序列 12
当前日志序列 12
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del C:\oracle\oradata\risesoft\control*
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
SQL> set dbid 425358856
SP2-0158: 未知的SET选项"dbid"
SQL> set dbid 425358856
SP2-0158: 未知的SET选项"dbid"
SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开
C:\Documents and Settings\mzl>rman target/
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: risesoft(未安装)
RMAN> set dbid 425358856
正在执行命令: SET DBID
RMAN> restore controlfile from 'd:\backup\C-425358856-20080216-00';
启动 restore 于 16-2月 -08
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=11 devtype=DISK
通道 ORA_DISK_1: 正在恢复控制文件
通道 ORA_DISK_1: 恢复完成
正在复制控制文件
输出文件名=C:\ORACLE\ORADATA\RISESOFT\CONTROL01.CTL
输出文件名=C:\ORACLE\ORADATA\RISESOFT\CONTROL02.CTL
输出文件名=C:\ORACLE\ORADATA\RISESOFT\CONTROL03.CTL
完成 restore 于 16-2月 -08
在这里恢复控制文件成功
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 02/16/2008 13:18:59
RMAN-11003: failure during parse/execution of SQL statement: alter database moun
t
ORA-01991: 无效的口令文件'C:\oracle\ora92\DATABASE\PWDrisesoft.ORA'
RMAN>
删除该口令文件,后重建。
C:\Documents and Settings\mzl>del C:\oracle\ora92\DATABASE\PWDrisesoft.ORA
C:\Documents and Settings\mzl>orapwd file=C:\oracle\ora92\DATABASE\PWDrisesoft.O
RA password=mzl
重新查看
RMAN> shutdown immediate;
数据库已卸载
Oracle 例程已关闭
RMAN> startup nomount;
已连接到目标数据库 (未启动)
Oracle 例程已启动
系统全局区域总计 126950220 字节
Fixed Size 453452 字节
Variable Size 109051904 字节
Database Buffers 16777216 字节
Redo Buffers 667648 字节
RMAN> sql 'alter database mount';
sql 语句: alter database mount
RMAN> restore database;
启动 restore 于 16-2月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=11 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 02/16/2008 14:36:24
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 10 found to restore
RMAN-06023: no backup or copy of datafile 8 found to restore
RMAN-06023: no backup or copy of datafile 7 found to restore
RMAN-06023: no backup or copy of datafile 6 found to restore
RMAN-06023: no backup or copy of datafile 5 found to restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
很多数据块没有找到,用sql查询看看datafile对应的数据文件
SQL> l
1* select file#,name from v$datafile
SQL> /
FILE# NAME
---------- --------------------------------------------------
1 C:\ORACLE\ORADATA\RISESOFT\SYSTEM01.DBF
2 C:\ORACLE\ORADATA\RISESOFT\UNDOTBS01.DBF
3 C:\ORACLE\ORA92\DATABASE\MISSING00003
4 C:\ORACLE\ORA92\DATABASE\MISSING00004
5 C:\ORACLE\ORA92\DATABASE\MISSING00005
6 C:\ORACLE\ORA92\DATABASE\MISSING00006
7 C:\ORACLE\ORA92\DATABASE\MISSING00007
8 C:\ORACLE\ORA92\DATABASE\MISSING00008
9 C:\ORACLE\ORADATA\RISESOFT\USERS01.DBF
10 C:\ORACLE\ORA92\DATABASE\MISSING00010
已选择10行。
查看备份状态:
RMAN> list backup of database;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2 Full 340M DISK 00:00:23 16-2月 -08
BP 关键字: 2 状态: AVAILABLE 标记:TAG20080216T010912
段名:D:\BACKUP\02J8QJ9P_1_1
备份集 2 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 444212 16-2月 -08 C:\ORACLE\ORADATA\RISESOFT\SYSTEM01.DBF
2 Full 444212 16-2月 -08 C:\ORACLE\ORADATA\RISESOFT\UNDOTBS01.DBF
9 Full 444212 16-2月 -08 C:\ORACLE\ORADATA\RISESOFT\USERS01.DBF
出现该错误原因是在执行recover database时应该skip 不需要恢复的表空间
RMAN> recover database skip tablespace CWMLITE,DRSYS,EXAMPLE,INDX,ODM,TOOLS,XDB;
启动 recover 于 16-2月 -08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 12 已作为文件 C:\ORACLE\ORADATA\RISESOFT\REDO02.LOG 存在于磁
盘上
存档日志线程 1 序列 13 已作为文件 C:\ORACLE\ORADATA\RISESOFT\REDO03.LOG 存在于磁
盘上
存档日志线程 1 序列 14 已作为文件 C:\ORACLE\ORADATA\RISESOFT\REDO01.LOG 存在于磁
盘上
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=11
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=D:\BACKUP\03J8QJAJ_1_1 tag=TAG20080216T010939 params=NULL
通道 ORA_DISK_1: 恢复完成
存档日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00011.001 线程 =1 序列 =11
存档日志文件名 =C:\ORACLE\ORADATA\RISESOFT\REDO02.LOG 线程 =1 序列 =12
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/16/2008 15:39:32
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database reco
ver logfile 'C:\ORACLE\ORADATA\RISESOFT\REDO02.LOG'
ORA-00283: 恢复会话因错误而取消
ORA-16067: 归档日志 C:\ORACLE\ORADATA\RISESOFT\REDO02.LOG 中的激活标识符匹配出错
查找了一段时间,还没有解决,还是把控制文件删除了,再重建控制文件
解决方法:
1 在d:\backup\目录下创建了一个createControl.sql文件
内容如下:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "risesoft" NORESETLOGS ARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\oracle\oradata\risesoft\redo01.log' SIZE 100M,
GROUP 2 'C:\oracle\oradata\risesoft\redo02.log' SIZE 100M,
GROUP 3 'C:\oracle\oradata\risesoft\redo03.log' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'C:\oracle\oradata\risesoft\system01.dbf',
'C:\oracle\oradata\risesoft\undotbs01.dbf',
'C:\oracle\oradata\risesoft\users01.dbf'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\oracle\oradata\risesoft\temp01.dbf'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
2 在sqlplus中执行该文件
SQL>startup nomount
SQL>@d:\backup\createControl.sql
控制文件已创建
3 关闭后启动数据库
SQL>shutdown immediate;
SQL>startup
......
数据库已经打开
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-171137/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12778571/viewspace-171137/