设为首页 收藏本站
查看: 1263|回复: 0

[经验分享] 【Win7 Oracle 10G rman迁移恢复到Linux 32bit oracle 10G实战】

[复制链接]

尚未签到

发表于 2018-9-24 09:03:01 | 显示全部楼层 |阅读模式
  原系统: win7 64位系统 oracle 10.2.0.3.0 32位数据库,里面真实数据:
DSC0000.jpg

目标系统:redhat 5.4 oracle 10.2.0.3.0 32位数据库


【最好做迁移的是同数据库版本,可以避免不少问题,但可以尝试从低版本恢复到高版本,而高版本恢复到低版本就不推荐了,至少试过恢复,但不少问题】


备份脚本:

orcl  DBID=1297031839【要在源数据库记录下来】


run{

allocate channel c1 type disk;

sql 'alter system archive log current';

backup database format 'D:\rman\rman\full_db_%U_%T';

backup archivelog all delete all input format 'D:\rman\rman\ARC_%U_%T';

backup current controlfile format 'D:\rman\rman\ctr_%U_%T';

release channel c1;

}

【注意:控制文件一定要最后备份,由于没做归档目录数据库,rman备份信息都放在控制文件里面,要保证备份过程的信息内容都进入到控制文件,保证数据文件和控制文件是一致备份】


pfile备份是由win7数据库直接利用一下语句备份出来的:

create pfile='D:/initorcl.ora' from spfile;【pfile备份后,拷贝到目标数据库服务器】


  【一般rman全备只备份spfile 那pfile可以通过restore spfile to pfile ‘xxx’ from ‘spfile备份集’来恢复pfile,
  然后对pfile进行相应修改(不同平台迁移必须修改,同平台迁移 路径不同的时候,也有时候要修改)】

需要对pfile进行修改【由于Windows跟Linux磁盘路径不一样,要手工修改到目标数据库的相关路径,并建立相关数据库目录,不然会提示找不到adump udump等目录路径文件的

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

orcl.__db_cache_size=398458880

orcl.__java_pool_size=16777216

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=163577856

orcl.__streams_pool_size=0

*.audit_file_dest='/opt/app/oracle/product/10.2/admin/orcl/adump'

*.background_dump_dest='/opt/app/oracle/product/10.2/admin/orcl/bdump'

*.compatible='10.2.0.3.0'

*.control_files='/opt/app/oracle/oradata/control01.ctl','/opt/app/oracle/oradata/control02.ctl','/opt/app/oracle/oradata/control03.ctl'

*.core_dump_dest='/opt/app/oracle/product/10.2/admin/orcl/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.db_recovery_file_dest='/opt/app/oracle/product/10.2/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

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

*.job_queue_processes=10

*.open_cursors=300

*.pga_aggregate_target=196083712

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=589299712

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/opt/app/oracle/product/10.2/admin/orcl/udump'


对于修改的路径要进行确认,是否linux下已经有该路径了

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

然后传送进去linux系统,正式恢复数据库:


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

1,用传进来的pfile启动nomount数据库:set DBID=1296363687


DSC0001.jpg



现在还看不到备份集的:

DSC0002.jpg


2,恢复控制文件

DSC0003.jpg



3,把数据库mount起来

DSC0004.jpg



4,设置【由于Windows跟Linux路径不同,控制文件虽然恢复出来,但里面信息还是Windows下的目录路径,如下动作是告诉rman从哪里读取备份集】

DSC0005.jpg


DSC0006.jpg


DSC0007.jpg



【如上图 catalog with 命令后,就可以识别存放备份集的物理位置了】


5,执行数据库恢复脚本如下:【目标数据库是Linux 目录路径不同,要对数据文件进行set newname操作】

run{

allocate channel c1 type disk;

set newname for datafile 1 to '/opt/app/oracle/product/10.2/oradata/orcl/SYSTEM01.DBF';

set newname for datafile 2 to '/opt/app/oracle/product/10.2/oradata/orcl/UNDOTBS01.DBF';

set newname for datafile 3 to '/opt/app/oracle/product/10.2/oradata/orcl/SYSAUX01.DBF.DBF';

set newname for datafile 4 to '/opt/app/oracle/product/10.2/oradata/orcl/USERS01.DBF.DBF';

set newname for datafile 5 to '/opt/app/oracle/product/10.2/oradata/orcl/RMAN.DBF';

restore database;

switch datafile all;

release channel c1;

}

【如下为操作步骤and过程输出信息】

DSC0008.jpg


DSC0009.jpg


DSC00010.jpg



6.recover database;

DSC00011.jpg


DSC00012.jpg



报错了,但是没关系,并非严重错误,只是提醒你一些不完整recover信息,有时候会提示恢复到一个未知的scn号。如果要避免这个scn未知错误,可以在alter database mount之后,通过set until scn或者set until time命令设置恢复到的scn号或时间


7,启动数据库【由于有新的log文件和临时表空间,要resetlogs】

DSC00013.jpg



8验证是否恢复成功

DSC00014.jpg



到这里证明已经正确恢复了数据库,以下是善后工作:


在sqlplus / as sysdba下执行:


DSC00015.jpg



要重建下spfile,因为恢复时候是通过pfile恢复的,建好spfile后,重启就不需要指定pfile,直接默认用spfile启动数据库了。

DSC00016.jpg


可以再做个pfile的备份。


  恢复好数据库后,最好对数据库做个全备喔。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600468-1-1.html 上篇帖子: oracle rac升级补丁及中间的错误提示 下篇帖子: Oracle_Oracle前滚/Oracle后滚
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表