RMAN异构平台迁移1.实验环境简介
1.1  SOA生产系统数据库名    comSOA
实例名      Comsoa
DBID        4133565260
数据库版本   Windows 32bit 10.2.R2
数据文件目录  E:\ORASOA\ORADATA\COMSOA\
Pfile    Initcomsoa.ora1.2  待恢SOA系统
数据库名    comSOA
实例名      Comsoa
DBID        4133565260
数据库版本   Linux 64it 10.2R2
数据文件目录  /U01/ORADATA/COMSOA/
Pfile    Initcomsoa.ora2  备份
2.1  备份注意事项1. 迁移库只能在同字节顺序平台之间(即ENDIAN_FORMAT相同)且得是ORACLE所支持的平台,可以在V$TRANSPORTABLE_PLATFORM中查看。
2. 传输前需要将源库置为只读。
3. 生成的2个脚本文件要仔细根据需要修改。2.2  源库操作
2.2.1  将库只读,并检查是否支持迁移一.将库只读,并检查是否支持迁移
SQL> startup mount
SQL> alter database open read only;2.2.2  检查支持迁移平台SQL> select * from v$transportable_platform;
PLATFORM_ID PLATFORM_NAME                      ENDIAN_FORMAT
----------- --------------------------------  --------------2 Solaris[tm] OE (64-bit)               Big7 Microsoft Windows IA (32-bit)         Little10 Linux IA (32-bit)                    Little6 AIX-Based Systems (64-bit)            Big4 HP-UX IA (64-bit)                     Big11 Linux IA (64-bit)                    Little15 HP Open VMS                          Little8 Microsoft Windows IA (64-bit)         Little
17 rows selected.2.2.3  利用dbms_tdb 包检查数据库
二.利用dbms_tdb 包检查数据库能否被传输以及列出外部表和DIRECTORY 等无法传输的对象信息,分别在windows平台数据库通过SQLPLUS执行以下两个存储过程SQL> set serveroutput on
SQL> declare
2 db_ready boolean;
3 begin
4 /* db_ready is ignored, but with SERVEROUTPUT set to ON any
5 * conditions preventing transport will be output to console */
6 db_ready := dbms_tdb.check_db('Microsoft Windows IA (32-bit)',
7 dbms_tdb.skip_none);
8 end;
9 /PL/SQL procedure successfully completed.SQL> declare
2 external boolean;
3 begin
4 /* value of external is ignored, but with SERVEROUTPUT set to ON
5 * dbms_tdb.check_external displays report of external objects
6 * on console */
7 external := dbms_tdb.check_external;
8 end;
9 /PL/SQL procedure successfully completed.2.2.4  RMAN  ConvertDB
连接target database 查看数据库打开模式
C:\ Administrator > set oracle_sid=comsoa
C:\ Administrator > sqlplus / as sysdba
SQL> select open_mode from v$database;OPEN_MODE
----------
READ ONLY利用RMAN convertDB 转化数据库C:\ Administrator > rman target /
RMAN>  convert database new database 'comsoa'
2>   transport script 'f:\transdb.sql'
3>   to platform 'Linux IA (64-bit)'
4>   db_file_name_convert 'e:\orasoa\oradata\comsoa\','f:\trans_dir\';
注:
'f:\transdb.sql':数据库转化脚本生产位置
'Linux IA (64-bit)':被转化的平台
e:\orasoa\oradata\comsoa\:源数据库数据文件位置
'f:\trans_dir\':转化后生成新的数据文件位置
启动 convert 于 08-12月-11
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=318 devtype=DISK
在数据库中找到目录 SYS.WORK_DIR
在数据库中找到目录 SYS.ADMIN_DIR
在数据库中找到目录 SYS.DATA_PUMP_DIR
………
……….
………..
通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:01
在目标平台上运行 SQL 脚本 F:\TRANSDB.SQL 以创建数据库
编辑 init.ora 文件 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00MTMNQN_1_0.ORA。
此 PFILE 将用于在目标平台上创建数据库据
要重新编译所有 PL/SQL 模块, 请在目标平台上运行 utlirp.sql 和 utlrp.sql
要更改内部数据库标识符, 请使用 DBNEWID 实用程序
完成 backup 于 03-12月-11
2.2.5  修改pfile参数文件
修改在E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00MTMNQN_1_0.ORA 生成的参数文件并重新命名为initcomsoa.ora# Please change the values of the following parameters:control_files  = "/u01/app/oracle/oradata/comsoa/control01.ctl",
"/u01/app/oracle/oradata/comsoa/control02.ctl",
"/u01/app/oracle/oradata/comsoa/control03.ctl"db_recovery_file_dest    = "/u01/app/oracle/flash_recovery_area"db_recovery_file_dest_size= 2147483648audit_file_dest  = "/u01/app/oracle/comsoa/admin/adump"background_dump_dest    = "/u01/app/oracle/comsoa/admin/bdump"user_dump_dest          = "/u01/app/oracle/comsoa/admin/udump"core_dump_dest          = "/u01/app/oracle/comsoa/admin/cdump"db_name                 = "COMSOA"# Please review the values of the following parameters:__shared_pool_size       = 100663296__large_pool_size        = 4194304__java_pool_size         = 4194304__streams_pool_size      = 0__db_cache_size          = 205520896remote_login_passwordfile= "EXCLUSIVE"db_domain     = ""dispatchers     = "(PROTOCOL=TCP) (SERVICE=COMSOAXDB)"# The values of the following parameters are from source database:processes                = 300sessions                 = 335sga_max_size             = 318767104nls_language             = "SIMPLIFIED CHINESE"nls_territory            = "CHINA"sga_target               = 318767104db_block_size            = 8192compatible               = "10.2.0.1.0"# log_archive_dest_1       = "location=/u01/orasoa/archive/comsoa"db_file_multiblock_read_count= 16undo_management          = "AUTO"undo_tablespace          = "UNDOTBS1"job_queue_processes      = 10open_cursors             = 300pga_aggregate_target     = 336870912
2.2.6  重建控制文件脚本TRANSDB.SQL根据linux主机路径修改相应的数据文件目录-- The following commands will create a new control file and use it
-- to open the database.STARTUP NOMOUNT PFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/initcomsoa.ora'
CREATE CONTROLFILE REUSE SET DATABASE "COMSOA" RESETLOGS  ARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 292
LOGFILEGROUP 1 '/u01/app/oracle/oradata/comsoa/redo01.log'  SIZE 50M,GROUP 2 '/u01/app/oracle/oradata/comsoa/redo02.log'  SIZE 50M,GROUP 3 '/u01/app/oracle/oradata/comsoa/redo03.log'  SIZE 50M
DATAFILE'/u01/app/oracle/oradata/comsoa/SYSTEM01.DBF','/u01/app/oracle/oradata/comsoa/UNDOTBS01.DBF','/u01/app/oracle/oradata/comsoa/SYSAUX01.DBF','/u01/app/oracle/oradata/comsoa/USERS01.DBF','/u01/app/oracle/oradata/comsoa/TBS_IDX_COMSOA.ORA','/u01/app/oracle/oradata/comsoa/TBS_IDX_DXPT.ORA','/u01/app/oracle/oradata/comsoa/TBS_IDX_KB.ORA','/u01/app/oracle/oradata/comsoa/TBS_IDX_WORKFLOW.ORA','/u01/app/oracle/oradata/comsoa/TBS_KB.ORA','/u01/app/oracle/oradata/comsoa/TBS_WORKFLOW.ORA','/u01/app/oracle/oradata/comsoa/WORKFLOW_MAIN_1.ORA','/u01/app/oracle/oradata/comsoa/TBS_COMSOA.ORA','/u01/app/oracle/oradata/comsoa/TBS_DXPT.ORA','/u01/app/oracle/oradata/comsoa/WORKFLOW_MAIN.ORA'
CHARACTER SET ZHS16GBK
;-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TBS_TMP_DXPT ADD TEMPFILE '/u01/app/oracle/oradata/comsoa/TS-TBS_TMP_DXPT.dbf'SIZE 52428800  AUTOEXTEND OFF;
ALTER TABLESPACE TBS_TMP_COMSOA ADD TEMPFILE '/u01/app/oracle/oradata/comsoa/TS-TBS_TMP_COMSOA.dbf'SIZE 52428800  AUTOEXTEND OFF;
ALTER TABLESPACE TEMP01 ADD TEMPFILE '/u01/app/oracle/oradata/comsoa/TS-TEMP01.dbf'SIZE 52428800  AUTOEXTEND OFF;
-- End of tempfile additions.
--set echo off
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prompt * Your database has been created successfully!
prompt * There are many things to think about for the new database. Here
prompt * is a checklist to help you stay on track:
prompt * 1. You may want to redefine the location of the directory objects.
prompt * 2. You may want to change the internal database identifier (DBID)
prompt *    or the global database name for this database. Use the
prompt *    NEWDBID Utility (nid).
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SHUTDOWN IMMEDIATE
STARTUP UPGRADE PFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/initcomsoa.ora'
@@ /u01/app/oracle/product/10.2.0/db_1/rdbms/admin/utlirp.sql
SHUTDOWN IMMEDIATE
STARTUP PFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/initcomsoa.ora'
-- The following step will recompile all PL/SQL modules.
-- It may take serveral hours to complete.
@@ /u01/app/oracle/product/10.2.0/db_1/rdbms/admin/utlrp.sql
set feedback 6;注:在此文件中注意Linux目标数据库的路径要保证正确,目录属主权限要正确
2.3  Linux平台主机操作
2.3.1  安装oracle数据库软件,建立相关文件夹
安装好oracle后根据pfile文件内容来创建相关的目录$mkdir –p /u01/app/oracle/comsoa/admin/adump
$mkdir –p /u01/app/oracle/comsoa/admin/bdump
$mkdir –p /u01/app/oracle/comsoa/admin/cdump
$mkdir –p /u01/app/oracle/comsoa/admin/udump
$mkdir –p /u01/app/oracle/flash_recovery_area
$mkdir –p /u01/orasoa/archive/comsoa
$mkdir –p /u01/app/oracle/oradata/comsoa/
2.3.2  迁移转化
将在windows环境中生成的文件拷贝到linux主机下包括以下文件1.    f:\trans_dir\目录下的转化后的所有数据文件,还有幻化脚本TRANSDB.SQL拷贝到/u01/app/oracle/oradata/comsoa/目录下,
2.  将修改后的initcomsoa.ora拷贝到/u01/app/oracle/product/10.2.0/db_1/dbs/目录下
2.3.3    创建实例comsoa 执行转化脚本
$cd  /u01/app/oracle/oradata/comsoa
[oracle@SOA comsoa]$export ORACLE_SID=comsoa
[oracle@SOA comsoa]$ sqlplus / as sysdba
SQL > @TRANSDB.SQL
SQL脚本执行完成后提示以下信息
SQL> Rem =========================================================
SQL> Rem Run component validation procedure
SQL> Rem ==========================================================
SQL> SET serveroutput on
SQL> EXECUTE dbms_registry_sys.validate_components;
PL/SQL procedure successfully completed.
SQL> set feedback 6;
SQL>@utlip.sql 编译无效PLSQL过程
SQL> Rem =================================================
SQL> Rem END utlip.sql
SQL> Rem =================================================
2.4  数据库验证查看数据库名称
SQL> select name from v$database;
NAME
---------
COMSOA查询数据库实例
SQL> select status from v$instance;STATUS
------------
OPEN查询数据库打开模式
SQL> select open_mode from v$database;OPEN_MODE
----------
READ WRITE数据库用户登陆验证SQL> select username from dba_users;
USERNAME
------------------------------
DXPT
KB
WORKFLOW
WORKFLOW_YWZY
LTWG
MONITOR
……..
……..
DBSNMP
27 rows selected.登陆验证
SQL> conn kb/*******
Connected.
KB用户在经过windows环境迁移Linux主机后可以正常登陆表空间验证,查询迁移后的表空间SQL> select tablespace_name,file_id from dba_data_files;TABLESPACE_NAME                   FILE_ID
------------------------------                   ----------
WORKFLOW_MAIN                          14
WORKFLOW_MAIN                          13
TBS_WORKFLOW                           12
TBS_KB                                     11
TBS_IDX_WORKFLOW                       10
TBS_IDX_KB                                 9
TBS_IDX_DXPT                               8
TBS_IDX_COMSOA                           7
TBS_DXPT                                   6
TBS_COMSOA                               5
USERS                                      4
SYSAUX                                     3
UNDOTBS1                                  2
SYSTEM                                     1
14 rows selected.插入数据验证SQL> create table test (i int);Table created.SQL> insert into test values (1);1 row created.SQL> select * from test;I
----------1切换日志测试
SQL> alter system switch logfile;System altered.2.5   迁移注意事项
1.  确保源库与目标数据库的字符集一致
2.  数据库32bit迁移到64位后要把无效的数据库对象重新编译,确保正确执行utlrp.sql,utlirp.sql
3.  数据库迁移后,确保应用系统用户可以正确连接,登陆有效
4.  监听要重新配置,检查临时表空间的属主与可用性
5.  迁移完成后要立即进行一次全备份

转载于:https://blog.51cto.com/evils798/1420911

Oracle 10g RMAN 跨平台迁移相关推荐

  1. oracle10默认备份路径,oracle 10g RMAN备份及恢复

    Oracle  10G数据库 使用rman备份(裸设备管理) 1检查数据库模式: oracle@yangzai ~]$uniread sqlplus / as sysdba [uniread] Loa ...

  2. 数据库连接oracle 10g rman 备份与恢复 之一

    在改章节中,我们主要介绍数据库连接的内容,自我感觉有个不错的议建和大家分享下 播布客海明师老第一媾和第二讲记笔 rman 10g备份与恢复 海明诚实第一讲 一.recovery management( ...

  3. oracle 10g rman catalog数据库版本问题

    1.升级catalog数据库版本: 昨天升级了oracle 10g到10.2.0.5版本,今天使用rman连接后报如下错误: 这里db01是目标数据库,db02是目录数据库,之前已经将db01在db0 ...

  4. oracle 记录镜像文件,记录oracle 10g RMAN的一些新特征-介绍了镜像与备份集的区别...

    1.单条命令"backup as copy"进行全数据库镜像拷贝备份: RMAN> run { 2> backup as copy tag "sjh09032 ...

  5. 【Win7 Oracle 10G rman迁移恢复到Linux 32bit oracle 10G实战】

    原系统: win7 64位系统 oracle 10.2.0.3.0 32位数据库,里面真实数据: 目标系统:redhat 5.4 oracle 10.2.0.3.0 32位数据库 [最好做迁移的是同数 ...

  6. ORACLE 10G rman 备份脚本

    #!/bin/bash back_path="/10g/backup"; back_log="/10g/backup/log"; rman_name=" ...

  7. oracle 10g rman 备份与恢复 之三

    海明老师第五讲 1.rman实际上就是一个备份工具,协调这部件. 就是在target database.auxiliary database.disk/sbt tape.catalog databas ...

  8. oracle 10G 表空间迁移 索引需要重建

    昨天进行了表空间迁移的维护,维护后出现一个问题:MYTEST用户下的表表空间迁移后索引存在失效. 针对该问题和其他DBA进行了一些沟通,大家理解并不统一.后通过实际测试发现,表空间迁移后没有数据的表索 ...

  9. oracle rac 通信端口,浅析Oracle 10g rac更改listener端口

    要想更改Oracle 9i的listener端口,只需要在listener.ora里改再重启就OK了.在Oracle 10g rac上迁移组需要加载数据,只允许迁移用户进入,***改Oracle 10 ...

  10. 跨平台表空间传输(linux 10g表空间跨平台迁移到window 11g)

    最近公司的一个项目里的linux 系统中的oracle 10g数据库,需要把某个表空间里的所有数据都迁移到window 2003的11g里,经过我与dba的交流.测试,决定使用跨平台的表空间传输技术, ...

最新文章

  1. Free Online SQL Formatter
  2. intellij idea (Android studio )外部程序 打开某扩展名(格式)
  3. 【加密解密】单表加密(Javascript实现)
  4. Eclipse编译时保留方法的形参
  5. python按字节读取_Python read函数按字节(字符)读取文件的实现
  6. 准备了2个月零21天,面试字节跳动挂在了第三面JVM上
  7. [2018.03.13 T1] 比赛(contest)
  8. 层次分析法-yaahp软件使用
  9. DM - Manager工具
  10. 类似中国知网但是搜索英文文献的权威网站有哪些?
  11. scrapy 抓取 google play 应用信息
  12. aio-pika的使用
  13. 在地址栏直接使用Google“手气不错”功能
  14. 一键快速设置图层lisp程序_AE脚本-多图层一键快速排列 Staircase V1.03 + 使用教程...
  15. 实验五 网络编程与安全 20162316 刘诚昊
  16. 基于89C51单片机的433M射频遥控灯
  17. 重庆大学计算机学院导师郭平,重庆大学计算机学院召开首届学科研究宣讲会
  18. 信道编码---RS编码与译码原理
  19. 两个复数相加减c语言编程,用c语言 如何编写两个复数的运算啊 都含有虚部 谢谢啊...
  20. TCP通讯程序的编写

热门文章

  1. join --- connet string
  2. 089 重用父类方法的两种方式
  3. liunx中安装软件的几种方式
  4. Unity Lighting - Choosing a Color Space 选择色彩空间(四)
  5. shell脚本检测监控mysql的CPU占用率
  6. Android NDK 如何缩减库的大小
  7. 博文内部设置目录尝试
  8. Netty4.0学习笔记系列之六:多种通讯协议支持
  9. 10.27T1 堆贪心
  10. Access denied (403) see security.limit_extensions