One .1  BLOG Document structure chart

 

wps1558.tmp 

 

One .2   Preface

 

One .2.1   Guidance and notes

Technology enthusiasts , After reading this article , You can master the following skills , You can also learn something else you don't know ,~O(∩_∩)O~:

①  Implementation of transfer table space on heterogeneous platform

②  Transfer table space is based on table space read only and rman2 Ways of planting

③  Platform byte order 、 The concept of self inclusion

④ expdp/impdp Application

 

  Tips:

       ① If the article code format is wrong , Recommended QQ or 360 browser , You can also download pdf Format to view ,pdf Document download address :http://yunpan.cn/cdEQedhCs2kFz ( Extraction code :ed9b) 

       ②  This article BLOG I use gray background and pink font to show the output part of the command that needs special attention , For example, in the following example ,thread 1 The maximum archive log number for is 33,thread 2 The maximum archive log number for is 43 It's something that needs special attention ; Commands are usually marked with yellow background and red font ; Comments on the code or the output part of the code are generally in blue font .

 

  List of Archived Logs in backup set 11

  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

  ---- ------- ---------- ------------------- ---------- ---------

  1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

  1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

  2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

  2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

 

 

 

 

[ZFXDESKDB1:root]:/>lsvg -o

T_XDESK_APP1_vg

rootvg

[ZFXDESKDB1:root]:/>

00:27:22 SQL> alter tablespace idxtbs read write;

 

 

====》2097152*512/1024/1024/1024=1G 

 

 

 

 

 

 

 

If there are any mistakes or imperfections in this article, please correct them ,ITPUB Message or QQ All can , Your criticism is the biggest motivation of my writing .

 

 

One .2.2   Links to related reference articles

 

Other heterogeneous platform migration article reference :

【 recommend 】 oracle  An example of transport table space for heterogeneous platform migration  http://blog.itpub.net/26736162/viewspace-1391913/

【 recommend 】 oracle  An example of transfer table space  http://blog.itpub.net/26736162/viewspace-1375260/

【 recommend 】 utilize rman To achieve linux Copy the platform database to windows Platform database http://blog.itpub.net/26736162/viewspace-1352436/

【 recommend 】 Directly copy data files to achieve linux Copy the platform database to windows Platform database http://blog.itpub.net/26736162/viewspace-1352243/

 

 

 

One .3   Related knowledge points literacy

The feature of transportable table space is mainly used for library to library table space replication , The table space to be transferred must be placed in read-only Pattern . If the production library does not allow the table space to be set to read-only mode , No problem , There are ways , adopt RMAN Backup can also create a set of transportable table spaces . To use the features of transportable table spaces ,oracle At least 8i Enterprise version or higher . If it is the same operating system platform import each other , be 8i And above can support , But if it's a different operating system platform , Database version at least 10g. The transferred table space can be dictionary management , It can also be local management . And since the oracle9i Start , Transferred table space block size Can be linked to the target database block size Different .

 

