oracle备份如何到异机还原.docx

上传人:b****5 文档编号:7365158 上传时间:2023-01-23 格式:DOCX 页数:11 大小:18.79KB
下载 相关 举报
oracle备份如何到异机还原.docx_第1页
第1页 / 共11页
oracle备份如何到异机还原.docx_第2页
第2页 / 共11页
oracle备份如何到异机还原.docx_第3页
第3页 / 共11页
oracle备份如何到异机还原.docx_第4页
第4页 / 共11页
oracle备份如何到异机还原.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

oracle备份如何到异机还原.docx

《oracle备份如何到异机还原.docx》由会员分享,可在线阅读,更多相关《oracle备份如何到异机还原.docx(11页珍藏版)》请在冰豆网上搜索。

oracle备份如何到异机还原.docx

oracle备份如何到异机还原

oracle备份如何到异机还原

作者:

ocpyang

情景描述:

 

有朋友问,MSSQLSERVER将数据库备份还原到其它机器很方便,基本就是傻瓜式操作,oracle有控制文件、参数文件一堆东西,

觉得还原很复杂;其实不然,我抽出了点时间,简单演示下案例,朋友们,参考下!

为了简单快速,我才用RMAN备份和还原

 

 

 

 

--说明:

(1).RMAN备份到异机恢复的时候,db_name需要相同。

如果说要想改成其他的实例名,可以在恢复成功后,用nid命令修改。

实例名的信息会

记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。

(2).恢复的路径和源库不一致时,就需要在restore命令中使用set命令指定新位置,

并且使用switchdatafileall将变更信息更新的到控制文件中。

 

测试环境:

源数据库服务器A,安装在E,备份目录已在E盘;

源数据库服务器B,安装在F盘.

 

 

 

------------------------------------

一、源数据库准备工作

------------------------------------

--1.查询DBID

 

SQL>selectname,dbidfromv$database;

NAME           DBID

-------------------

ORCL      1320546556

 

--2.备份源数据DB

run{

configureretentionpolicytorecoverywindowof14days;

configurecontrolfileautobackupon; --自动开启控制文件备份

configurecontrolfileautobackupformatfordevicetypediskto'E:

\backup\controlfile\bak_%F';

allocatechannelc1devicetypediskformat 'E:

\backup\data\bak_%u';

allocatechannelc2devicetypediskformat'E:

\backup\data\bak_%u';

sql'altersystemarchivelogcurrent';

backupincrementallevel=0databaseskipinaccessible 

plusarchivelogfilesperset20

deleteallinput;

releasechannelc1;

releasechannelc2;

}

allocatechannelformaintenancedevicetypedisk;

crosscheckbackupset;

deletenopromptobsolete;

--或

run{

configureretentionpolicytorecoverywindowof14days;

allocatechannelc1devicetypediskformat 'E:

\backup\data\bak_%u';

allocatechannelc2devicetypediskformat'E:

\backup\data\bak_%u';

sql'altersystemarchivelogcurrent';

backupincrementallevel=0databaseskipinaccessible 

plusarchivelogfilesperset20

deleteallinput;

--手动直接指明备份文件名和路径

backupcurrentcontrolfiletag='bak_ctrollfile'format='E:

\backup\controlfile\bak_ctl_file_%U_%T';

backupspfiletag='bak_spfile'format='E:

\backup\controlfile\bak_spfile_%U_%T';

releasechannelc1;

releasechannelc2;

}

allocatechannelformaintenancedevicetypedisk;

crosscheckbackupset;

deletenopromptobsolete;

 

--3.手动备份spfile

createpfile='E:

\backup\inittest.ora'fromspfile;

------------------------------------

二、目标库准备工作:

------------------------------------

---步骤1.创建口令文件

--如果有就不需要新建.

orapwdfile=F:

\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.orapassword=password

 

--步骤2.恢复参数文件

--方法1.源数据库spfile并拷贝到B数据库服务器

\\192.168.2.25\e$\backup\inittest.ORA

