XTTS迁移oracle11g-19c(非容器数据库)


 

 

 XTTS迁移oracle11g-19c(非容器数据库)

​一.背景

尝试把用xtts把oracle 11g单实例数据库迁移到19c非CDB单实例数据库中。

二.环境介绍

源端:11g:

操作系统:

[root@11g ~]# cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 6.4 (Santiago)

数据库版本:11.2.0.4

IP地址:192.168.59.180

目标端:19c:

操作系统:

[root@19c ~]# cat /etc/redhat-release 

CentOS Linux release 7.9.2009 (Core)

数据库版本:19.3.0.0

IP地址:192.168.59.181

所需软件:

rman_xttconvert_v3.zip

下载:

链接:https://pan.baidu.com/s/1ZRqkPzLVKtnnI_xQtRnADg

提取码:fhx7

三.迁移

3.1.准备阶段

3.1.1.生产库打开块跟踪特性

alter database enable block change tracking using file '/u01/xtts/block_change_tracking.log';

3.1.2.对表空间做自包含检查

检查出INDEX存在自包含问题,需要重建或者最后重建。

本次我们迁移的用户为TEST1和TEST2,涉及的表空间为TEST1和TEST2。

3.1.2.对表空间做自包含检查

检查出INDEX存在自包含问题,需要重建或者最后重建。

本次我们迁移的用户为TEST1和TEST2,涉及的表空间为TEST1和TEST2。

3.1.3.找出临时表的创建语句

因为XTTS在最后导入元数据的时候不支持临时表,所以需要提前查出临时表信息,在导入元数据之后手动执行。

SQL> Select dbms_metadata.get_ddl('TABLE',TABLE_NAME,OWNER) FROM dba_tables where TEMPORARY='Y' and owner='TEST1';
no rows selected
SQL> Select dbms_metadata.get_ddl('TABLE',TABLE_NAME,OWNER) FROM dba_tables where TEMPORARY='Y' and owner='TEST2';
no rows selected

3.2.XTTS迁移初始化阶段

3.2.1.上传rman_xttconvert_v3.zip 到oracle 11g上

解压之后会有如下文件:

[oracle@11g rman-xttconvert]$ ll
total 172
-rw-r--r-- 1 oracle oinstall   1390 May 24  2017 xttcnvrtbkupdest.sql
-rw-r--r-- 1 oracle oinstall     71 May 24  2017 xttdbopen.sql
-rw-r--r-- 1 oracle oinstall 142020 Sep 20  2018 xttdriver.pl
-rw-r--r-- 1 oracle oinstall  11710 May 24  2017 xttprep.tmpl
-rw-r--r-- 1 oracle oinstall   8028 Dec 17 10:53 xtt.properties
-rw-r--r-- 1 oracle oinstall     52 May 24  2017 xttstartupnomount.sql
[oracle@11g rman-xttconvert]$

3.2.2.源端更改配置文件xtt.properties

更改以下参数:

tablespaces=TEST1,TEST2
platformid=13
dfcopydir=/u01/xtts/bak
backupformat=/u01/xtts/bakincr
stageondest=/u01/xtts/oradata2
storageondest=/u01/xtts/oradata3
parallel=16
rollparallel=8
getfileparallel=8
desttmpdir=/u01/xtts/temp
dumpdir=/u01/xtts/dump
​
附录解释:
tablespaces= ----需要迁移的表空间
platformid= ----源 OS 平台 ID     V$DATABASE.PLATFORM_ID
dfcopydir= ----源数据库备份文件存放目录
backupformat= ---源数据库增备文件存放目录
stageondest= ----目标据库备份文件存放目录
storageondest= ----目标据库正式文件存放目录
parallel= ----备份,转化的并行度
rollparallel= ----增备的并行度

3.2.3.创建上述目录并将rman-xttconvert目录传输至目标端

