oracle9i的rman全备在10g上的恢复

目的主要是为了测试迁移升级一个测试库。

 

迁移的方法很多,比如迁移表空间、exp/imp等。由于测试库不能停库,并且表空间中包含的物化视图一直再用,所以迁移表空间的方法不适合这里。而exp/imp花的时间可能会很长。

 

要求:既不影响当前测试库的正常应用,又能达到迁移效果。

 

所以打算直接在测试库生成一个rman备份。然后,将9i的rman备份传到10g的服务器上做恢复。

 

平台都是windows2003.

 

源库:oracle9i,目标库:10g

 

下面是迁移过程:

 

如果源库没有启动归档模式,那么需要启动到归档模式。这是唯一需要停库的一个地方。

 

假如不知道rman备份的实例名是什么,我们可以这么获取:
命令:strings 控制文件备份名|head
可看到第一行就是实例名称:tjcs。

 

目标库的操作如下:

 

C:\Documents and Settings\Administrator>oradim -new -sid tjcs
实例已创建。

 

C:\Documents and Settings\Administrator>set ORACLE_SID=tjcs

 

C:\Documents and Settings\Administrator>d:

 

D:\>cd d:\rman

 

D:\rman>rman target /

 

恢复管理器: Release 10.2.0.1.0 - Production on 星期一 1月 28 16:50:20 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

已连接到目标数据库 (未启动)

 

RMAN> startup nomount

 

启动失败: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INITTJCS.ORA
'

 

在没有参数文件的情况下启动 Oracle 实例以检索 spfile
Oracle 实例已启动

 

系统全局区域总计     159383552 字节

 

Fixed Size                     1247852 字节
Variable Size                 54527380 字节
Database Buffers             100663296 字节
Redo Buffers                   2945024 字节

 

RMAN> restore spfile from 'd:\rmanbak\BK_1_1_618168364';

 

启动 restore 于 28-1月 -08
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=37 devtype=DISK

 

通道 ORA_DISK_1: 已找到的自动备份: d:\rmanbak\BK_1_1_618168364
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 01/28/2008 16:53:05 上) 失败
ORA-19870: 读取备份段 D:\RMANBAK\BK_3_1_618168380 时出错
ORA-32014: 处理来自 SPFILE 恢复映像的参数 "hash_join_enabled" 时出错
LRM-00101: unknown parameter name 'hash_join_enabled'

 

RMAN> exit

 


恢复管理器完成。

 

D:\rman>sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 1月 28 16:53:27 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

SQL> conn /as sysdba
已连接。
SQL> create pfile='d:\rmanbak\tjcs.ora' from spfile;
create pfile='d:\rmanbak\tjcs.ora' from spfile
*
第 1 行出现错误:
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

 


SQL> exit

 


====创建init.ora
tjcs.__db_cache_size=269098752
tjcs.__java_pool_size=4194304
tjcs.__large_pool_size=4194304
tjcs.__shared_pool_size=130686720
tjcs.__streams_pool_size=0
*.audit_file_dest='d:\rmanbak\tjcs\adump'
*.background_dump_dest='d:\rmanbak\tjcs\bdump'
*.compatible='10.2.0.1.0'
*.control_files='d:\rmanbak\tjcs\control01.ctl','d:\rmanbak\tjcs\control02.ctl','d:\rmanbak\tjcs\control03.ctl'
*.core_dump_dest='d:\rmanbak\tjcs\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='tjcs'
*.db_recovery_file_dest='d:\rmanbak\tjcs\fla'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tjcsXDB)'
*.job_queue_processes=10
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=203423744
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=612368384
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='d:\rmanbak\tjcs\udump'
========
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开

 

D:\rman>set ORACLE_SID=jyc

 

D:\rman>sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 1月 28 16:54:32 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

SQL> conn /as sysdba
已连接。
SQL> create pfile='d:\rmanbak\tj.ora' from spfile;

 

文件已创建。

 

SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开

 

D:\rman>set ORACLE_SID=tjcs

 

D:\rman>sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 1月 28 16:56:49 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

SQL> create spfile from pfile='d:\rmanbak\tj.ora';
SP2-0640: 未连接
SQL> conn /as sysdba
已连接。
SQL> create spfile from pfile='d:\rmanbak\tj.ora';

 

文件已创建。

 

SQL> shutdown immediate
ORA-01507: 未装载数据库

 


ORACLE 例程已经关闭。
SQL> startup nomount
ORA-02778: Name given for the log directory is invalid
SQL> host mkdir d:\rmanbak\tjcs

 

SQL> startup nomount
ORA-02778: Name given for the log directory is invalid
SQL> startup nomount
ORACLE 例程已经启动。

 

Total System Global Area  612368384 bytes
Fixed Size                  1250452 bytes
Variable Size             167775084 bytes
Database Buffers          440401920 bytes
Redo Buffers                2940928 bytes
SQL> shutdown immediate
ORA-01507: ??????

 


ORACLE 例程已经关闭。
SQL> create spfile from pfile='d:\rmanbak\tj.ora';

 

文件已创建。

 

SQL> startup nomount
ORA-01261: Parameter db_recovery_file_dest destination string cannot be trans
ed
ORA-01263: Name given for file destination directory is invalid
OSD-04018: ??????????????????????????
O/S-Error: (OS 2) ??????????????????????
SQL> startup nomount
ORACLE 例程已经启动。

 

Total System Global Area  612368384 bytes
Fixed Size                  1250452 bytes
Variable Size             167775084 bytes
Database Buffers          440401920 bytes
Redo Buffers                2940928 bytes
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开

 

D:\rman>rman target /

 

恢复管理器: Release 10.2.0.1.0 - Production on 星期一 1月 28 17:00:20 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

连接到目标数据库: tjcs (未装载)

 

RMAN> restore controlfile from 'd:\rmanbak\CNTRL_6_1_618168416';

 

启动 restore 于 28-1月 -08
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK

 

通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
输出文件名=D:\RMANBAK\TJCS\CONTROL01.CTL
输出文件名=D:\RMANBAK\TJCS\CONTROL02.CTL
输出文件名=D:\RMANBAK\TJCS\CONTROL03.CTL
完成 restore 于 28-1月 -08

 

RMAN> alter database mount
2> ;

 

数据库已装载
释放的通道: ORA_DISK_1

 

RMAN> restore database;

 

启动 restore 于 28-1月 -08
启动 implicit crosscheck backup 于 28-1月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 5 对象
完成 implicit crosscheck backup 于 28-1月 -08

 

启动 implicit crosscheck copy 于 28-1月 -08
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 28-1月 -08

 

搜索恢复区域中的所有文件
正在编制文件目录...
没有为文件编制目录

 

使用通道 ORA_DISK_1

 

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00003恢复到D:\ORACLE9201\ORADATA\TJCS\CWMLITE01.DBF
正将数据文件00005恢复到D:\ORACLE9201\ORADATA\TJCS\EXAMPLE01.DBF
正将数据文件00006恢复到D:\ORACLE9201\ORADATA\TJCS\INDX01.DBF
正将数据文件00009恢复到D:\ORACLE9201\ORADATA\TJCS\USERS01.DBF
正将数据文件00010恢复到D:\ORACLE9201\ORADATA\TJCS\XDB01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\BK_1_1_618168364

 

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到D:\ORACLE9201\ORADATA\TJCS\UNDOTBS01.DBF
正将数据文件00004恢复到D:\ORACLE9201\ORADATA\TJCS\DRSYS01.DBF
正将数据文件00007恢复到D:\ORACLE9201\ORADATA\TJCS\ODM01.DBF
正将数据文件00008恢复到D:\ORACLE9201\ORADATA\TJCS\TOOLS01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\BK_2_1_618168364

 

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE9201\ORADATA\TJCS\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\BK_3_1_618168380

 

故障转移到上一个备份

 

创建数据文件 fno = 1 名称 = D:\ORACLE9201\ORADATA\TJCS\SYSTEM01.DBF
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 01/28/2008 17:02:13 上) 失败
ORA-01180: 无法创建数据文件 1
ORA-01110: 数据文件 1: 'D:\ORACLE9201\ORADATA\TJCS\SYSTEM01.DBF'
RMAN> run{
2> set newname for datafile 1 to 'D:\rmanbak\tjcs\data\SYSTEM01.DBF';
3> set newname for datafile 2 to 'D:\rmanbak\tjcs\data\UNDOTBS01.DBF';
4> set newname for datafile 3 to 'D:\rmanbak\tjcs\data\CWMLITE01.DBF';
5> set newname for datafile 4 to 'D:\rmanbak\tjcs\data\DRSYS01.DBF';
6> set newname for datafile 5 to 'D:\rmanbak\tjcs\data\EXAMPLE01.DBF';
7> set newname for datafile 6 to 'D:\rmanbak\tjcs\data\INDX01.DBF';
8> set newname for datafile 7 to 'D:\rmanbak\tjcs\data\ODM01.DBF';
9> set newname for datafile 8 to 'D:\rmanbak\tjcs\data\TOOLS01.DBF';
10> set newname for datafile 9 to 'D:\rmanbak\tjcs\data\USERS01.DBF';
11> set newname for datafile 10 to 'D:\rmanbak\tjcs\data\XDB01.DBF';
12> restore database;
13> switch datafile all;
14> }

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