复制到

E:

\bk\inittest.ORA

 

 

--步骤3.编辑参数文件中的文件路径

如路径和原来一样,则不需修改

 eg:

 -*_DUMP_DEST

 -LOG_ARCHIVE_DEST*

 -CONTROL_FILES

 

---实例:

orcl.__db_cache_size=939524096

orcl.__java_pool_size=16777216

orcl.__large_pool_size=16777216

orcl.__oracle_base='F:

\app\Administrator'#修改路径

orcl.__pga_aggregate_target=855638016

orcl.__sga_target=2550136832

orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=1526726656

orcl.__streams_pool_size=16777216

*.audit_file_dest='F:

\app\Administrator\admin\orcl\adump' #修改路径

*.audit_trail='db'

*.compatible='11.2.0.0.0'

#修改路径

*.control_files='F:

\app\Administrator\oradata\orcl\control01.ctl','F:

\app\Administrator\oradata\orcl\control02.ctl','F:

\app\Administrator\oradata\orcl\control03.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='orcl'

*.db_recovery_file_dest='F:

\arch' #修改路径

*.db_recovery_file_dest_size=6442450944

*.diagnostic_dest='F:

\app\Administrator' #修改路径

*.dispatchers='(PROTOCOL=TCP)(SERVICE=orclXDB)'

*.log_archive_dest_1='location=f:

\arch' #修改路径

*.nls_date_format='yyyy-mm-ddhh:

mi:

ss'

*.open_cursors=300

*.optimizer_capture_sql_plan_baselines=TRUE

*.pga_aggregate_target=845152256

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=2536505344

*.skip_unusable_indexes=TRUE

*.undo_tablespace='UNDOTBS1'

 

 

--步骤4.重启实例,使用已编辑好的参数文件

将用pfile将B数据库服务器启动到nomout状态

rmantarget/

startupnomountpfile='e:

\bk\inittest.ora'

 

 

--步骤5.恢复控制文件,装载数据库

 

rmantarget/

setdbid1320546556

restorecontrolfilefrom'e:

\bk\controlfile\BAK_CTL_FILE_6LO6SON4_1_1_20130412';

启动restore于2013-04-1113:

58:

58

使用目标数据库控制文件替代恢复目录

分配的通道:

ORA_DISK_1

通道ORA_DISK_1:

SID=129设备类型=DISK

通道ORA_DISK_1:

正在还原控制文件

通道ORA_DISK_1:

还原完成,用时:

00:

00:

01

输出文件名=F:

\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL

输出文件名=F:

\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL

输出文件名=F:

\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL

完成restore于2013-04-1113:

59:

00

 

--步骤6.将DB启动到mout状态

alterdatabasemount;

数据库已装载

释放的通道:

ORA_DISK_1

--加载备份目录

CATALOGSTARTWITH'E:

\bk';

搜索与样式E:

\bk匹配的所有文件

数据库未知文件的列表

====================================

文件名:

E:

\bk\controlfile\BAK_C-1320546556-20130411-03

文件名:

E:

\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411

文件名:

E:

\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411

文件名:

E:

\bk\data\BAK_60O6QIGV

文件名:

E:

\bk\data\BAK_61O6QIGV

文件名:

E:

\bk\data\BAK_62O6QIH1

文件名:

E:

\bk\data\BAK_63O6QIH1

文件名:

E:

\bk\data\BAK_64O6QILM

是否确实要将上述文件列入目录(输入YES或NO)?

yes

正在编制文件目录...

目录编制完毕

已列入目录的文件的列表

======================

文件名:

E:

\bk\controlfile\BAK_C-1320546556-20130411-03

文件名:

E:

\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411

文件名:

E:

\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411

文件名:

E:

\bk\data\BAK_60O6QIGV

文件名:

E:

\bk\data\BAK_61O6QIGV

文件名:

E:

\bk\data\BAK_62O6QIH1

文件名:

E:

\bk\data\BAK_63O6QIH1