创建相应目录:
源端:
mkdir -p /u01/xtts/bak
mkdir -p /u01/xtts/bakincr
mkdir -p /u01/xtts/temp
mkdir -p /u01/xtts/dump
[oracle@11g software]$ scp -r rman-xttconvert/ 192.168.59.181:/home/oracle/
目标端:
mkdir -p /u01/xtts/oradata2
mkdir -p /u01/xtts/oradata3
mkdir -p /u01/xtts/temp
mkdir -p /u01/xtts/dump
mkdir -p /u01/xtts/incr

3.3.初始备份

3.3.1.源端进行初始备份

export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/perl/bin/perl xttdriver.pl -p
[oracle@11g rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -p
============================================================
trace file is /u01/xtts/temp/prepare_Feb7_Mon_14_31_25_313//Feb7_Mon_14_31_25_313_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Starting prepare phase
--------------------------------------------------------------------
Prepare source for Tablespaces:
                  'TEST1'  /u01/xtts/oradata2
xttpreparesrc.sql for 'TEST1' started at Mon Feb  7 14:31:25 2022
xttpreparesrc.sql for  ended at Mon Feb  7 14:31:25 2022
Prepare source for Tablespaces:
                  'TEST2'  /u01/xtts/oradata2
xttpreparesrc.sql for 'TEST2' started at Mon Feb  7 14:31:30 2022
xttpreparesrc.sql for  ended at Mon Feb  7 14:31:30 2022--------------------------------------------------------------------
Done with prepare phase
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Find list of datafiles in system
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done finding list of datafiles in system
--------------------------------------------------------------------
[oracle@11g rman-xttconvert]$

3.3.2.传输初始备份

/u01/xtts/bak和/u01/xtts/temp目录下面的文件拷贝到目标环境对应的目录下
scp -r /u01/xtts/bak/* oracle@192.168.59.181:/u01/xtts/oradata2
scp -r /u01/xtts/temp/* oracle@192.168.59.181:/u01/xtts/temp

3.3.3.目标端依次转换

--执行转换之前记录下传输的文件的内容
[oracle@19c xtts]$ cd oradata2
[oracle@19c oradata2]$ ll
total 157392
-rw-r----- 1 oracle oinstall 80748544 Feb  7 14:34 TEST1_7.tf
-rw-r----- 1 oracle oinstall 80420864 Feb  7 14:34 TEST2_8.tf
[oracle@19c oradata2]$ cd ../temp/
[oracle@19c temp]$ ll
total 12
drwxr-xr-x 2 oracle oinstall 268 Feb  7 14:36 prepare_Feb7_Mon_14_31_25_313
-rw-r--r-- 1 oracle oinstall 348 Feb  7 14:36 rmanconvert.cmd
-rw-r--r-- 1 oracle oinstall  82 Feb  7 14:36 xttnewdatafiles.txt
-rw-r--r-- 1 oracle oinstall  40 Feb  7 14:36 xttplan.txt
[oracle@19c temp]$ cat xttnewdatafiles.txt 
::TEST1
7,/u01/xtts/oradata3/TEST1_7.dbf
::TEST2
8,/u01/xtts/oradata3/TEST2_8.dbf
[oracle@19c temp]$ cat xttplan.txt 
TEST1::::13693177
7
TEST2::::13693177
8
[oracle@19c temp]$ 
--开始执行转换
export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/perl/bin/perl xttdriver.pl -c
​
[oracle@19c rman-xttconvert]$ cd /home/oracle/rman-xttconvert/
[oracle@19c rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@19c rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -c
============================================================
trace file is /u01/xtts/temp/convert_Feb7_Mon_14_39_32_334//Feb7_Mon_14_39_32_334_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Performing convert
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Converted datafiles listed in: /u01/xtts/temp/xttnewdatafiles.txt
--------------------------------------------------------------------
[oracle@19c rman-xttconvert]$ 
​
--转换之后我们看看temp文件夹下内容的变化
[oracle@19c xtts]$ cd temp/
[oracle@19c temp]$ ll
total 12
drwxr-xr-x 2 oracle oinstall 174 Feb  7 14:42 convert_Feb7_Mon_14_39_32_334
drwxr-xr-x 2 oracle oinstall 268 Feb  7 14:36 prepare_Feb7_Mon_14_31_25_313
-rw-r--r-- 1 oracle oinstall 348 Feb  7 14:36 rmanconvert.cmd
-rw-r--r-- 1 oracle oinstall  82 Feb  7 14:42 xttnewdatafiles.txt
-rw-r--r-- 1 oracle oinstall  40 Feb  7 14:36 xttplan.txt
[oracle@19c temp]$ cat xttnewdatafiles.txt 
::TEST1
7,/u01/xtts/oradata3/TEST1_7.dbf
::TEST2
8,/u01/xtts/oradata3/TEST2_8.dbf
[oracle@19c temp]$ cat xttplan.txt 
TEST1::::13693177
7
TEST2::::13693177
8
[oracle@19c temp]$

3.4.增量数第一次传输

3.4.1.源端增量数据导出

export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
[oracle@11g rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@11g rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
============================================================
trace file is /u01/xtts/temp/incremental_Feb7_Mon_14_49_22_958//Feb7_Mon_14_49_22_958_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
============================================================
No new datafiles added
=============================================================
Prepare newscn for Tablespaces: 'TEST1'
Prepare newscn for Tablespaces: 'TEST2'--------------------------------------------------------------------
Starting incremental backup
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
[oracle@11g rman-xttconvert]$ 
--我们记录下来新生成的文件
[oracle@11g xtts]$ cd bakincr/
[oracle@11g bakincr]$ ll
total 352
-rw-r----- 1 oracle oinstall 180224 Feb  7 14:49 3k0l8cvj_1_1
-rw-r----- 1 oracle oinstall 180224 Feb  7 14:49 3l0l8cvl_1_1
[oracle@11g bakincr]$ cd ../temp/
[oracle@11g temp]$ ll
total 32
-rw-r--r-- 1 oracle oinstall   62 Feb  7 14:49 incrbackups.txt
drwxr-xr-x 2 oracle oinstall 4096 Feb  7 14:49 incremental_Feb7_Mon_14_49_22_958
drwxr-xr-x 2 oracle oinstall 4096 Feb  7 14:31 prepare_Feb7_Mon_14_31_25_313
-rw-r--r-- 1 oracle oinstall  348 Feb  7 14:31 rmanconvert.cmd
-rw-r--r-- 1 oracle oinstall   52 Feb  7 14:49 tsbkupmap.txt
-rw-r--r-- 1 oracle oinstall   82 Feb  7 14:31 xttnewdatafiles.txt
-rw-r--r-- 1 oracle oinstall   40 Feb  7 14:31 xttplan.txt
-rw-r--r-- 1 oracle oinstall   44 Feb  7 14:49 xttplan.txt.new
[oracle@11g temp]$ 
[oracle@11g temp]$ cat xttnewdatafiles.txt 
::TEST1
7,/u01/xtts/oradata3/TEST1_7.dbf
::TEST2
8,/u01/xtts/oradata3/TEST2_8.dbf
[oracle@11g temp]$ cat xttplan.txt
TEST1::::13693177
7
TEST2::::13693177
8
[oracle@11g temp]$ cat xttplan.txt.new 
 TEST1::::13713305
 7
 TEST2::::13713305
 8
[oracle@11g temp]$
--传输增量数据到目标端
cd /u01/xtts/bakincr
scp * oracle@192.168.59.181:/u01/xtts/oradata2
cd /u01/xtts/temp
scp xttplan.txt.new xttnewdatafiles.txt incrbackups.txt rmanconvert.cmd tsbkupmap.txt  oracle@192.168.59.181:/u01/xtts/temp
--此时目标端temp内容如下:
[oracle@19c temp]$ ll
total 24
drwxr-xr-x 2 oracle oinstall 174 Feb  7 14:42 convert_Feb7_Mon_14_39_32_334
-rw-r--r-- 1 oracle oinstall  62 Feb  7 14:53 incrbackups.txt
drwxr-xr-x 2 oracle oinstall 268 Feb  7 14:36 prepare_Feb7_Mon_14_31_25_313
-rw-r--r-- 1 oracle oinstall 348 Feb  7 14:53 rmanconvert.cmd
-rw-r--r-- 1 oracle oinstall  52 Feb  7 14:53 tsbkupmap.txt
-rw-r--r-- 1 oracle oinstall  82 Feb  7 14:53 xttnewdatafiles.txt
-rw-r--r-- 1 oracle oinstall  40 Feb  7 14:36 xttplan.txt
-rw-r--r-- 1 oracle oinstall  44 Feb  7 14:53 xttplan.txt.new
[oracle@19c temp]$

3.4.2.目标端增量数据导入

在目标端重命名xttplan.txt.new 为xttplan.txt,然后进入xtts脚本目录执行转换

[oracle@19c temp]$ cat xttplan.txt.new 
 TEST1::::13713305
 7
 TEST2::::13713305
 8
[oracle@19c temp]$ cat xttplan.txt.new 
 TEST1::::13713305
 7
 TEST2::::13713305
 8
[oracle@19c temp]$ mv xttplan.txt.new xttplan.txt
[oracle@19c temp]$ 
​
export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/per/bin/perl xttdriver.pl -r
​
[oracle@19c rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@19c rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
============================================================
trace file is /u01/xtts/temp/rollforward_Feb7_Mon_15_27_53_567//Feb7_Mon_15_27_53_567_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
[oracle@19c rman-xttconvert]$

3.4.3.源端更新scn记录

$ORACLE_HOME/perl/bin/perl xttdriver.pl -s
[oracle@11g rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -s
============================================================
trace file is /u01/xtts/temp/determinescn_Feb7_Mon_15_30_57_587//Feb7_Mon_15_30_57_587_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
Prepare newscn for Tablespaces: 'TEST1'
Prepare newscn for Tablespaces: 'TEST2'
New /u01/xtts/temp/xttplan.txt with FROM SCN's generated
[oracle@11g rman-xttconvert]$

将目标端temp目录以及源端bakincr目录进行清理,准备再次进行同步新数据

3.5.增量数据第二次传输

3.5.1.源端执行增量备份

export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
​
[oracle@11g rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@11g rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
============================================================
trace file is /u01/xtts/temp/incremental_Feb7_Mon_15_36_47_595//Feb7_Mon_15_36_47_595_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
============================================================
No new datafiles added
=============================================================
Prepare newscn for Tablespaces: 'TEST1'
Prepare newscn for Tablespaces: 'TEST2'--------------------------------------------------------------------
Starting incremental backup
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
[oracle@11g rman-xttconvert]$ 

3.5.2.第二次增量备份传输

cd /u01/xtts/bakincr
scp * oracle@192.168.59.181:/u01/xtts/oradata2
cd /u01/xtts/temp
scp xttplan.txt.new xttnewdatafiles.txt incrbackups.txt rmanconvert.cmd tsbkupmap.txt  oracle@192.168.59.181:/u01/xtts/temp

3.5.3.第二次增量备份导入

在目标端重命名xttplan.txt.new 为xttplan.txt,然后进入xtts脚本目录执行转换

[oracle@19c temp]$ mv xttplan.txt.new xttplan.txt
[oracle@19c rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@19c rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
============================================================
trace file is /u01/xtts/temp/rollforward_Feb7_Mon_15_40_33_214//Feb7_Mon_15_40_33_214_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
[oracle@19c rman-xttconvert]$ 

3.5.4.源端更新SCN记录

将目标端temp目录以及源端bakincr目录进行清理,准备再次进行同步新数据

$ORACLE_HOME/perl/bin/perl xttdriver.pl -s
[oracle@11g rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -s
============================================================
trace file is /u01/xtts/temp/determinescn_Feb7_Mon_15_42_52_116//Feb7_Mon_15_42_52_116_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
Prepare newscn for Tablespaces: 'TEST1'
Prepare newscn for Tablespaces: 'TEST2'
New /u01/xtts/temp/xttplan.txt with FROM SCN's generated

3.6.最后一次增量备份数据

3.6.1.源端将表空间修改为只读模式

alter tablespace TEST1 read only;
alter tablespace TEST2 read only;
select tablespace_name,status from dba_tablespaces;

3.6.2.源端再次执行增量备份

export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
​
[oracle@11g rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@11g rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -i
============================================================
trace file is /u01/xtts/temp/incremental_Feb7_Mon_15_48_09_609//Feb7_Mon_15_48_09_609_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Backup incremental
--------------------------------------------------------------------
============================================================
No new datafiles added
=============================================================
Prepare newscn for Tablespaces: 'TEST1'
Prepare newscn for Tablespaces: 'TEST2'--------------------------------------------------------------------
Starting incremental backup
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done backing up incrementals
--------------------------------------------------------------------
[oracle@11g rman-xttconvert]$ 

3.6.3.传输增量数据

--源端传输文件到目标端:
scp -r /u01/xtts/bakincr/* oracle@192.168.59.181:/u01/xtts/oradata2
scp xttplan.txt.new xttnewdatafiles.txt incrbackups.txt rmanconvert.cmd tsbkupmap.txt  oracle@192.168.59.181:/u01/xtts/temp
--目标端端修改
mv xttplan.txt.new xttplan.txt

3.6.4.目标端执行转换

export TMPDIR=/u01/xtts/temp
$ORACLE_HOME/perl/bin/perl xttdriver.pl -r
​
[oracle@19c rman-xttconvert]$ export TMPDIR=/u01/xtts/temp
[oracle@19c rman-xttconvert]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -r
============================================================
trace file is /u01/xtts/temp/rollforward_Feb7_Mon_15_52_05_571//Feb7_Mon_15_52_05_571_.log
=============================================================--------------------------------------------------------------------
Parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done parsing properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Done checking properties
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
​
​
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
[oracle@19c rman-xttconvert]$ 

3.7.元数据导出导入

3.7.1.元数据导出

[oracle@11g temp]$ o
​
SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 7 15:55:00 2022
​
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
​
​
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
​
SQL> create or replace directory dump as '/u01/xtts/dump';
​
Directory created.
--表空间元数据导出
[oracle@11g rman-xttconvert]$ expdp system/oracle dumpfile=test.dump directory=dump transport_tablespaces=test1,test2 logfile=dump.log
​
Export: Release 11.2.0.4.0 - Production on Mon Feb 7 15:55:36 2022
​
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
​
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** dumpfile=test.dump directory=dump transport_tablespaces=test1,test2 logfile=dump.log 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
  /u01/xtts/dump/test.dump
******************************************************************************
Datafiles required for transportable tablespace TEST1:
  /u01/app/oracle/oradata/orcl/test1.dbf
Datafiles required for transportable tablespace TEST2:
  /u01/app/oracle/oradata/orcl/test2.dbf
Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Mon Feb 7 15:56:41 2022 elapsed 0 00:01:01
​
[oracle@11g rman-xttconvert]$ 
--相关对象元数据导出
[oracle@11g rman-xttconvert]$ expdp system/oracle directory=dump dumpfile=schema_meta.dmp logfile=expdp_schema_meta.log content=metadata_only schemas=test1,test2
​
Export: Release 11.2.0.4.0 - Production on Mon Feb 7 15:58:49 2022
​
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
​
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** directory=dump dumpfile=schema_meta.dmp logfile=expdp_schema_meta.log content=metadata_only schemas=test1,test2 
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  /u01/xtts/dump/schema_meta.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Feb 7 15:59:08 2022 elapsed 0 00:00:15
​
[oracle@11g rman-xttconvert]$ 
--拷贝到目标环境
scp /u01/xtts/dump/test.dump oracle@192.168.59.181:/u01/xtts/dump
scp /u01/xtts/dump/schema_meta.dmp oracle@192.168.59.181:/u01/xtts/dump

3.7.2.目标端导入数据

create directory dump as '/u01/xtts/dump';
create user test1 identified by oracle default tablespace users;
create user test2 identified by oracle default tablespace users;
grant dba to test1,test2;
​
impdp system/oracle dumpfile=test.dump directory=dump logfile=dump.log transport_datafiles='/u01/xtts/oradata3/TEST1_7.dbf','/u01/xtts/oradata3/TEST2_8.dbf';
​
[oracle@19c dump]$ impdp system/oracle dumpfile=test.dump directory=dump logfile=dump.log transport_datafiles='/u01/xtts/oradata3/TEST1_7.dbf','/u01/xtts/oradata3/TEST2_8.dbf';
​
Import: Release 19.0.0.0.0 - Production on Mon Feb 7 16:11:02 2022
Version 19.3.0.0.0
​
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
​
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** dumpfile=test.dump directory=dump logfile=dump.log transport_datafiles=/u01/xtts/oradata3/TEST1_7.dbf,/u01/xtts/oradata3/TEST2_8.dbf 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
ORA-39014: One or more workers have prematurely exited.
ORA-39029: worker 1 with process name "DW00" prematurely terminated
ORA-31671: Worker process DW00 had an unhandled exception.
ORA-00600: internal error code, arguments: [25027], [0], [0], [4], [16777810], [0], [1], [1], [], [], [], []
​
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" stopped due to fatal error at Mon Feb 7 16:16:57 2022 elapsed 0 00:05:09
--导入报错,但是发现表空间已经存在。
​
--将表空间设置为读写模式
​
alter tablespace test1 read write;
alter tablespace test2 read write;
SQL> select tablespace_name,status from dba_tablespaces;
​
TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
SYSAUX                         ONLINE
UNDOTBS1                       ONLINE
TEMP                           ONLINE
USERS                          ONLINE
TEST1                          ONLINE
TEST2                          ONLINE
​
7 rows selected.
​
--导入相关元数据对象
impdp system/oracle directory=dump dumpfile=schema_meta.dmp logfile=meta.log
​
[oracle@19c dump]$ impdp system/oracle directory=dump dumpfile=schema_meta.dmp logfile=meta.log
​
Import: Release 19.0.0.0.0 - Production on Mon Feb 7 16:22:51 2022
Version 19.3.0.0.0
​
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
​
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_FULL_01":  system/******** directory=dump dumpfile=schema_meta.dmp logfile=meta.log 
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TEST1" already exists
​
ORA-31684: Object type USER:"TEST2" already exists
​
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39151: Table "TEST1"."TEST1" exists. All dependent metadata and data will be skipped due to table_exists_action of skip
​
ORA-39151: Table "TEST2"."TEST2" exists. All dependent metadata and data will be skipped due to table_exists_action of skip
​
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 4 error(s) at Mon Feb 7 16:23:01 2022 elapsed 0 00:00:08
​
[oracle@19c dump]$ 

3.7.3.修改用户默认表空间信息

SQL> alter user test1 default  tablespace test1;
User altered.
SQL> alter user test2 default  tablespace test2;
User altered.

3.8.检查无效对象并验证数据

select 'ALTER' ||OBJECT_TYPE||''||OWNER||'.'|| OBJECT_NAME||'COMPILE;' from all_objects where status='INVALID' 
AND object_type in ('PACKAGE','FUNCTION','PROCEDURE','TABLE','VIEW','SEQUENCE','TRIGGER'); 
--验证数据
--源端:
SQL> select object_type,count(*) from dba_objects where owner in ('TEST1','TEST2') group by object_type order by 2;
​
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                        2
INDEX                        2
TABLE PARTITION             18
--目标端:
OBJECT_TYPE               COUNT(*)
----------------------- ----------
TABLE                            2
TABLE PARTITION                 18

可以看到,之前源端创建在users表空间的索引没有迁移过来。需要我们重新创建。

3.9.清理环境

/u01/xtts目录清理

四.总结

4.1.步骤总结

  1. 首先确定需要迁移的表空间,检查是否自包含。

  2. 找出临时表的创建语句,元数据导入之后手动进行创建。

  3. 初始化参数修改阶段。 目标端初始化备份文件和增量备份文件放同一个目录。

  4. 增量备份前滚阶段,可以多次进行。

  5. 最后一次增量备份阶段。

  6. 导入元数据。

  7. 校验数据

4.2.报错总结

  1. 增量前滚阶段目标端应用报错 : scn号设置错误   增量备份文件存放目录错误

  2. 导入表空间元数据报错:没有创建用户


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM