Проблема заключается в различии аппаратной платформы исходной базы данных новой базы данных. Для миграции между платформами вам необходим доступ к исходному серверу, вы должны запустить кросс-платформенную миграцию БД с использованием RMAN.
Я попытался выполнить тестовую миграцию с Oracle 10.2.0.4 Solaris 10 Sparc 64 на Oracle 10.2.0.4 Oracle Linux 32 и получил похожие ошибки.
SELECT A.platform_id, A.platform_name, B.endian_format
FROM v$database A, v$transportable_platform B
WHERE B.platform_id (+) = A.platform_id;
-bash-3.00$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jul 5 07:57:44 2018
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> set linesize 1000
SQL>
SELECT A.platform_id, A.platform_name, B.endian_format
FROM v$database A, v$transportable_platform B
WHERE B.platform_id (+) = A.platform_id;SQL> 2 3
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- --------------------------------------------- --------------
2 Solaris[tm] OE (64-bit) Big
SQL>
[oracle10@aktp ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jul 5 08:01:53 2018
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> set linesize 1000
SQL> SELECT A.platform_id, A.platform_name, B.endian_format
FROM v$database A, v$transportable_platform B
WHERE B.platform_id (+) = A.platform_id; 2 3
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- -------------------------------------------- --------------
10 Linux IA (32-bit) Little
Выполнены следующие шаги:
1) скопированы все управляющие файлы, файлы БД и файлы журнала повторов.
2) Изменен файл init.ora с именем файла управления клиентами.
3) Изменить монтирование базы данных:
ORA-00202:controlfile:[/oracle/app/oracle/oradata/ST01/o1_mf_488h0hfl_.ctl]
ORA-27047: unable to read the header block of file
Additional information: 2
Я попытался создать контрольный файл и получил ошибки.
Errors in file /oracle/app/oracle/admin/ST01/udump/st01_ora_695.trc:
ORA-01565: error in identifying file '/oracle/app/oracle/oradata/ST01/o1_mf_system_488h0zbs_.dbf'
ORA-27047: unable to read the header block of file
Я попытался запустить кросс-платформенную миграцию БД с использованием RMAN и получил ошибки.
[oracle10@aktp ST01]$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Tue Jul 10 10:39:54 2018
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ST01 (not mounted)
RMAN> CONVERT DATAFILE
'/oracle/app/oracle/oradata/ST01/o1_mf_system_488h0zbs_.dbf_',
'/oracle/app/or2> 3> 4> acle/oradata/ST01/o1_mf_sysaux_488h1hvj_.dbf_'
FROM PLATFORM 'Solaris[tm] OE (64-bit)'
5> 6> ;
Starting backup at 10.07.18
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=167 devtype=DISK
channel ORA_DISK_1: starting datafile conversion
input filename=/oracle/app/oracle/oradata/ST01/o1_mf_sysaux_488h1hvj_.dbf_
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/10/2018 10:41:43
RMAN-10038: database session for channel ORA_DISK_1 terminated unexpectedly
Если запустить миграцию в Oracle 11.2.0.3 Linux 64 bit,
oracle@esmd:/oracle/app/oracle/oradata/ST01> rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Tue Jul 10 11:01:03 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ST01 (not mounted)
RMAN>
RMAN> CONVERT
2> FROM PLATFORM 'Solaris[tm] OE (64-bit)'
3> DATAFILE
4> '/oracle/app/oracle/oradata/ST01/system.dbf'
5> FORMAT
'/oracle/app/oracle/oradata/ST01/system.dbf_';
6>
Starting conversion at target at 10-JUL-18
using target database control file instead of recovery catalog
CONVERT
FROM
PLATFORM 'Solaris[tm] OE (64-bit)'
DATAFILE
'/oracle/app/oracle/oradata/ST01/sysaux.dbf'
FORMAT
'/oracle/app/oracle/oradata/ST01/sysaux.dbf_';allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=140 device type=DISK
channel ORA_DISK_1: starting datafile conversion
input file name=/oracle/app/oracle/oradata/ST01/system.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of conversion at target command on ORA_DISK_1 channel at 07/10/2018 11:01:06
ORA-19928: CONVERT of data files with undo segments between different endian is not supported.
RMAN>
RMAN> 2> 3> 4> 5> 6> 7> ;
Starting conversion at target at 10-JUL-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile conversion
input file name=/oracle/app/oracle/oradata/ST01/sysaux.dbf
converted datafile=/oracle/app/oracle/oradata/ST01/sysaux.dbf_
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:01:05
Finished conversion at target at 10-JUL-18