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 中
指定日誌: {
CANCEL;
ORA-00308: 無法開啟歸檔日誌 'CANCEL;'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。
指定日誌: {
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 WNER='GISTAR' AND status='INVALID';
以SYSDBA身份登入上,執行授權指令碼:
grant select on sys.v_$session to public;
SQL> @?/rdbms/admin/utlrp.sql
最後檢查:select * from v$Option;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23141985/viewspace-719785/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle9i RMAN備份及恢復步驟Oracle
- oracle 10g RMAN備份及恢復Oracle 10g
- Oracle9i RMAN 的優缺點及RMAN 備份及恢復步驟Oracle
- 利用rman全備恢復刪除的資料庫資料庫
- Oracle9i RMAN備份及恢復步驟(zt)Oracle
- 有整庫備份的情況rman恢復全庫
- rman資料庫全庫備份與恢復資料庫
- oracle rman備份恢復的例子Oracle
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(二)
- RMAN備份恢復之控制檔案的恢復(一)
- 【RMAN】RMAN跨版本恢復(上)
- rman備份恢復-rman入門
- Linux下Oracle9i RMAN備份及恢復步驟(轉)LinuxOracle
- 10G RMAN恢復新特性
- RMAN備份恢復原理
- rman備份恢復-rman恢復資料檔案測試
- standby全庫rman備份檔案恢復到異機
- 刪除表空間,有rman全備的恢復(使用dbms_backup_restore來進行恢復)REST
- RMAN備份恢復——備份到帶庫的效能
- Oracle的RMAN備份恢復繼續,RMAN部分引數Oracle
- RMAN全庫【完全恢復/不完全恢復brief version】
- Oracle 10G RAC的ocr備份恢復Oracle 10g
- RMAN備份恢復——備份到帶庫的效能(二)
- RMAN備份與恢復之加密備份加密
- RMAN備份恢復效能優化優化
- rman備份恢復命令之switch
- RMAN備份恢復整個庫
- oracle RMAN 備份恢復總結Oracle
- oracle RMAN 備份恢復總結Oracle
- rman 全庫恢復asm資料庫ASM資料庫
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- RMAN恢復 執行不重要檔案的RMAN恢復
- 用10.2.0.1RMAN全備恢復10.2.0.4資料庫,透過資料庫
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式
- 【備份恢復】RMAN catalog 恢復目錄資料庫資料庫
- 將Oracle 10g RAC庫用rman 的方式備份並恢復到異機單機Oracle 10g