传输数据库Database-Transporting
1.Make sure your database is open in read-only mode, then call DBMS_TDB.CHECK_DB with appropriate parameters. 查看数据库启动状态, 确定数据库是在read only状态。
SQL>select open_mode from v$database;
让数据库启动至mount 状态下
SQL>startup mount; SQL>alter database open read only;
2.通过动态视图v$db_transportable_platform,检查是否能转换,查看本地库和目标库ENDIAN_FORMAT属性相同与否。
SQL> select * from v$db_transportable_platform;
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT ------------------------------------------------------------------------------- 1 Solaris[tm] OE (32-bit) Big 2 Solaris[tm] OE (64-bit) Big 6 AIX-Based Systems (64-bit) Big 3 HP-UX (64-bit) Big 4 HP-UX IA (64-bit) Big 9 IBM zSeries Based Linux Big 16 Apple Mac OS Big 18 IBM Power Based Linux Big
8 rows selected.
3.是否有外部文件
SQL>SET SERVEROUTPUT ON DECLARE external BOOLEAN; BEGIN external := DBMS_TDB.CHECK_EXTERNAL; END; /
输出以下信息,均为正常:
The following external tables exist in the database: SH.SALES_TRANSACTIONS_EXT The following directories exist in the database: SYS.WORK_DIR, SYS.ADMIN_DIR, SYS.ORACLE_OCM_CONFIG_DIR, SYS.DATA_PUMP_DIR, SYS.LOG_FILE_DIR, SYS.DATA_FILE_DIR, SYS.MEDIA_DIR The following BFILEs exist in the database: PM.PRINT_MEDIA
-------------------------------------------------------------------------------------------------------------
5.数据库是否准备好转换
DECLARE db_ready BOOLEAN; BEGIN db_ready := DBMS_TDB.CHECK_DB('AIX-Based Systems IA (64-bit)'); END;
If you call DBMS_TDB.CHECK_DB and no messages are displayed indicating conditions preventing transport before the PL/SQL procedure successfully completed message, then your database is ready for transport. 如果没有信息返回(在PL/SQL procedure successfully completed.之前)。 说明数据库已经准备好了跨平台迁移。
6.转换
rman >run { CONVERT DATABASE NEW DATABASE 'sztech' transport script '/oradata/sztech/transportscript' to platform 'AIX-Based Systems (64-bit)' db_file_name_convert '/oradata/sztech/','/oradata2/sztech/'; }
copy所有的pfile、数据文件、scrīpt到目标库
copy /oradata02/tdb目录下的数据文件、scrīpt到目标库
7.创建基础环境
首先创建相关目录:
mkdir /oracle/admin/adump mkdir /oracle/admin/bdump mkdir /oracle/admin/cdump mkdir /oracle/admin/dpdump mkdir /oracle/admin/pfile mkdir /oracle/admin/udump
8.在目标库上恢复数据库、 在目标库上运行脚本transportscrīpt (需要根据需要修改该脚本文件,如pfile路径) SQL>@transportscrīpt 该脚本包含步骤如下: 恢复pfile,修改pfile中相应的路径位置。启动数据库 STARTUP NOMOUNT PFILE='/home/oracle/initsztech.ora'
CREATE CONTROLFILE REUSE SET DATABASE "sztech" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ‘/oradata/logfile’SIZE 50M, GROUP 2 SIZE 50M, GROUP 3 SIZE 50M DATAFILE '/oradata/system01.dbf', '/oradata/undotbs01.dbf', '/oradata/sysaux01.dbf', '/oradata/users01.dbf', '/oradata/example01.dbf', '/oradata/CWMLITE.dbf', '/oradata/DRSYS.dbf', '/oradata/ODM.dbf' '/oradata/TOOLS.dbf' '/oradata/XDB.dbf' '/oradata/PSMIS.dbf' '/oradata/PSMIS_INDEX.dbf' '/oradata/PSMIS_PHOTO.dbf' '/oradata/PSMIS_TEMP.dbf' CHARACTER SET UTF8
;
[此贴子已经被作者于2013-5-28 9:33:05编辑过] |