Oracle 10g RMAN 跨平台迁移
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 跨平台迁移相关推荐
- oracle10默认备份路径,oracle 10g RMAN备份及恢复
Oracle 10G数据库 使用rman备份(裸设备管理) 1检查数据库模式: oracle@yangzai ~]$uniread sqlplus / as sysdba [uniread] Loa ...
- 数据库连接oracle 10g rman 备份与恢复 之一
在改章节中,我们主要介绍数据库连接的内容,自我感觉有个不错的议建和大家分享下 播布客海明师老第一媾和第二讲记笔 rman 10g备份与恢复 海明诚实第一讲 一.recovery management( ...
- oracle 10g rman catalog数据库版本问题
1.升级catalog数据库版本: 昨天升级了oracle 10g到10.2.0.5版本,今天使用rman连接后报如下错误: 这里db01是目标数据库,db02是目录数据库,之前已经将db01在db0 ...
- oracle 记录镜像文件,记录oracle 10g RMAN的一些新特征-介绍了镜像与备份集的区别...
1.单条命令"backup as copy"进行全数据库镜像拷贝备份: RMAN> run { 2> backup as copy tag "sjh09032 ...
- 【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位数据库 [最好做迁移的是同数 ...
- ORACLE 10G rman 备份脚本
#!/bin/bash back_path="/10g/backup"; back_log="/10g/backup/log"; rman_name=" ...
- oracle 10g rman 备份与恢复 之三
海明老师第五讲 1.rman实际上就是一个备份工具,协调这部件. 就是在target database.auxiliary database.disk/sbt tape.catalog databas ...
- oracle 10G 表空间迁移 索引需要重建
昨天进行了表空间迁移的维护,维护后出现一个问题:MYTEST用户下的表表空间迁移后索引存在失效. 针对该问题和其他DBA进行了一些沟通,大家理解并不统一.后通过实际测试发现,表空间迁移后没有数据的表索 ...
- oracle rac 通信端口,浅析Oracle 10g rac更改listener端口
要想更改Oracle 9i的listener端口,只需要在listener.ora里改再重启就OK了.在Oracle 10g rac上迁移组需要加载数据,只允许迁移用户进入,***改Oracle 10 ...
- 跨平台表空间传输(linux 10g表空间跨平台迁移到window 11g)
最近公司的一个项目里的linux 系统中的oracle 10g数据库,需要把某个表空间里的所有数据都迁移到window 2003的11g里,经过我与dba的交流.测试,决定使用跨平台的表空间传输技术, ...
最新文章
- Free Online SQL Formatter
- intellij idea (Android studio )外部程序 打开某扩展名(格式)
- 【加密解密】单表加密(Javascript实现)
- Eclipse编译时保留方法的形参
- python按字节读取_Python read函数按字节(字符)读取文件的实现
- 准备了2个月零21天,面试字节跳动挂在了第三面JVM上
- [2018.03.13 T1] 比赛(contest)
- 层次分析法-yaahp软件使用
- DM - Manager工具
- 类似中国知网但是搜索英文文献的权威网站有哪些?
- scrapy 抓取 google play 应用信息
- aio-pika的使用
- 在地址栏直接使用Google“手气不错”功能
- 一键快速设置图层lisp程序_AE脚本-多图层一键快速排列 Staircase V1.03 + 使用教程...
- 实验五 网络编程与安全 20162316 刘诚昊
- 基于89C51单片机的433M射频遥控灯
- 重庆大学计算机学院导师郭平,重庆大学计算机学院召开首届学科研究宣讲会
- 信道编码---RS编码与译码原理
- 两个复数相加减c语言编程,用c语言 如何编写两个复数的运算啊 都含有虚部 谢谢啊...
- TCP通讯程序的编写