文件名:

E:

\bk\data\BAK_64O6QILM

 

 

--步骤7.restore数据库

7.1恢复目录不同的情况:

 

到Target库查询一下:

SQL> selecttrim(file_id),trim(file_name)fromdba_data_filesORDERBYFILE_IDASC;

1 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF

2 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF

3 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF

4 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF

6 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF

7 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF

8 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF

9 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF

11 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF

12 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF

13 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF

14 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF

15 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF

16 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF

17 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF

18 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF

19 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF

20 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF

21 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF

22 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF

23 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF

24 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF

25 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF

26 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF

 

SQL>selecttrim(file_id),trim(file_name)fromdba_temp_files;

1 E:

\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF

 

 

select'SETNEWNAMEFORDATAFILE'||''||file_id||''||'TO'||''||''''||trim(file_name)||''''||';' 

fromdba_data_filesORDERBYFILE_IDASC;

---如下实例:

RUN

{

#renamethedatafiles 

SETNEWNAMEFORDATAFILE1TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF';

SETNEWNAMEFORDATAFILE2TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF';

SETNEWNAMEFORDATAFILE3TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF';

SETNEWNAMEFORDATAFILE4TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';

SETNEWNAMEFORDATAFILE6TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF';

SETNEWNAMEFORDATAFILE7TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF';

SETNEWNAMEFORDATAFILE8TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF';

SETNEWNAMEFORDATAFILE9TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF';

SETNEWNAMEFORDATAFILE11TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF';

SETNEWNAMEFORDATAFILE12TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF';

SETNEWNAMEFORDATAFILE13TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF';

SETNEWNAMEFORDATAFILE14TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF';

SETNEWNAMEFORDATAFILE15TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF';

SETNEWNAMEFORDATAFILE16TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF';

SETNEWNAMEFORDATAFILE17TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF';

SETNEWNAMEFORDATAFILE18TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF';

SETNEWNAMEFORDATAFILE19TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF';

SETNEWNAMEFORDATAFILE20TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF';

SETNEWNAMEFORDATAFILE21TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF';

SETNEWNAMEFORDATAFILE22TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF';

SETNEWNAMEFORDATAFILE23TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF';

SETNEWNAMEFORDATAFILE24TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF';

SETNEWNAMEFORDATAFILE25TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF';

SETNEWNAMEFORDATAFILE26TO'F:

\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF';

SQL"ALTERDATABASERENAMEFILE''E:

\app\Administrator\oradata\orcl\REDO01.LOG''

TO''F:

\app\Administrator\oradata\orcl\REDO01.LOG''";

SQL"ALTERDATABASERENAMEFILE''E:

\app\Administrator\oradata\orcl\REDO02.LOG''

TO''F:

\app\Administrator\oradata\orcl\REDO02.LOG''";

SQL"ALTERDATABASERENAMEFILE''E:

\app\Administrator\oradata\orcl\REDO03.LOG''

TO''F:

\app\Administrator\oradata\orcl\REDO03.LOG''";

RESTOREDATABASE;

SWITCHDATAFILEALL;

}

 

对switchdatafileall的说明:

--对于nocatalog模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。

这里的switchdatafileall的作用,就是更新控制文件里的信息。

--步骤8.recover数据库

RECOVERDATABASE;

/***常见错误:

归档日志线程=1序列=1696

RMAN-00571:

===========================================================

RMAN-00569:

===============ERRORMESSAGESTACKFOLLOWS===============

RMAN-00571:

===========================================================

RMAN-03002:

recover命令(在04/11/201315:

18:

07上)失败

RMAN-06054:

介质恢复正在请求未知的线程1序列1696的归档日志以及起始SCN240793

29

---解决方法:

RMAN>recoverdatabaseuntilscn24159677;

启动recover于2013-04-1115:

29:

05

使用通道ORA_DISK_1

正在开始介质的恢复

介质恢复完成,用时:

00:

00:

02

完成recover

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1