• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle备份如何到异机还原

mysql 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

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

情景描述:

有朋友问,MS SQL SERVER将数据库备份还原到其它机器很方便,基本就是傻瓜式操作,Oracle有控制文件、参数文件一堆东西,觉得还原很复杂;其实不然,我抽出了点时间,简单演示下案例,朋友们,参考下!为了简单快速,,我采用RMAN备份和还原。

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

如果说要想改成其他的实例名,可以在恢复成功后,用nid 命令修改。 实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。

(2).恢复的路径和源库不一致时,就需要在restore命令中使用set 命令指定新位置,并且使用switch datafile all将变更信息更新的到控制文件中。

测试环境:

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

————————————

一、源数据库准备工作

————————————

–1. 查询DBID

SQL> select name,dbid from v$database;

NAME DBID
——— ———-
ORCL 1320546556

–2. 备份源数据DB

run {
configure retention policy to recovery window of 14 days;
configure controlfile autobackup on; –自动开启控制文件备份
configure controlfile autobackup format for device type disk to ‘E:\backup\controlfile\bak_%F’;
allocate channel c1 device type disk format ‘E:\backup\data\bak_%u’;
allocate channel c2 device type disk format ‘E:\backup\data\bak_%u’;
sql ‘alter system archive log current’;
backup incremental level=0 database skip inaccessible
plus archivelog filesperset 20
delete all input;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt obsolete;

–或

run {
configure retention policy to recovery window of 14 days;
allocate channel c1 device type disk format ‘E:\backup\data\bak_%u’;
allocate channel c2 device type disk format ‘E:\backup\data\bak_%u’;
sql ‘alter system archive log current’;
backup incremental level=0 database skip inaccessible
plus archivelog filesperset 20
delete all input;
–手动直接指明备份文件名和路径
backup current controlfile tag=’bak_ctrollfile’ format=’E:\backup\controlfile\bak_ctl_file_%U_%T’;
backup spfile tag=’bak_spfile’ format=’E:\backup\controlfile\bak_spfile_%U_%T’;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt obsolete;

–3.手动备份spfile

create pfile=’E:\backup\inittest.ora’ from spfile;

————————————

二、目标库准备工作:

————————————

—步骤1. 创建口令文件

–如果有就不需要新建.

orapwd file=F:\app\Administrator\product\1

本文来源gaodai.ma#com搞##代!^码@网*

1.2.0\dbhome_1\database\PWDorcl.ora password=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-dd hh: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 状态

rman target /

startup nomount pfile=’e:\bk\inittest.ora’


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle备份如何到异机还原

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址