Transportable tablespace ( There's also a collection ) The biggest advantage is the speed ratio export/import or unload/load Much faster . Because transportable table space mainly copies data files to the target path , And then use export/import or Data Pump export/import And so on / Import metadata of table space object to new database .

About transportable table spaces , There's also a collection (Transportable Tablespace Sets) The creation of , They all mentioned a very important point , That is, the transferred table space must be set to  read-only. And in the actual operation , For some production databases , Set the table space to  read-only  It's a very complicated thing, not even allowed at all , With  RMAN  Of  Transportable Tablespace, All this has been avoided .RMAN  Create a set of transportable table spaces from backup , It doesn't need to access active data files , Accordingly, there is no need to set the table space to  read-only. therefore , Improved database availability , Especially for very large table spaces , Because the transferred table space can still read and write during this period , And set the table space to  read-only  Patterns can take a long time ,

Use  RMAN  Create a set of transportable table spaces , Allows you to specify a target recovery time point or  SCN, In this way, the data can be transmitted more flexibly , You don't have to copy existing table spaces completely , As long as it's in the backup , You can selectively recover data . for example , Your backup strategy is to keep it for a week , The data in the transportable table space you want to create is the data as of the last day at the end of this month , Then you can transfer any time in the first week of next month, regardless of whether there will be write operations in the production library during this period .

 

One .3.1   matters needing attention

 

 

 

*  Be careful :

 

① source and target database It's better to have consistent database versions , Otherwise, it will be because of db time zone Inconsistency results in the following error , But if source Greater than or equal to target It's ok if you want to , Downward compatible

ORA-39002: invalid operation

ORA-39322: Cannot use transportabletablespace with timestamp with timezone columns and different timezone version.

 

② source and target The character set at the end must be consistent , For example, an error is reported in the following case :

source by ZHS16GBK,target by AL32UTF8

ORA-39123: Data Pump transportable tablespace job aborted

ORA-29345: cannot plug a tablespace into a database using an incompatible character set

 

Tartget db char set AL32UTF8 is not a superset of ZHS16GBK.

Failed to plug in a tablespace due to incompatible

  database character set"AL32UTF8" and

  transportable set database character set "ZHS16GBK"

 

  ③ source and target database Of compatible The parameters should be consistent , but source If less than or equal to target It's ok if it's on the end , for example source by 11.2.0.4.0,target by 11.2.0.0.0 No way. ,impdp It's a mistake :

ORA-39123: Data Pump transportable tablespace job aborted

ORA-00721: changes by release 11.2.0.4.0 cannot be used by release 11.2.0.0.0

 

 

 

 

One .4   Experimental part

 

One .4.1   Introduction to the experimental environment

 

project

source db

target db

db  type

Single instance

Single instance

db version

11.2.0.3

11.2.0.4

db  Storage

ASM

ASM

ORACLE_SID

orclasm

ora2lhr

db_name

orclasm

ora2lhr

host IP Address :

192.168.59.30

22.188.194.66

OS Version and kernel edition

RHEL6.5 64 position ,2.6.32-504.16.2.el6.x86_64

AIX 64 position  7.1.0.0

OS hostname

rhel6_lhr

ZFXDESKDB2

platform_name

Linux x86 64-bit

AIX-Based Systems (64-bit)

db time zone

14

14

Character set

ZHS16GBK

ZHS16GBK

compatible

11.2.0.0.0

11.2.0.4.0

Archiving mode

Archive Mode

Archive Mode

 

One .4.2   The goal of the experiment

 

To implement the application table space that will be customized app1tbs,app2tbs,idxtbs From the source platform to the target platform , And in the actual work process , Need to put AIX The database on is migrated to Linux, Or will Linux The database on is migrated to AIX On , except exp/imp and expdp/impdp Outside , The most common is to transfer table space , If the whole library is migrated , What we need to do is to migrate the data of business users and business table space ,Undo、temp、system You don't have to wait , The whole process is similar to that of this document , What we need to pay attention to is the number of business objects 、 size 、 State, etc .

wps1559.tmp 

One .4.3   Experimental process

 

 

-------------------------------------------------------------------------------------------------------------

 

 

 

 

One .5  source End environment preparation

wps1569.tmp 

 

One .5.1   Create... On the source library 3 A table space applied by a user

 

[oracle@rhel6_lhr ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Sunday 1 month 31 23:34:27 2016

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

 

Connect to :

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

 

23:34:27 SQL>  create tablespace app1tbs datafile '+DATA' size 10m;

 

Table space created .

 

Elapsed time :  00: 00: 07.60

23:34:42 SQL> create tablespace app2tbs datafile '+DATA' size 10m;

 

Table space created .

 

Elapsed time :  00: 00: 27.25

23:35:53 SQL> create tablespace idxtbs datafile '+DATA' size 10m;

 

Table space created .

 

Elapsed time :  00: 00: 09.45

23:36:09 SQL> set line 9999 pagesize 9999

23:36:12 SQL> SELECT   a.NAME,  b.NAME FROM vtablespacea,vtablespacea,vdatafile b WHERE a.TS#=b.TS#  ;

 

NAME                           NAME

-----------------------       -------------------------------------------------------------------------------

SYSTEM                         +DATA/orclasm/datafile/system.256.850260145

SYSAUX                         +DATA/orclasm/datafile/sysaux.257.850260145

UNDOTBS1                       +DATA/orclasm/datafile/undotbs1.258.851526539

USERS                          +DATA/orclasm/datafile/users.259.850260147

EXAMPLE                        +DATA/orclasm/datafile/example.265.850260295

APP1TBS                        +DATA/orclasm/datafile/app1tbs.268.902619275

APP2TBS                        +DATA/orclasm/datafile/app2tbs.280.902619327

TS_LHR                         +DATA/orclasm/datafile/ts_lhr.269.852632495

ENCRYPTED_TS                   +DATA/orclasm/datafile/encrypted_ts.272.854650889

GOLDENGATE                     +DATA/orclasm/datafile/goldengate.273.862829891

IDXTBS                         +DATA/orclasm/datafile/idxtbs.281.902619361

TS_LHR                         +DATA/orclasm/datafile/ts_lhr.284.869738273

USERS                          +FRA/orclasm/datafile/users.449.880121199

SYSTEM                         +FRA/orclasm/datafile/system.349.880121287

 

Have chosen 14 That's ok .

 

Elapsed time :  00: 00: 00.80

23:36:21 SQL>

 

 

One .5.2   Create tables and indexes in the corresponding table space

23:36:21 SQL> create user user_app1 identified by user_app1 default tablespace app1tbs;

 

The user has created .

 

Elapsed time :  00: 00: 00.14

23:40:13 SQL> create user user_app2 identified by user_app2 default tablespace app1tbs;

 

The user has created .

 

Elapsed time :  00: 00: 00.35

23:43:51 SQL> create user user_app2 identified by user_app2 default tablespace app2tbs;

 

The user has created .

 

Elapsed time :  00: 00: 02.72

23:43:56 SQL> grant connect,resource to user_app1;

 

Authorized success .

 

Elapsed time :  00: 00: 00.06

23:44:50 SQL>  grant connect,resource to user_app2;

 

Authorized success .

 

Elapsed time :  00: 00: 00.00

23:44:52 SQL> create table user_app1.app1_tab tablespace app1tbs as select * from scott.emp;

 

Table created .

 

Elapsed time :  00: 00: 01.02

23:45:09 SQL>  create table user_app2.app2_tab tablespace app2tbs as select * from scott.dept;

 

Table created .

 

Elapsed time :  00: 00: 00.23

23:45:27 SQL> create index user_app1.idx_emp_ename on user_app1.app1_tab(ename) tablespace idxtbs;

 

Index created .

 

Elapsed time :  00: 00: 00.25

23:45:51 SQL> create index user_app2.idx_dept_dname on user_app2.app2_tab(dname) tablespace idxtbs;

 

Index created .

 

Elapsed time :  00: 00: 00.01

23:46:13 SQL>

 

One .6   Judge the platform support and determine the byte order

If you transfer table space sets to different platforms , Make sure that this cross platform table space is supported for both source and target platforms , Also determine the byte order for each platform , If the platform has the same byte order , There is no need to transform , Otherwise, you have to do a table space set conversion , On the source side or the target side .

One .6.1   Query on the source platform

23:46:13 SQL>  col platform_name for a40

23:48:55 SQL> select d.platform_name,tp.endian_format from vtransportableplatformtp,vtransportableplatformtp,vdatabase d where tp.platform_name=d.platform_name;

 

PLATFORM_NAME                            ENDIAN_FORMAT

---------------------------------------- --------------

Linux x86 64-bit                         Little

 

Elapsed time :  00: 00: 00.19

23:49:13 SQL>

 

Conclusion : The current system platform supports cross platform table space transmission ( Because the above query has records returned )

 

One .6.2   Query on the target platform

 

[ZFXDESKDB2:oracle]:/oracle>ORACLE_SID=ora2lhr

[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 1 13:47:14 2016

 

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, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

 

SYS@ora2lhr> col platform_name for a40

SYS@ora2lhr> select d.platform_name,tp.endian_format from vtransportableplatformtp,vtransportableplatformtp,vdatabase d where tp.platform_name=d.platform_name;

 

PLATFORM_NAME                            ENDIAN_FORMAT

---------------------------------------- ----------------------------

AIX-Based Systems (64-bit)               Big

 

 

 

Conclusion : Current AIX The platform supports cross platform table space transmission

Source platform and target platform Endian_format  Different ,source intention Little,target intention Big, So you need to do table space set conversion , As mentioned above, conversion can be carried out at both the source side and the target side , Here we choose to transform on the target side .

 

One .7   Select the set of self-contained table spaces

One .7.1   Inspection

Indicates whether a full or partial dependency check is required. If TRUE, treats all IN and OUT pointers(dependencies) and captures them as violations if they are not self-contained in the transportable set.

First try to transmit app1tbs and idxtbs this 2 Table spaces :

 

SQL> execute dbms_tts.transport_set_check('app1tbs,idxtbs',true);

 

PL/SQL procedure successfully completed.

 

 

One .7.2   Check the results

SQL> col violations for a70

 

23:50:53 SQL> select * from transport_set_violations;

 

VIOLATIONS

-------------------------------------------------------------------------------------------------------------------------------------------

ORA-39907: Indexes USER_APP2.IDX_DEPT_DNAME ( In tablespace IDXTBS in ) Point to table USER_APP2.APP2_TAB ( In tablespace APP2TBS in ).

 

Elapsed time :  00: 00: 00.18

23:51:14 SQL>

 

Conclusion : stay idxtbs Tablespace IDX_DEPT_DNAME The index points to USER_APP2.APP2_TAB surface , So here we choose app1tabs,app2tabs,idxtbs Check again as a new set of table spaces

 

23:51:14 SQL> execute dbms_tts.transport_set_check('app1tbs,app2tbs,idxtbs',true);

 

PL/SQL Process completed successfully .

 

Elapsed time :  00: 00: 07.24

23:52:14 SQL> select * from transport_set_violations;

 

No line selected

 

Elapsed time :  00: 00: 00.00

23:52:54 SQL>

Conclusion : At this point, the set of table spaces no longer violates the condition of self inclusion , Can be determined as a set of transportable table spaces . This is also the case in the actual production environment , If it's a full database migration , The included table needs to be modified to .

 

One .8   Generate a set of transportable table spaces

One .8.1   Make all the table spaces in the self-contained table space set read-only

23:52:54 SQL> alter tablespace app1tbs read only;

 

The table space has changed .

 

Elapsed time :  00: 00: 00.36

23:54:31 SQL> alter tablespace app2tbs read only;

 

The table space has changed .

 

Elapsed time :  00: 00: 00.15

23:54:42 SQL> alter tablespace idxtbs read only;

 

The table space has changed .

 

Elapsed time :  00: 00: 00.14

23:54:48 SQL>

 

 

One .8.2   Use the data pump export tool , Export the metadata of each table space to be transferred

One .8.2.1   Confirm the export directory

 

23:55:51 SQL> set line 9999

23:56:07 SQL> col directory_name for a28

23:56:07 SQL> col directory_path for a100

23:56:07 SQL> select directory_name,directory_path from dba_directories;

 

DIRECTORY_NAME               DIRECTORY_PATH

---------------------------- ----------------------------------------------------------------------------------------------------

OSDESC                       /home/oracle/

ASMSRC                       +DATA/orclasm/datafile/

DIR_ALERT                    /u01/app/oracle/diag/rdbms/orclasm/orclasm/trace

SCHEDULER$_WALLET_DIR        /u01/app/oracle/product/11.2.0/dbhome_1/scheduler/wallet

TMP_HF_DIR                   +DATA/orclasm/datafile/

FY_DATA_DIR                  /tmp

REPDIR                       /oradata06/repdir

DIR_ALERT_CHECKHELTH_LHR_1   /u01/app/oracle/diag/rdbms/orclasm/orclasm/trace

SUBDIR                       /u01/app/oracle/product/11.2.0/dbhome_1/demo/schema/order_entry//2002/Sep

SS_OE_XMLDIR                 /u01/app/oracle/product/11.2.0/dbhome_1/demo/schema/order_entry/

LOG_FILE_DIR                 /u01/app/oracle/product/11.2.0/dbhome_1/demo/schema/log/

MEDIA_DIR                    /u01/app/oracle/product/11.2.0/dbhome_1/demo/schema/product_media/

XMLDIR                       /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/xml

DATA_FILE_DIR                /u01/app/oracle/product/11.2.0/dbhome_1/demo/schema/sales_history/

DATA_PUMP_DIR                /u01/app/oracle/admin/orclasm/dpdump/

ORACLE_OCM_CONFIG_DIR        /u01/app/oracle/product/11.2.0/dbhome_1/ccr/state

 

Have chosen 16 That's ok .

 

Elapsed time :  00: 00: 00.01

23:56:08 SQL>

 

 

One .8.2.2   Start exporting

[oracle@rhel6_lhr ~]$ env | grep ORACLE

ORACLE_SID=orclasm

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

 

[oracle@rhel6_lhr ~]$ expdp \'/ as sysdba\' dumpfile=expdat_20160131.dmp directory=DATA_PUMP_DIR transport_tablespaces=app1tbs,app2tbs,idxtbs transport_full_check=y logfile=tts_export_20160131.log

 

Export: Release 11.2.0.3.0 - Production on Monday 2 month 1 00:03:39 2016

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

Connect to : Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

start-up "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" dumpfile=expdat_20160131.dmp directory=DATA_PUMP_DIR transport_tablespaces=app1tbs,app2tbs,idxtbs transport_full_check=y logfile=tts_export_20160131.log

Handle object types TRANSPORTABLE_EXPORT/PLUGTS_BLK

Handle object types TRANSPORTABLE_EXPORT/TABLE

Handle object types TRANSPORTABLE_EXPORT/INDEX/INDEX

Handle object types TRANSPORTABLE_EXPORT/INDEX_STATISTICS

Handle object types TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

Successfully loaded / The main table is unloaded "SYS"."SYS_EXPORT_TRANSPORTABLE_01"

******************************************************************************

SYS.SYS_EXPORT_TRANSPORTABLE_01 The dump file set of is :

  /u01/app/oracle/admin/orclasm/dpdump/expdat_20160131.dmp

******************************************************************************

Transportable tablespace APP1TBS Data files required :

  +DATA/orclasm/datafile/app1tbs.268.902619275

Transportable tablespace APP2TBS Data files required :

  +DATA/orclasm/datafile/app2tbs.280.902619327

Transportable tablespace IDXTBS Data files required :

  +DATA/orclasm/datafile/idxtbs.281.902619361

Homework "SYS"."SYS_EXPORT_TRANSPORTABLE_01" Has been in 00:07:22 Successfully completed

 

[oracle@rhel6_lhr ~]$

 

 

see file :

 

[oracle@rhel6_lhr ~]$ cd  /u01/app/oracle/admin/orclasm/dpdump/

[oracle@rhel6_lhr dpdump]$ ll

total 13536

-rw-r----- 1 oracle asmadmin  110592 Feb  1 00:07 expdat_20160131.dmp

-rw-r--r-- 1 oracle asmadmin    1450 Feb  1 00:07 tts_export_20160131.log

[oracle@rhel6_lhr dpdump]$

 

 

The alarm log can see :

Sun Dec 21 17:48:50 2014

DM00 started with pid=45, OS id=13188, job SYSTEM.SYS_EXPORT_TRANSPORTABLE_01

Sun Dec 21 17:48:56 2014

DW00 started with pid=46, OS id=13190, wid=1, job SYSTEM.SYS_EXPORT_TRANSPORTABLE_01

Sun Dec 21 17:49:15 2014

XDB installed.

XDB initialized.

One .8.3   Generate data files

[root@rhel6_lhr ~]# su - grid

[grid@rhel6_lhr ~]$ asmcmd

ASMCMD> cd  +DATA/orclasm/datafile/

ASMCMD> ls

APP1TBS.274.866911939

APP2TBS.275.866912075

ENCRYPTED_TS.272.854650889

EXAMPLE.265.850260295

GOLDENGATE.273.862829891

IDXTBS.276.866912133

SYSAUX.257.850260145

SYSTEM.256.850260145

TBS_RC.268.852116523

TS_LHR.269.852632495

UNDOTBS1.258.851526539

UNDOTBS2.267.851204361

USERS.259.850260147

example.265.850260295_bk

ASMCMD> cp APP1TBS.274.866911939 /u01/app/oracle/admin/orclasm/dpdump

copying +DATA/orclasm/datafile/APP1TBS.274.866911939 -> /u01/app/oracle/admin/orclasm/dpdump/APP1TBS.274.866911939

ASMCMD-8016: copy source->'+DATA/orclasm/datafile/APP1TBS.274.866911939' and target->'/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.274.866911939' failed

ORA-19505: failed to identify file "/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.274.866911939"

ORA-27040: file create error, unable to create file

Linux-x86_64 Error: 13: Permission denied

Additional information: 1

ORA-15120: ASM file name '/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.274.866911939' does not begin with the ASM prefix character

ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 413

ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)

 

No authority , Copy temporarily to grid Under the table of contents :

ASMCMD> cp APP1TBS.274.866911939 /home/grid

copying +DATA/orclasm/datafile/APP1TBS.274.866911939 -> /home/grid/APP1TBS.274.866911939

ASMCMD> cp APP2TBS.275.866912075 /home/grid

copying +DATA/orclasm/datafile/APP2TBS.275.866912075 -> /home/grid/APP2TBS.275.866912075

ASMCMD> cp IDXTBS.276.866912133 /home/grid

copying +DATA/orclasm/datafile/IDXTBS.276.866912133 -> /home/grid/IDXTBS.276.866912133

ASMCMD>

 

[grid@rhel6_lhr ~]$ asmcmd

ASMCMD> cd  +DATA/orclasm/datafile/

ASMCMD> ls

APP1TBS.268.902619275

APP2TBS.280.902619327

ENCRYPTED_TS.272.854650889

EXAMPLE.265.850260295

GOLDENGATE.273.862829891

IDXTBS.281.902619361

SYSAUX.257.850260145

SYSTEM.256.850260145

TS_LHR.269.852632495

TS_LHR.284.869738273

UNDOTBS1.258.851526539

USERS.259.850260147

example.265.850260295_bk

ASMCMD> rm -rf example.265.850260295_bk

ASMCMD> ls

APP1TBS.268.902619275

APP2TBS.280.902619327

ENCRYPTED_TS.272.854650889

EXAMPLE.265.850260295

GOLDENGATE.273.862829891

IDXTBS.281.902619361

SYSAUX.257.850260145

SYSTEM.256.850260145

TS_LHR.269.852632495

TS_LHR.284.869738273

UNDOTBS1.258.851526539

USERS.259.850260147

ASMCMD> cp APP1TBS.268.902619275 /u01/app/oracle/admin/orclasm/dpdump

copying +DATA/orclasm/datafile/APP1TBS.268.902619275 -> /u01/app/oracle/admin/orclasm/dpdump/APP1TBS.268.902619275

ASMCMD-8016: copy source->'+DATA/orclasm/datafile/APP1TBS.268.902619275' and target->'/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.268.902619275' failed

ORA-19505: failed to identify file "/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.268.902619275"

ORA-27040: file create error, unable to create file

Linux-x86_64 Error: 13: Permission denied

Additional information: 1

ORA-15120: ASM file name '/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.268.902619275' does not begin with the ASM prefix character

ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 413

ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)

ASMCMD> cp APP1TBS.268.902619275 /home/grid

copying +DATA/orclasm/datafile/APP1TBS.268.902619275 -> /home/grid/APP1TBS.268.902619275

ASMCMD> cp APP2TBS.280.902619327 /home/grid

copying +DATA/orclasm/datafile/APP2TBS.280.902619327 -> /home/grid/APP2TBS.280.902619327

ASMCMD> cp IDXTBS.281.902619361 /home/grid

copying +DATA/orclasm/datafile/IDXTBS.281.902619361 -> /home/grid/IDXTBS.281.902619361

ASMCMD>

 

And then use it root The user will connect the data file with expdp Then copy the source data to the same directory :

 

[root@rhel6_lhr ~]# ll /home/grid

total 209832

-rw-r--r--  1 grid oinstall      316 Jan  5  2015 aa.txt

-rw-r--r--. 1 grid oinstall      244 Jun 23  2014 a.ora

-rw-r-----  1 grid oinstall 10493952 Feb  1 00:22 APP1TBS.268.902619275

-rw-r-----  1 grid oinstall 52436992 Dec 21  2014 APP1TBS.274.866911939

-rw-r-----  1 grid oinstall 52436992 Dec 21  2014 APP2TBS.275.866912075

-rw-r-----  1 grid oinstall 10493952 Feb  1 00:22 APP2TBS.280.902619327

-rw-r-----  1 grid oinstall 52436992 Dec 21  2014 IDXTBS.276.866912133

-rw-r-----  1 grid oinstall 10493952 Feb  1 00:22 IDXTBS.281.902619361

drwxr-xr-x. 3 grid oinstall     4096 Jun 14  2014 oradiag_grid

-rw-r-----. 1 grid oinstall     3584 Jul  1  2014 spfileorclasm.ora

-rw-r-----  1 grid oinstall  2105344 Jan 13  2015 testdg.dbf

-rw-r-----  1 grid oinstall 23950848 Dec 24  2014 thread_1_seq_754.333.865158557

[root@rhel6_lhr ~]# cp /home/grid/APP1TBS.268.902619275 /u01/app/oracle/admin/orclasm/dpdump/

[root@rhel6_lhr ~]# cp /home/grid/APP2TBS.280.902619327 /u01/app/oracle/admin/orclasm/dpdump/

[root@rhel6_lhr ~]# cp /home/grid/IDXTBS.281.902619361  /u01/app/oracle/admin/orclasm/dpdump/

[root@rhel6_lhr ~]#

[root@rhel6_lhr ~]# ll  /u01/app/oracle/admin/orclasm/dpdump/

total 40540

-rw-r----- 1 root   root     10493952 Feb  1 00:28 APP1TBS.268.902619275

-rw-r----- 1 root   root     10493952 Feb  1 00:28 APP2TBS.280.902619327

-rw-r----- 1 oracle asmadmin   110592 Feb  1 00:07 expdat_20160131.dmp

-rw-r----- 1 root   root     10493952 Feb  1 00:28 IDXTBS.281.902619361

-rw-r--r-- 1 oracle asmadmin     1450 Feb  1 00:07 tts_export_20160131.log

[root@rhel6_lhr ~]#

 

 

 

 

One .9   Restore the table space in the source library to read / Write mode

[oracle@rhel6_lhr dpdump]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Monday 2 month 1 00:27:13 2016

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

 

Connect to :

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

 

00:27:13 SQL> alter tablespace app1tbs read write;

 

The table space has changed .

 

Elapsed time :  00: 00: 01.19

00:27:16 SQL> alter tablespace app2tbs read write;

 

The table space has changed .

 

Elapsed time :  00: 00: 00.11

00:27:22 SQL> alter tablespace idxtbs read write;

 

The table space has changed .

 

Elapsed time :  00: 00: 00.17

00:27:31 SQL> exit

from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options To break off

[oracle@rhel6_lhr dpdump]$

 

One .10   Transfer data files and metadata to target End

Here we need to transfer the metadata file and data file to the target database

 

One .10.1   Transfer the meta file to the target library

 

wps1589.tmp 

 

 

One .10.2   View the target library data file location and directory

[ZFXDESKDB2:oracle]:/oracle>ORACLE_SID=ora2lhr

[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 1 14:53:49 2016

 

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, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

 

SYS@ora2lhr> select name from v$datafile;

 

NAME

------------------------------------------------------------------------------------------------------------------------------------

+DATA/ora2lhr/datafile/system.335.902674033

+DATA/ora2lhr/datafile/sysaux.336.902674033

+DATA/ora2lhr/datafile/undotbs1.337.902674033

+DATA/ora2lhr/datafile/users.338.902674033

+DATA/ora2lhr/datafile/example.348.902674109

 

SYS@ora2lhr> set line 9999

SYS@ora2lhr> col directory_name for a28

SYS@ora2lhr> col directory_path for a100

SYS@ora2lhr> select directory_name,directory_path from dba_directories;

 

DIRECTORY_NAME               DIRECTORY_PATH

---------------------------- ----------------------------------------------------------------------------------------------------

SUBDIR                       /oracle/app/oracle/product/11.2.0/db/demo/schema/order_entry//2002/Sep

SS_OE_XMLDIR                 /oracle/app/oracle/product/11.2.0/db/demo/schema/order_entry/

LOG_FILE_DIR                 /oracle/app/oracle/product/11.2.0/db/demo/schema/log/

MEDIA_DIR                    /oracle/app/oracle/product/11.2.0/db/demo/schema/product_media/

DATA_FILE_DIR                /oracle/app/oracle/product/11.2.0/db/demo/schema/sales_history/

XMLDIR                       /oracle/app/oracle/product/11.2.0/db/rdbms/xml

ORACLE_OCM_CONFIG_DIR        /oracle/app/oracle/product/11.2.0/db/ccr/state

DATA_PUMP_DIR                /oracle/app/oracle/admin/ora2lhr/dpdump/

ORACLE_OCM_CONFIG_DIR2       /oracle/app/oracle/product/11.2.0/db/ccr/state

 

9 rows selected.

 

SYS@ora2lhr>

SYS@ora2lhr>

 

One .10.3   Copy the file to the corresponding location of the target library and modify the permissions

 

Copy the table space file and metadata file to /oracle/app/oracle/admin/ora2lhr/dpdump/  Next , as follows :

wps159A.tmp 

 

[ZFXDESKDB2:root]:/>cd /oracle/app/oracle/admin/ora2lhr/dpdump

[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>l

total 123424

-rw-r-----    1 root     system     10493952 Feb 01 00:28 APP1TBS.268.902619275

-rw-r-----    1 root     system     10493952 Feb 01 00:28 APP2TBS.280.902619327

-rw-r-----    1 root     system     10493952 Feb 01 00:28 IDXTBS.281.902619361

-rw-r-----    1 root     system     10493952 Feb 01 01:02 IDXTBS.dbf

-rw-r-----    1 root     system     10493952 Feb 01 01:01 app1tbs.dbf

-rw-r-----    1 root     system     10493952 Feb 01 01:01 app2tbs.dbf

-rw-r-----    1 root     system       110592 Feb 01 00:07 expdat_20160131.dmp

-rw-r-----    1 root     system       110592 Feb 01 00:58 expdat_20160131_2.dmp

-rw-r-----    1 root     system         1452 Feb 01 00:58 expdat_20160131_2.log

-rw-r-----    1 root     system         1450 Feb 01 00:07 tts_export_20160131.log

[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>chown oracle:dba ./*

[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>l

total 123424

-rw-r-----    1 oracle   dba        10493952 Feb 01 00:28 APP1TBS.268.902619275

-rw-r-----    1 oracle   dba        10493952 Feb 01 00:28 APP2TBS.280.902619327

-rw-r-----    1 oracle   dba        10493952 Feb 01 00:28 IDXTBS.281.902619361

-rw-r-----    1 oracle   dba        10493952 Feb 01 01:02 IDXTBS.dbf

-rw-r-----    1 oracle   dba        10493952 Feb 01 01:01 app1tbs.dbf

-rw-r-----    1 oracle   dba        10493952 Feb 01 01:01 app2tbs.dbf

-rw-r-----    1 oracle   dba          110592 Feb 01 00:07 expdat_20160131.dmp

-rw-r-----    1 oracle   dba          110592 Feb 01 00:58 expdat_20160131_2.dmp

-rw-r-----    1 oracle   dba            1452 Feb 01 00:58 expdat_20160131_2.log

-rw-r-----    1 oracle   dba            1450 Feb 01 00:07 tts_export_20160131.log

 

One .11  target End to end conversion byte order

 

[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>su - oracle

[ZFXDESKDB2:oracle]:/oracle>ORACLE_SID=ora2lhr

[ZFXDESKDB2:oracle]:/oracle>rman target /

 

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Feb 1 14:58:54 2016

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: ORA2LHR (DBID=4055514164)

 

RMAN>

 

RMAN> CONVERT DATAFILE

2> "/oracle/app/oracle/admin/ora2lhr/dpdump/APP1TBS.268.902619275",

3> "/oracle/app/oracle/admin/ora2lhr/dpdump/APP2TBS.280.902619327",

4> "/oracle/app/oracle/admin/ora2lhr/dpdump/IDXTBS.281.902619361"

5> TO PLATFORM="AIX-Based Systems (64-bit)"

6> FROM PLATFORM="Linux x86 64-bit"

7> FORMAT '+DATA';

 

Starting conversion at target at 2016-02-01 15:00:07

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=222 device type=DISK

channel ORA_DISK_1: starting datafile conversion

input file name=/oracle/app/oracle/admin/ora2lhr/dpdump/APP1TBS.268.902619275

converted datafile=+DATA/ora2lhr/datafile/app1tbs.350.902674809

channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting datafile conversion

input file name=/oracle/app/oracle/admin/ora2lhr/dpdump/APP2TBS.280.902619327

converted datafile=+DATA/ora2lhr/datafile/app2tbs.351.902674809

channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting datafile conversion

input file name=/oracle/app/oracle/admin/ora2lhr/dpdump/IDXTBS.281.902619361

converted datafile=+DATA/ora2lhr/datafile/idxtbs.352.902674811

channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01

Finished conversion at target at 2016-02-01 15:00:11

 

RMAN>

 

 

[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>

[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>su - grid

[ZFXDESKDB2:grid]:/home/grid>asmcmd

ASMCMD> cd +DATA/ora2lhr/datafile/

ASMCMD> ls

APP1TBS.350.902674809

APP2TBS.351.902674809

EXAMPLE.348.902674109

IDXTBS.352.902674811

SYSAUX.336.902674033

SYSTEM.335.902674033

UNDOTBS1.337.902674033

USERS.338.902674033

ASMCMD> ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  UNPROT  COARSE   FEB 01 15:00:00  Y    APP1TBS.350.902674809

DATAFILE  UNPROT  COARSE   FEB 01 15:00:00  Y    APP2TBS.351.902674809

DATAFILE  UNPROT  COARSE   FEB 01 14:00:00  Y    EXAMPLE.348.902674109

DATAFILE  UNPROT  COARSE   FEB 01 15:00:00  Y    IDXTBS.352.902674811

DATAFILE  UNPROT  COARSE   FEB 01 14:00:00  Y    SYSAUX.336.902674033

DATAFILE  UNPROT  COARSE   FEB 01 14:00:00  Y    SYSTEM.335.902674033

DATAFILE  UNPROT  COARSE   FEB 01 14:00:00  Y    UNDOTBS1.337.902674033

DATAFILE  UNPROT  COARSE   FEB 01 14:00:00  Y    USERS.338.902674033

ASMCMD>

 

One .12   Start import

One .12.1   establish source Library 2 Users and permissions

If the user is not created, the following error will be reported :

ORA-39123: Data Pump transportable tablespace job aborted

ORA-29342: user USER_APP1 does not exist in the database

 

 

 

[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 1 15:07:32 2016

 

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, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

 

SYS@ora2lhr> create user user_app1 identified by user_app1;

 

User created.

 

SYS@ora2lhr> create user user_app2 identified by user_app2;

 

User created.

 

SYS@ora2lhr> grant connect , resource to user_app1;

 

Grant succeeded.

 

SYS@ora2lhr> grant connect , resource to user_app2;

 

Grant succeeded.

 

SYS@ora2lhr> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

[ZFXDESKDB2:oracle]:/oracle>

 

One .12.2   Start import

 

[ZFXDESKDB2:oracle]:/oracle>impdp \'/ as sysdba \' DUMPFILE=expdat_20160131.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES='+DATA/ora2lhr/datafile/APP1TBS.350.902674809','+DATA/ora2lhr/datafile/app2tbs.351.902674809','+DATA/ora2lhr/datafile/idxtbs.352.902674811' LOGFILE=impdp_tts_20160131.log

 

Import: Release 11.2.0.4.0 - Production on Mon Feb 1 15:08:24 2016

 

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, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded

Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" DUMPFILE=expdat_20160131.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES=+DATA/ora2lhr/datafile/APP1TBS.350.902674809,+DATA/ora2lhr/datafile/app2tbs.351.902674809,+DATA/ora2lhr/datafile/idxtbs.352.902674811 LOGFILE=impdp_tts_20160131.log

Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK

Processing object type TRANSPORTABLE_EXPORT/TABLE

Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX

Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS

Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Feb 1 15:08:32 2016 elapsed 0 00:00:06

 

[ZFXDESKDB2:oracle]:/oracle>

 

 

journal :

Plug in tablespace APP1TBS with datafile

  '+DATA/ora2lhr/datafile/APP1TBS.350.902674809'

Plug in tablespace APP2TBS with datafile

  '+DATA/ora2lhr/datafile/app2tbs.351.902674809'

Plug in tablespace IDXTBS with datafile

  '+DATA/ora2lhr/datafile/idxtbs.352.902674811'

 

One .12.3   View target platform information

 

SYS@ora2lhr> select tablespace_name,status from dba_tablespaces;

 

TABLESPACE_NAME                STATUS

------------------------------ ---------

SYSTEM                         ONLINE

SYSAUX                         ONLINE

UNDOTBS1                       ONLINE

TEMP                           ONLINE

USERS                          ONLINE

EXAMPLE                        ONLINE

APP1TBS                        READ ONLY

APP2TBS                        READ ONLY

IDXTBS                         READ ONLY

 

9 rows selected.

 

 

SYS@ora2lhr> alter tablespace APP1TBS read write;

 

Tablespace altered.

 

SYS@ora2lhr> alter tablespace APP2TBS read write;

 

Tablespace altered.

 

SYS@ora2lhr> alter tablespace IDXTBS read write;

 

Tablespace altered.

 

SYS@ora2lhr> select tablespace_name,status from dba_tablespaces;

 

TABLESPACE_NAME                STATUS

------------------------------ ---------

SYSTEM                         ONLINE

SYSAUX                         ONLINE

UNDOTBS1                       ONLINE

TEMP                           ONLINE

USERS                          ONLINE

EXAMPLE                        ONLINE

APP1TBS                        ONLINE

APP2TBS                        ONLINE

IDXTBS                         ONLINE

 

9 rows selected.

 

SYS@ora2lhr>

SYS@ora2lhr> SELECT d.username,d.default_tablespace FROM dba_users d where d.username like 'USER_%' ;

 

USERNAME                       DEFAULT_TABLESPACE

------------------------------ ------------------------------

USER_APP2                      USERS

USER_APP1                      USERS

 

SYS@ora2lhr> alter user user_app1 default tablespace app1tbs;

 

User altered.

 

SYS@ora2lhr> alter user user_app2 default tablespace app2tbs;

 

User altered.

 

SYS@ora2lhr>  SELECT d.username,d.default_tablespace FROM dba_users d where d.username like 'USER_%' ;

 

USERNAME                       DEFAULT_TABLESPACE

------------------------------ ------------------------------

USER_APP2                      APP2TBS

USER_APP1                      APP1TBS

 

SYS@ora2lhr>

 

One .13   View the results after import

SYS@ora2lhr> set line 9999 pagesize 9999

SYS@ora2lhr> select * from user_app1.app1_tab;

 

     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO

---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------

      7369 SMITH      CLERK           7902 1980-12-17 00:00:00        800                    20

      7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30

      7521 WARD       SALESMAN        7698 1981-02-22 00:00:00       1250        500         30

      7566 JONES      MANAGER         7839 1981-04-02 00:00:00       2975                    20

      7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30

      7698 BLAKE      MANAGER         7839 1981-05-01 00:00:00       2850                    30

      7782 CLARK      MANAGER         7839 1981-06-09 00:00:00       2450                    10

      7839 KING       PRESIDENT            1981-11-17 00:00:00       5000                    10

      7844 TURNER     SALESMAN        7698 1981-09-08 00:00:00       1500          0         30

      7900 JAMES      CLERK           7698 1981-12-03 00:00:00        950                    30

      7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000                    20

      7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300                    10

 

12 rows selected.

 

SYS@ora2lhr> select * from user_app2.app2_tab;

 

    DEPTNO DNAME          LOC

---------- -------------- -------------

        10 ACCOUNTING     NEW YORK

        20 RESEARCH       DALLAS

        30 SALES          CHICAGO

        40 OPERATIONS     BOSTON

 

SYS@ora2lhr>  select D.owner,D.index_name,D.table_name,D.tablespace_name from dba_indexes d WHERE d.table_name in ('APP1_TAB','APP2_TAB');

 

OWNER                          INDEX_NAME                     TABLE_NAME                     TABLESPACE_NAME

------------------------------ ------------------------------ ------------------------------ ------------------------------

USER_APP2                      IDX_DEPT_DNAME                 APP2_TAB                       IDXTBS

USER_APP1                      IDX_EMP_ENAME                  APP1_TAB                       IDXTBS

 

SYS@ora2lhr> SELECT   a.NAME,  b.NAME FROM vtablespacea,vtablespacea,vdatafile b WHERE a.TS#=b.TS#  ;

 

NAME                           NAME

------------------------------ --------------------------------------------------------------------------------

SYSTEM                         +DATA/ora2lhr/datafile/system.335.902674033

SYSAUX                         +DATA/ora2lhr/datafile/sysaux.336.902674033

UNDOTBS1                       +DATA/ora2lhr/datafile/undotbs1.337.902674033

USERS                          +DATA/ora2lhr/datafile/users.338.902674033

EXAMPLE                        +DATA/ora2lhr/datafile/example.348.902674109

APP1TBS                        +DATA/ora2lhr/datafile/app1tbs.350.902674809

APP2TBS                        +DATA/ora2lhr/datafile/app2tbs.351.902674809

IDXTBS                         +DATA/ora2lhr/datafile/idxtbs.352.902674811

 

8 rows selected.

 

SYS@ora2lhr>

 

 

So far 3 The table spaces are completely composed of Linux Platform migration to AIX On the platform .

 

 

 

 

 

 

-------------------------------------------------------------------------------------------------------------

 

 

One .14   summary

 

So far, all the processing is basically finished , The process is simple , But there are many ways to deal with different scenes , We should learn to be flexible .