利用EXPDP/IMPDP迁移SCHEMA

来源:互联网 发布:revolution radio知乎 编辑:程序博客网 时间:2024/05/29 15:26

1.源数据端导出数据:

1.0 查看表空间和用户

SQL> select 'CREATE TABLESPACE "'||tablespace_name|| '" LOGGING DATAFILE ''' ||FILE_NAME|| ''' SIZE 0M AUTOEXTEND ON NEXT 0M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;'
from dba_data_files order by tablespace_name;

SQL> select * from dba_users where created >= to_date('2010-03-01','yyyy-mm-dd');

1.1 创建目录

SQL> create directory dump_dir as '/opt/oracle/dumpfile';

1.2 目录授权(sys用户不用授权)
SQL> grant read,write on directory dump_dir to sys;

1.3 在源和目标服务器中创建相同的目录

[test]$mkdir /opt/oracle/dumpfile

1.4 导出schema为 gameid的所有对象

expdp "'sys/test as sysdba'" schemas=gameid directory=dump_dir dumpfile="gameid.dmp"

1.5 复制文件

scp /opt/oracle/dumpfile/gameid.dmp oracle@192.168.1.2:/opt/oracle/dumpfile/ 

 

2.导入数据

2.1 创建表空间

CREATE TABLESPACE "GAMEID" LOGGING DATAFILE '/u01/oradata/oratest/GAMEID01.dbf' SIZE 20M autoextend on next 1M maxsize unlimited
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

2.2 创建目录

SQL> create directory dump_dir as '/opt/oracle/dumpfile';

2.3 导入数据

impdp "'sys/test123 as sysdba'" schemas=gameid directory=dump_dir dumpfile="gameid1.dmp"

Import: Release 10.2.0.1.0 - Production on Thursday, 22 July, 2010 14:28:23

Copyright (c) 2003, 2005Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_IMPORT_SCHEMA_01 for user SYS
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 600
ORA-39080: failed to create queues "" and "" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1555
ORA-01403: no data found

 

解决办法:(仅供参考)

ACTION PLAN
===========
1. Catdph.sql will Re-Install DataPump types and views:
SQL >@ $ORACLE_HOME/rdbms/admin/catdph.sql
Note: If XDB is installed the it is required to run "catmetx.sql" script. also.

2. prvtdtde.plb will Re-Install tde_library packages:
SQL >@ $ORACLE_HOME/rdbms/admin/prvtdtde.plb

3. Catdpb.sql will Re-Install DataPump packages:
SQL >@ $ORACLE_HOME/rdbms/admin/catdpb.sql

4.Dbmspump.sql will Re-Install DBMS DataPump objects:
SQL >@ $ORACLE_HOME/rdbms/admin/dbmspump.sql

5. To recompile invalid objects, if any:
SQL >@ $ORACLE_HOME/rdbms/admin/utlrp.sql


原创粉丝点击