使用Rman将Windows Oracle 11gR2 32位中数据库恢复至Windows Oracle 11gR2 64位 与 centos 6.5 Oracle 11gR2 32位

本文详细介绍了如何使用RMAN将32位Windows Oracle 11gR2数据库恢复到64位Windows和CentOS环境。涉及备份、恢复、参数文件配置、监听器设置以及解决不同位数平台间的兼容性问题。在Windows环境中,重点在于调整初始化文件和监听器配置;而在CentOS中,主要涉及文件路径的修改和日志文件的处理。最后,还提到了在恢复过程中遇到的问题,如内存目标设置错误和日志文件问题,并提供了相应的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. windows恢复至windows

通过Rman备份数据方式为全备份命令:

Rman>rman database

备份包括两份文件,其中一个是数据文件,另一个为控制文件。还需要我们从源库中复制初始化文件(复制到目标数据库相应地方),其通常在%Oracle_Home%\database目录下SpfileXXX.ora。

其中Spfile需要按照备份数据库进行修改,但Spfile为二进制文件,需要先将其转换成pfile使用txt修改,命令为:

SQl>create pfile=‘存储路径’ from spfile(spfile以复制到相应目录)

创建之后打开pfile,如下所示:

orcl1234.__db_cache_size=188743680
orcl1234.__java_pool_size=12582912
orcl1234.__large_pool_size=4194304
orcl1234.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment
orcl1234.__pga_aggregate_target=285212672
orcl1234.__sga_target=536870912
orcl1234.__shared_io_pool_size=0
orcl1234.__shared_pool_size=322961408
orcl1234.__streams_pool_size=0
*.audit_file_dest='D:\app\Administrator\admin\orcl1234\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='D:\app\Administrator\oradata\orcl1234\control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl1234'
*.db_recovery_file_dest='D:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='D:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl1234XDB)'
*.local_listener='LISTENER_ORCL1234'
*.memory_target=822083584
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
上面文件我已经修改好(我的%Oracle_home%为D:\app\Administrator\product\11.2.0\dbhome_1)

control_files路径可以多添加几个做备份。local_listener值为下面tnsnames.ora中的监听名字。

接下来需要配置监听service name与tnsnames.ora 要不然初始化时会出现错误。

tnsnames.ora Network Configuration File里需要添加:

LISTENER_OCRL1234 =

  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

ORCL1234 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl1234)
    )
  )

配置完成后要将pfile中更改local_listener='LISTENER_OCRL1234'‘;

listener.ora需要添加红色部分:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = orcl1234)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (SID_NAME = orcl1234)
    )

    (SID_DESC =
      (GLOBAL_DBNAME = Oracle8)
      (SID_NAME = ORCL)
    )
  )

注:OCRL1234是要恢复的数据库实例名或数据库名

其中listener.ora也可以通过DBCA来配置,具体方法就不讲了。

下面进入正题:

>ORADIM -NEW -SID ORCL1234

 创建一个实例,注意此处实例名称与 源数据库相同!!!

>SET ORACLE_SID=ORCL1234

将当前实例设置为orcl1234

接下来连接到空实例进行pfile配置,命令见下图:


待初始化文件处理后启动不挂载数据库,进入RMAN,命令如下所示:


需要先获取源数据库文件的DBID,进入RAMN后set dbid=XXX,然后恢复控制文件到初始化文件指定目录,最后将数据库设置为挂载状态,这几步没有问题如下图:


接下来问题来了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值