oracle恢复某个表的数据库,如何从rman的全备份中恢复一张表?
最初由 orientzkd 發布
[B].
怎么用rman復制數據庫,有詳細的步驟么 [/B]
1,用rman做一個數據庫的全備份
2,新創建一個輔助的instance,將instance startup nomount
3,根據數據庫的rman備份來復制產生一個新庫
下面是我做的測試例子,具體還是看看
Oracle9i Recovery Manager User's Guide
Release 2 (9.2)
Part Number A96566-01
6? ?RMAN Concepts II: Restore, Recovery, and Duplication
C:\>rman??target / auxiliary sys/test@test
恢復管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.??All rights reserved.
連接到目標數據庫: WORLD (DBID=516573805)
已連接到備用數據庫: test (未安裝)
RMAN> run??{
2>??allocate??auxiliary channel ch1 type disk;
3>??duplicate target database to??'test'
4>??logfile group??1 ('c:\oracle\oradata\test\redo01.log') size??100k,
5>? ?group??2 ('c:\oracle\oradata\test\redo02.log') size??100k;
6>??release channel ch1;
7>??}
正在使用目標數據庫控制文件替代恢復目錄
分配的通道: ch1
通道 ch1: sid=12 devtype=DISK
啟動 Duplicate Db 于 25-8月 -05
正在打印存儲的腳本: Memory Script
{
set until scn??2593883;
set newname for datafile??1 to
"C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF";
set newname for datafile??2 to
"C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF";
set newname for datafile??3 to
"C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF";
set newname for datafile??4 to
"C:\ORACLE\ORADATA\TEST\DRSYS01.DBF";
set newname for datafile??5 to
"C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF";
set newname for datafile??6 to
"C:\ORACLE\ORADATA\TEST\INDX01.DBF";
set newname for datafile??7 to
"C:\ORACLE\ORADATA\TEST\ODM01.DBF";
set newname for datafile??8 to
"C:\ORACLE\ORADATA\TEST\TOOLS01.DBF";
set newname for datafile??9 to
"C:\ORACLE\ORADATA\TEST\USERS01.DBF";
set newname for datafile??10 to
"C:\ORACLE\ORADATA\TEST\XDB01.DBF";
restore
check readonly
clone database
;
}
正在執行腳本: Memory Script
正在執行命令: SET until clause
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
啟動 restore 于 25-8月 -05
通道 ch1: 正在開始恢復數據文件備份集
通道 ch1: 正在指定從備份集恢復的數據文件
正將數據文件00001恢復到C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
正將數據文件00002恢復到C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
正將數據文件00003恢復到C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF
正將數據文件00004恢復到C:\ORACLE\ORADATA\TEST\DRSYS01.DBF
正將數據文件00005恢復到C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF
正將數據文件00006恢復到C:\ORACLE\ORADATA\TEST\INDX01.DBF
正將數據文件00007恢復到C:\ORACLE\ORADATA\TEST\ODM01.DBF
正將數據文件00008恢復到C:\ORACLE\ORADATA\TEST\TOOLS01.DBF
正將數據文件00009恢復到C:\ORACLE\ORADATA\TEST\USERS01.DBF
正將數據文件00010恢復到C:\ORACLE\ORADATA\TEST\XDB01.DBF
通道 ch1: 已恢復備份段 1
段 handle=C:\ORACLE\ORA92\DATABASE\02GSTTOQ_1_1 tag=TAG20050824T225002 params=N
LL
通道 ch1: 恢復完成
完成 restore 于 25-8月 -05
sql 語句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG
MAXLOGFILES? ?? ?5
MAXLOGMEMBERS? ?? ?3
MAXDATAFILES? ?? ?100
MAXINSTANCES? ???1
MAXLOGHISTORY? ?? ?226
LOGFILE
GROUP??1 ( 'c:\oracle\oradata\test\redo01.log' ) SIZE? ???102400 ,
GROUP??2 ( 'c:\oracle\oradata\test\redo02.log' ) SIZE? ???102400
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
正在打印存儲的腳本: Memory Script
{
switch clone datafile all;
}
正在執行腳本: Memory Script
數據文件 2 已轉換成數據文件副本
輸入數據文件副本 recid=1 stamp=567248609 文件名=C:\ORACLE\ORADATA\TEST\UNDOTBS0
.DBF
數據文件 3 已轉換成數據文件副本
輸入數據文件副本 recid=2 stamp=567248609 文件名=C:\ORACLE\ORADATA\TEST\CWMLITE0
.DBF
數據文件 4 已轉換成數據文件副本
輸入數據文件副本 recid=3 stamp=567248609 文件名=C:\ORACLE\ORADATA\TEST\DRSYS01.
BF
數據文件 5 已轉換成數據文件副本
輸入數據文件副本 recid=4 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\EXAMPLE0
.DBF
數據文件 6 已轉換成數據文件副本
輸入數據文件副本 recid=5 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\INDX01.D
F
數據文件 7 已轉換成數據文件副本
輸入數據文件副本 recid=6 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\ODM01.DB
數據文件 8 已轉換成數據文件副本
輸入數據文件副本 recid=7 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\TOOLS01.
BF
數據文件 9 已轉換成數據文件副本
輸入數據文件副本 recid=8 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\USERS01.
BF
數據文件 10 已轉換成數據文件副本
輸入數據文件副本 recid=9 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\XDB01.DB
正在打印存儲的腳本: Memory Script
{
set until scn??2593883;
recover
clone database
delete archivelog
;
}
正在執行腳本: Memory Script
正在執行命令: SET until clause
啟動 recover 于 25-8月 -05
正在開始介質的恢復
存檔日志線程 1 序列 25 已作為文件 C:\ORACLE\ORA92\RDBMS\ARC00025.001 存在于磁盤
上
存檔日志線程 1 序列 26 已作為文件 C:\ORACLE\ORA92\RDBMS\ARC00026.001 存在于磁盤
上
存檔日志線程 1 序列 27 已作為文件 C:\ORACLE\ORA92\RDBMS\ARC00027.001 存在于磁盤
上
存檔日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00025.001 線程 =1 序列 =25
存檔日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00026.001 線程 =1 序列 =26
存檔日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00027.001 線程 =1 序列 =27
完成介質的恢復
完成 recover 于 25-8月 -05
正在打印存儲的腳本: Memory Script
{
shutdown clone;
startup clone nomount ;
}
正在執行腳本: Memory Script
數據庫已卸載
Oracle 例程已關閉
已連接到備用數據庫 (未啟動)
Oracle 例程已啟動
系統全局區域總計? ???105978600 字節
Fixed Size? ?? ?? ?? ?? ?? ?? ? 453352 字節
Variable Size? ?? ?? ?? ?? ???83886080 字節
Database Buffers? ?? ?? ?? ???20971520 字節
Redo Buffers? ?? ?? ?? ?? ?? ???667648 字節
sql 語句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG
MAXLOGFILES? ?? ?5
MAXLOGMEMBERS? ?? ?3
MAXDATAFILES? ?? ?100
MAXINSTANCES? ???1
MAXLOGHISTORY? ?? ?226
LOGFILE
GROUP??1 ( 'c:\oracle\oradata\test\redo01.log' ) SIZE? ???102400 ,
GROUP??2 ( 'c:\oracle\oradata\test\redo02.log' ) SIZE? ???102400
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
正在打印存儲的腳本: Memory Script
{
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\DRSYS01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\INDX01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\ODM01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\TOOLS01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\USERS01.DBF";
catalog clone datafilecopy??"C:\ORACLE\ORADATA\TEST\XDB01.DBF";
switch clone datafile all;
}
正在執行腳本: Memory Script
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF recid=1 stamp=567248
43
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF recid=2 stamp=567248
43
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\DRSYS01.DBF recid=3 stamp=56724864
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF recid=4 stamp=567248
43
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\INDX01.DBF recid=5 stamp=567248644
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\ODM01.DBF recid=6 stamp=567248644
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\TOOLS01.DBF recid=7 stamp=56724864
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\USERS01.DBF recid=8 stamp=56724864
已將數據文件副本列入目錄
數據文件副本 filename=C:\ORACLE\ORADATA\TEST\XDB01.DBF recid=9 stamp=567248645
數據文件 2 已轉換成數據文件副本
輸入數據文件副本 recid=1 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\UNDOTBS0
.DBF
數據文件 3 已轉換成數據文件副本
輸入數據文件副本 recid=2 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\CWMLITE0
.DBF
數據文件 4 已轉換成數據文件副本
輸入數據文件副本 recid=3 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\DRSYS01.
BF
數據文件 5 已轉換成數據文件副本
輸入數據文件副本 recid=4 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\EXAMPLE0
.DBF
數據文件 6 已轉換成數據文件副本
輸入數據文件副本 recid=5 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\INDX01.D
F
數據文件 7 已轉換成數據文件副本
輸入數據文件副本 recid=6 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\ODM01.DB
數據文件 8 已轉換成數據文件副本
輸入數據文件副本 recid=7 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\TOOLS01.
BF
數據文件 9 已轉換成數據文件副本
輸入數據文件副本 recid=8 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\USERS01.
BF
數據文件 10 已轉換成數據文件副本
輸入數據文件副本 recid=9 stamp=567248645 文件名=C:\ORACLE\ORADATA\TEST\XDB01.DB
正在打印存儲的腳本: Memory Script
{
Alter clone database open resetlogs;
}
正在執行腳本: Memory Script
數據庫已打開
完成 Duplicate Db 于 25-8月 -05
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的oracle恢复某个表的数据库,如何从rman的全备份中恢复一张表?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle的redo和undo,Ora
- 下一篇: oracle数据库link格式,Orac