http://www.cndba.cn/dave/article/215
1 环境说明
1.1 源库
[root@ahzhixin ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: OracleServer Description: Oracle Linux Server release 6.5 Release: 6.5 Codename: n/a[root@ahzhixin ~]# SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production
1.2 目标库
[root@Ora12c ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: OracleServer Description: Oracle Linux Server release 6.4 Release: 6.4 Codename: n/a[root@Ora12c ~]# SQL> select * from v$version; BANNER CON_ID -------------------------------------------------------------------------------- ---------- Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0 PL/SQL Release 12.1.0.2.0 - Production 0 CORE 12.1.0.2.0 Production 0 TNS for Linux: Version 12.1.0.2.0 - Production 0 NLSRTL Version 12.1.0.2.0 - Production 0 5 rows selected. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO SQL>
2 创建测试数据
数据迁移一般都是按用户来操作,所以我们这里在源库创建一个测试用户,cndba,然后导入到12c PDB的PDB1的实例中。
在源库操作:
http://www.cndba.cn/dave/article/215
http://www.cndba.cn/dave/article/215
http://www.cndba.cn/dave/article/215
http://www.cndba.cn/dave/article/215
SQL> set lin 120 SQL> col file_name for a50 SQL> l 1* select file_name,tablespace_name from dba_data_files SQL> / FILE_NAME TABLESPACE_NAME -------------------------------------------------- ------------------------------ /u01/app/oracle/oradata/ahzhxin/dave01.dbf DAVE /u01/app/oracle/oradata/ahzhxin/users01.dbf USERS /u01/app/oracle/oradata/ahzhxin/undotbs01.dbf UNDOTBS1 /u01/app/oracle/oradata/ahzhxin/sysaux01.dbf SYSAUX /u01/app/oracle/oradata/ahzhxin/system01.dbf SYSTEM SQL> create tablespace cndba datafile '/u01/app/oracle/oradata/ahzhxin/cndba01.dbf' size 50m; Tablespace created. SQL> create user cndba identified by cndba; User created. SQL> grant connect,resource,dba to cndba; Grant succeeded. SQL> conn cndba/cndba Connected. SQL> create table anqing as select * from dba_objects; Table created. SQL> create table huaining as select * from dba_objects; Table created. SQL>
3 Expdp 导出数据
SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- ------------------------------ -------------------------------------------------------------------------------- SYS BACKUP /u01/backup SYS XMLDIR /u01/app/oracle/product/11.2.0/db_1/rdbms/xml SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle/product/11.2.0/db_1/ccr/hosts/ahzhixin.com/state SYS DATA_PUMP_DIR /u01/app/oracle/admin/ahzhxin/dpdump/ SYS ORACLE_OCM_CONFIG_DIR2 /u01/app/oracle/product/11.2.0/db_1/ccr/state 这里直接使用backup的directory。[oracle@ahzhixin backup]$ expdp cndba/cndba directory=backup dumpfile=cndba.dmp logfile=cndba.log schemas=cndba Export: Release 11.2.0.4.0 - Production on Thu Sep 17 13:31:12 2015 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 "CNDBA"."SYS_EXPORT_SCHEMA_01": cndba/******** directory=backup dumpfile=cndba.dmp logfile=cndba.log schemas=cndba Estimate in progress using BLOCKS method... Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA Total estimation using BLOCKS method: 20 MB 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/COMMENT 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 . . exported "CNDBA"."ANQING" 8.393 MB 86569 rows . . exported "CNDBA"."HUAINING" 8.393 MB 86570 rows Master table "CNDBA"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded ****************************************************************************** Dump file set for CNDBA.SYS_EXPORT_SCHEMA_01 is: /u01/backup/cndba.dmp Job "CNDBA"."SYS_EXPORT_SCHEMA_01" successfully completed at Thu Sep 17 13:31:39 2015 elapsed 0 00:00:24[oracle@ahzhixin backup]$ 把dmp 文件复制到12c的机器上:[oracle@ahzhixin .ssh]$ scp /u01/backup/cndba.dmp oracle@192.168.3.30:/home/oracle The authenticity of host '192.168.3.30 (192.168.3.30)' can't be established. RSA key fingerprint is 28:73:95:81:6e:52:f5:3a:17:e1:59:98:6b:f9:20:5c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.3.30' (RSA) to the list of known hosts. oracle@192.168.3.30's password: cndba.dmp 100% 17MB 17.0MB/s 00:01 [oracle@ahzhixin .ssh]$
4 Impdp 导入数据
根据计划,我们导入PDB中。http://www.cndba.cn/dave/article/215http://www.cndba.cn/dave/article/215
http://www.cndba.cn/dave/article/215
http://www.cndba.cn/dave/article/215
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO SQL>[oracle@Ora12c u01]$ mkdir -p /u01/backup[oracle@Ora12c ~]$ pwd /home/oracle[oracle@Ora12c ~]$ cp cndba.dmp /u01/backup 创建对应的用户和表空间,如果不一直则需要进行remap。 SQL> alter session set container=pdb1; Session altered. SQL> show con_name CON_NAME ------------------------------ PDB1 SQL> SQL> set lin 140 SQL> col FILE_NAME for a60 SQL> select file_name,tablespace_name from dba_data_files; FILE_NAME TABLESPACE_NAME ------------------------------------------------------------ ------------------------------ /u01/app/oracle/oradata/dave/pdb1/system01.dbf SYSTEM /u01/app/oracle/oradata/dave/pdb1/sysaux01.dbf SYSAUX /u01/app/oracle/oradata/dave/pdb1_users02.dbf USERS /u01/app/oracle/oradata/dave/pdb1/ado1.dbf ADO1 /u01/app/oracle/oradata/dave/pdb1/ado2.dbf ADO2 SQL> create tablespace cndba datafile '/u01/app/oracle/oradata/dave/pdb1/cndba01.dbf' size 50m; Tablespace created. SQL> create user cndba identified by cndba; User created. SQL> grant resource,connect,dba to cndba; Grant succeeded. SQL> select file_name,tablespace_name from dba_data_files; FILE_NAME TABLESPACE_NAME ------------------------------------------------------------ ------------------------------ /u01/app/oracle/oradata/dave/pdb1/system01.dbf SYSTEM /u01/app/oracle/oradata/dave/pdb1/sysaux01.dbf SYSAUX /u01/app/oracle/oradata/dave/pdb1_users02.dbf USERS /u01/app/oracle/oradata/dave/pdb1/ado1.dbf ADO1 /u01/app/oracle/oradata/dave/pdb1/ado2.dbf ADO2 /u01/app/oracle/oradata/dave/pdb1/cndba01.dbf CNDBA 6 rows selected. --tnsnames 文件中添加pdb的service:[oracle@Ora12c admin]$ cat tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. CNDBA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Ora12c)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cndba) ) ) pdb1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Ora12c)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1) ) ) SQL> show con_name CON_NAME ------------------------------ PDB1 SQL> create directory backup as '/u01/backup'; Directory created. 使用impd 导入数据:[oracle@Ora12c admin]$ impdp cndba/cndba@pdb1 directory=backup dumpfile=cndba.dmp logfile=pdb.log logtime=all table_exists_action=replace schemas=cndba transform=disable_archive_logging:y Import: Release 12.1.0.2.0 - Production on Thu Apr 23 03:47:28 2015 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 23-APR-15 03:47:33.135: Master table "CNDBA"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded 23-APR-15 03:47:33.869: Starting "CNDBA"."SYS_IMPORT_SCHEMA_01": cndba/********@pdb1 directory=backup dumpfile=cndba.dmp logfile=pdb.log logtime=all table_exists_action=replace schemas=cndba transform=disable_archive_logging:y 23-APR-15 03:47:34.058: Processing object type SCHEMA_EXPORT/USER 23-APR-15 03:47:34.612: ORA-31684: Object type USER:"CNDBA" already exists 23-APR-15 03:47:34.671: Processing object type SCHEMA_EXPORT/SYSTEM_GRANT 23-APR-15 03:47:34.732: Processing object type SCHEMA_EXPORT/ROLE_GRANT 23-APR-15 03:47:34.809: Processing object type SCHEMA_EXPORT/DEFAULT_ROLE 23-APR-15 03:47:34.857: Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 23-APR-15 03:47:35.322: Processing object type SCHEMA_EXPORT/TABLE/TABLE 23-APR-15 03:47:35.773: Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA 23-APR-15 03:47:37.118: . . imported "CNDBA"."ANQING" 8.393 MB 86569 rows 23-APR-15 03:47:38.248: . . imported "CNDBA"."HUAINING" 8.393 MB 86570 rows 23-APR-15 03:47:38.398: Job "CNDBA"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) at Thu Apr 23 03:47:38 2015 elapsed 0 00:00:09[oracle@Ora12c admin]$
5 验证http://www.cndba.cn/dave/article/215
SQL> alter session set container=pdb1; Session altered. SQL> show con_name CON_NAME ------------------------------ PDB1 --连接pdb 必须加上service: SQL> conn cndba/cndba@pdb1; Connected. SQL> select table_name from user_tables; TABLE_NAME -------------------------------------------------------------------------------------------------------------------------------- ANQING HUAINING 导入成功。
版权声明:本文为博主原创文章,未经博主允许不得转载。