- 最后登录
- 2015-1-14
- 在线时间
- 13 小时
- 威望
- 8
- 金钱
- 45
- 注册时间
- 2014-3-22
- 阅读权限
- 10
- 帖子
- 20
- 精华
- 0
- 积分
- 8
- UID
- 1691
|
2#
发表于 2014-5-21 13:00:49
接上
6、迁移开始
1) 重建控制文件
STARTUP NOMOUNT PFILE='c:\oracle\database\initprod1.ora'
CREATE CONTROLFILE REUSE SET DATABASE "PROD1" RESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 200
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 (
'c:\oracle\oradata\prod1\onlineredo\redo01_a.log',
'c:\oracle\oradata\prod1\onlineredo\redo01_b.log'
) SIZE 100M BLOCKSIZE 512,
GROUP 2 (
'c:\oracle\oradata\prod1\onlineredo\redo02_a.log',
'c:\oracle\oradata\prod1\onlineredo\redo02_b.log'
) SIZE 100M BLOCKSIZE 512,
GROUP 3 (
'c:\oracle\oradata\prod1\onlineredo\redo03_a.log',
'c:\oracle\oradata\prod1\onlineredo\redo03_b.logs'
) SIZE 100M BLOCKSIZE 512
DATAFILE
'c:\oracle\oradata\prod1\datafile\system01.dbf',
'c:\oracle\oradata\prod1\datafile\sysaux01.dbf',
'c:\oracle\oradata\prod1\datafile\undotbs01.dbf',
'c:\oracle\oradata\prod1\datafile\example01.dbf',
'c:\oracle\oradata\prod1\datafile\tools01.dbf',
'c:\oracle\oradata\prod1\datafile\test1.dbf',
'c:\oracle\oradata\prod1\datafile\test2.dbf',
'c:\oracle\oradata\prod1\datafile\test3.dbf',
'c:\oracle\oradata\prod1\datafile\test4.dbf',
'c:\oracle\oradata\prod1\datafile\test5.dbf',
'c:\oracle\oradata\prod1\datafile\test6.dbf',
'c:\oracle\oradata\prod1\datafile\test7.dbf',
'c:\oracle\oradata\prod1\datafile\test8.dbf',
'c:\oracle\oradata\prod1\datafile\ocp01.dbf'
CHARACTER SET AL32UTF8
;
2) 完成数据库恢复
计划步骤为
a) startup upgrade提示system01.dbf需要介质恢复
b) recover database;
c) startup upgrade;
d) @?/rdbms/admin/utlirp.sql
e) @?/rdbms/admin/utlrp.sql
f) @?/rdbms/admin/catupgrd.sql
g) shutdown immediate
h) startup
i) ALTER TABLESPACE TEMPTS1 ADD TEMPFILE 'c:\oracle\oradata\prod1\datafile\tempts101.dbf'
SIZE 307M AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M;
但是实际上做recover database;的时候提示:
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期三 5月 21 12:38:50 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
已连接到空闲例程。
SYS@prod1>startup upgrade;
ORACLE 例程已经启动。
Total System Global Area 638853120 bytes
Fixed Size 2257912 bytes
Variable Size 264244232 bytes
Database Buffers 364904448 bytes
Redo Buffers 7446528 bytes
数据库装载完毕。
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'C:\ORACLE\ORADATA\PROD1\DATAFILE\SYSTEM01.DBF'
SYS@prod1>recover database;
ORA-00283: recovery session canceled due to errors
ORA-16433: The database must be opened in read/write mode.
之后查询了一些帖子,并做了如下操作:
C:\Users\Administrator>rman target /
恢复管理器: Release 11.2.0.3.0 - Production on 星期三 5月 21 12:41:11 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: PROD1 (DBID=254817997, 未打开)
RMAN> recover database noredo;
启动 recover 于 21-5月 -14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=283 设备类型=DISK
完成 recover 于 21-5月 -14
RMAN> alter database open resetlogs upgrade;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: 分析输入命令时出错
RMAN-01009: 语法错误: 找到 "upgrade": 应为: ";" 中的一个
RMAN-01007: 在第 1 行第 31 列, 文件: standard input
RMAN> alter database open resetlogs ;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 05/21/2014 12:42:17 上) 失败
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
RMAN> alter database open;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 05/21/2014 12:42:35 上) 失败
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'C:\ORACLE\ORADATA\PROD1\DATAFILE\SYSTEM01.DBF'
有的说是bug,但我还没查到不知确切原因是什么,也暂时没有解决方案,望有大侠能指点12。 |
|