正在执行命令: SET NEWNAME

 

启动 restore 于 28-1月 -08
使用通道 ORA_DISK_1

 

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00003恢复到D:\RMANBAK\TJCS\DATA\CWMLITE01.DBF
正将数据文件00005恢复到D:\RMANBAK\TJCS\DATA\EXAMPLE01.DBF
正将数据文件00006恢复到D:\RMANBAK\TJCS\DATA\INDX01.DBF
正将数据文件00009恢复到D:\RMANBAK\TJCS\DATA\USERS01.DBF
正将数据文件00010恢复到D:\RMANBAK\TJCS\DATA\XDB01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\BK_1_1_618168364
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\RMANBAK\BK_1_1_618168364 标记 = HOT_DB_BK_LEVEL0
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:16
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到D:\RMANBAK\TJCS\DATA\UNDOTBS01.DBF
正将数据文件00004恢复到D:\RMANBAK\TJCS\DATA\DRSYS01.DBF
正将数据文件00007恢复到D:\RMANBAK\TJCS\DATA\ODM01.DBF
正将数据文件00008恢复到D:\RMANBAK\TJCS\DATA\TOOLS01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\BK_2_1_618168364
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\RMANBAK\BK_2_1_618168364 标记 = HOT_DB_BK_LEVEL0
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:25
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\RMANBAK\TJCS\DATA\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\BK_3_1_618168380
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\RMANBAK\BK_3_1_618168380 标记 = HOT_DB_BK_LEVEL0
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:25
完成 restore 于 28-1月 -08

 

数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=11 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\SYSTEM01.D
BF
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=12 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\UNDOTBS01.
DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=13 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\CWMLITE01.
DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=14 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\DRSYS01.DB
F
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=15 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\EXAMPLE01.
DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=16 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\INDX01.DBF

 

数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=17 stamp=645210804 文件名=D:\RMANBAK\TJCS\DATA\ODM01.DBF
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=18 stamp=645210805 文件名=D:\RMANBAK\TJCS\DATA\TOOLS01.DB
F
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=19 stamp=645210805 文件名=D:\RMANBAK\TJCS\DATA\USERS01.DB
F
数据文件 10 已转换成数据文件副本
输入数据文件副本 recid=20 stamp=645210805 文件名=D:\RMANBAK\TJCS\DATA\XDB01.DBF

 

RMAN> restore archivelog all;

 

启动 restore 于 28-1月 -08
使用通道 ORA_DISK_1

 

通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=11
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\AL_5_1_618168412
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\RMANBAK\AL_5_1_618168412 标记 = TAG20070325T172651
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:01
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=10
通道 ORA_DISK_1: 正在读取备份段 D:\RMANBAK\AL_4_1_618168412
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\RMANBAK\AL_4_1_618168412 标记 = TAG20070325T172651
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:01
完成 restore 于 28-1月 -08

 

RMAN> recover database;

 

启动 recover 于 28-1月 -08
使用通道 ORA_DISK_1

 

正在开始介质的恢复

 

存档日志线程 1 序列 10 已作为文件 D:\RMANBAK\TJCS\FLA\TJCS\ARCHIVELOG\2008_01_28
\O1_MF_1_10_3SV765KP_.ARC 存在于磁盘上
存档日志线程 1 序列 11 已作为文件 D:\RMANBAK\TJCS\FLA\TJCS\ARCHIVELOG\2008_01_28
\O1_MF_1_11_3SV7639D_.ARC 存在于磁盘上
存档日志文件名 =D:\RMANBAK\TJCS\FLA\TJCS\ARCHIVELOG\2008_01_28\O1_MF_1_10_3SV765
KP_.ARC 线程 =1 序列 =10
存档日志文件名 =D:\RMANBAK\TJCS\FLA\TJCS\ARCHIVELOG\2008_01_28\O1_MF_1_11_3SV763
9D_.ARC 线程 =1 序列 =11
无法找到存档日志
存档日志线程 =1 序列=12
RMAN> exit

 


恢复管理器完成。

 

D:\rman>sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 1月 28 17:17:22 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

SQL> conn /as sysdba
已连接。
SQL> recover database using backup controlfile until cance;
ORA-00277: UNTIL 恢复标志 CANCE 的非法选项

 


SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 180949 (在 03/25/2007 17:26:50 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\RMANBAK\TJCS\FLA\TJCS\ARCHIVELOG\2008_01_28\O1_MF_1_12_%U_.ARC
ORA-00280: 更改 180949 (用于线程 1) 在序列 #12 中

 


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL;
ORA-00308: 无法打开归档日志 'CANCEL;'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

 


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'D:\RMANBAK\TJCS\DATA\SYSTEM01.DBF'

 


ORA-01112: 未启动介质恢复

 


SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

 


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-00344: 无法重新创建联机日志 'D:\ORACLE9201\ORADATA\TJCS\REDO01.LOG'
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。

 


SQL> alter database rename datafile alter database rename file 'D:\ORACLE9201\OR
ADATA\TJCS\REDO01.LOG' to 'D:\rmanbak\tjcs\data\redo01.log';
alter database rename datafile alter database rename file 'D:\ORACLE9201\ORADATA
\TJCS\REDO01.LOG' to 'D:\rmanbak\tjcs\data\redo01.log'
                      *
第 1 行出现错误:
ORA-02231: ALTER DATABASE 选项缺失或无效

 


SQL> alter database rename file 'D:\ORACLE9201\ORADATA\TJCS\REDO02.LOG' to 'D:\r
manbak\tjcs\data\redo02.log';

 

数据库已更改。

 

SQL> alter database rename file 'D:\ORACLE9201\ORADATA\TJCS\REDO03.LOG' to 'D:\r
manbak\tjcs\data\redo03.log';

 

数据库已更改。

 

SQL>
SQL>
SQL>
SQL> alter database rename file 'D:\ORACLE9201\ORADATA\TJCS\REDO01.LOG' to 'D:\r
manbak\tjcs\data\redo01.log';

 

数据库已更改。

 

SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01092: ORACLE 实例终止。强制断开连接

 


SQL>

 

============日志报错==========
on Jan 28 17:21:16 2008
Setting recovery target incarnation to 2
Mon Jan 28 17:21:17 2008
Switching redo format version from 9.2.0.0.0 to 10.2.0.1.0 at change 180951
Mon Jan 28 17:21:18 2008
Assigning activation ID 1027976628 (0x3d45adb4)
LGWR: STARTING ARCH PROCESSES
ARC0 started with pid=16, OS id=3664
Mon Jan 28 17:21:18 2008
ARC0: Archival started
ARC1: Archival started
LGWR: STARTING ARCH PROCESSES COMPLETE
ARC1 started with pid=17, OS id=3372
Mon Jan 28 17:21:18 2008
Thread 1 opened at log sequence 2
  Current log# 1 seq# 2 mem# 0: D:\RMANBAK\TJCS\DATA\REDO01.LOG
Successful open of redo thread 1
Mon Jan 28 17:21:18 2008
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Mon Jan 28 17:21:18 2008
SMON: enabling cache recovery
Mon Jan 28 17:21:18 2008
ARC0: STARTING ARCH PROCESSES
Mon Jan 28 17:21:18 2008
ARC1: Becoming the 'no FAL' ARCH
ARC1: Becoming the 'no SRL' ARCH
Mon Jan 28 17:21:18 2008
ARC2: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
ARC0: Becoming the heartbeat ARCH
ARC2 started with pid=18, OS id=2576
Mon Jan 28 17:21:19 2008
Errors in file d:\rmanbak\tjcs\udump\tjcs_ora_1280.trc:
ORA-00704: 引导程序进程失败
ORA-39700: 必须用 UPGRADE 选项打开数据库

 

Mon Jan 28 17:21:19 2008
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Mon Jan 28 17:21:20 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_dbw0_1296.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:20 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_pmon_1016.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:21 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_reco_1212.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:21 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_smon_3932.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:21 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_ckpt_3696.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:21 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_lgwr_1360.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:23 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_psp0_3448.trc:
ORA-00704: ????????

 

Mon Jan 28 17:21:23 2008
Errors in file d:\rmanbak\tjcs\bdump\tjcs_mman_3764.trc:
ORA-00704: ????????

 

Instance terminated by USER, pid = 1280
ORA-1092 signalled during: alter database open resetlogs...
=====================

需要更新数据字典,最后才能打开。
更新数据字典前,需要做如下操作,否则下面的操作会报错:
create tablespace SYSAUX datafile 'D:\rmanbak\tjcs\data\sysaux01.dbf'
     size 100M reuse
     extent management local
     segment space management auto
     online;
增加临时表空间文件:
alter tablespace temp add tempfile 'xxx' size 10M;
另外建议先禁用归档,一方面加快速度,另一方面避免后面操作执行HUNG。
alter database noarchivelog;
archive log list;
步骤如下:
SQL> STARTUP NOMOUNT
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> @?/rdbms/admin/utlrp.sql
SQL> select comp_id,status,version from dba_registry;
查找失效对象的语句:
select * from dba_objects where OWNER='GISTAR' AND status='INVALID';
以SYSDBA身份登录上,执行授权脚本:
grant select on sys.v_$session to public;
SQL> @?/rdbms/admin/utlrp.sql
最后检查:select * from v$Option;

你可能感兴趣的:(oracle)