传输数据库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
;
有以下建议:
1、文档最好写一下用来解决什么问题,为什么要使用这个技术,就是使用该技术的前提,最好做一下技术的对比。
2、转换采用的源端转换,如果采用目标端转换呢,是否可行。
3、每一步如果能够增加一些解释就好了
欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) | Powered by Discuz! X3.2 |