Oracle 11.2.0.1从32位迁移到64位

Redhat 5.8+Oracle11.2.0.1

一、源端

创建NFS

/etc/exports中添加如下内容

/bakup *(rw,async,nohide,no_subtree_check)

开启nfs服务,并使用其开机自启

service nfs start
chkconfig nfs on
showmount -e
  Export list for racdb1:
  /bakup *

 
 备份源库 

RMAN> run{
backup as compressed backupset database format '/bakup/%d_%T_%s.dbf' ;
sql 'alter system switch logfile';
backup as compressed backupset format='/bakup/arch_%d_%T_%s.bak' archivelog all delete input;
backup current controlfile reuse format='/bakup/CTL_%T.bak';
}
创建pfile

SQL> create pfile='/bakup/initora11g.ora' from spfile;

二、目标端

mount备份的目录

mount 192.168.1.3:/bakup /bakup
ll /bakup/
total 465040
-rw-r----- 1 oracle oinstall  12606976 Dec  1 13:36 arch_ORA11G_20141201_3.bak
-rw-r----- 1 oracle oinstall   9797632 Dec  1 13:36 CTL_20141201.bak
-rw-r--r-- 1 oracle oinstall       878 Dec  1 15:53 initora11g.ora
-rw-r----- 1 oracle oinstall 452108288 Dec  1 13:36 ORA11G_20141201_1.dbf
-rw-r----- 1 oracle oinstall   1097728 Dec  1 13:36 ORA11G_20141201_2.dbf

目标端实例名,可自定义

[oracle@db1 ~]$ echo $ORACLE_SID
db11g64

创建相应的目录

[oracle@db1 oracle]$ mkdir -p /u01/app/oracle/admin/ora11g/adump
[oracle@db1 oracle]$ mkdir -p /u01/oradata/ora11g
[oracle@db1 oracle]$ mkdir -p /u01/archivelog

进入SQL提示符

[oracle@db1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 1 15:54:04 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

使用pfile启动到nomount状态,创建spfile再次启动到nomount状态

SQL> startup nomount pfile='/bakup/initora11g.ora';
ORACLE instance started.

Total System Global Area  421724160 bytes
Fixed Size                  2213976 bytes
Variable Size             289408936 bytes
Database Buffers          121634816 bytes
Redo Buffers                8466432 bytes

SQL>  create spfile from pfile='/bakup/initora11g.ora';

File created.

SQL> startup force nomount;
ORACLE instance started.

Total System Global Area  421724160 bytes
Fixed Size                  2213976 bytes
Variable Size             289408936 bytes
Database Buffers          121634816 bytes
Redo Buffers                8466432 bytes

恢复控制文件,mount数据库

RMAN> restore controlfile from '/bakup/CTL_20141201.bak'; 

RMAN> mount database;

database mounted
released channel: ORA_DISK_1

还原、恢复数据文件(可以源端查看日志或RMAN提示符下list backup确定recover到哪个日志序列)

数据文件目录不一致,要执行红色操作

RMAN> run{
<span style="color:#ff0000;">#set newname for datafile 1 to '/newpath/system01.dfb'</span>
set until sequence 47;                                                                                  
restore database;
recover database;
}
 

日志文件目录不一致,要执行以下操作

SQL> alterdatabase rename file '/oldpath/redo01.log' to'/newpath/redo01.log'

以迁移方式resetlogs数据库

SQL> alter database open resetlogs migrate;
SQL> select * from v$version;  #查看版本

执行转换脚本,并重新启动

SQL> spool /u01/logs/utlirp.log
SQL> @?/rdbms/admin/utlirp.sql
SQL> select * from v$version;#验证版本
SQL> shutdwon immediate
SQL> startup

 

编绎无效对象

SQL> select count(*) from dba_invalid_objects;

  COUNT(*)
----------
      9160

SQL> spool /u01/logs/utlrp.log
SQL> @?/rdbms/admin/utlrp.sql

结论:32到64位的转换,主要是最后两个脚本,一个转换成64位,一个编绎无效对象。其它备份恢复的操作大同小异。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海阿丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值