前言:在工作中有时候需要把数据的表结构从一个系统转移到另外一个系统,并且其中的某些管理表还要复制其中的数据;
本文档记录在实际工作中的一次表结构的复制和其中某些重要数据转移的过程;
思路:先进行表结构的复制,然后再进行数据的转移
详细的操作步骤如下:
一、准备工作
1、源数据库安装的时候需要选择跟目标数据库一样的字符集;查看字符集的脚本:select userenv('language') from dual;
二、从源数据库导入表结构到目标数据库1、在源库创建相应的导入目录,并进行授权给system用户脚本:create directory dir as 'D:\exp'; Grant read,write on directory dir to system;2、进行表结构的导出导入2.1 导出脚本:expdp datachk/datachk directory=dir dumpfile=FULL.dmp SAMPLE=0.000001 schemas=datachk
说明:导出的schemas是datachk,SAMPLE=0.000001 表明如果表有100万行的话,导出一行(根据导出日志,部分表可能会超出该记录,可以手工删除)
2.2 在目标数据库创建相应的表空间创建数据存放的表空间脚本:CREATE TABLESPACE SAPDATA DATAFILE 'D:\app\Administrator\oradata\db1\SAPDATA01.DBF' SIZE 1024M AUTOEXTEND OFFLOGGINGEXTENT MANAGEMENT LOCAL AUTOALLOCATEBLOCKSIZE 8KSEGMENT SPACE MANAGEMENT AUTOFLASHBACK ON;创建临时表空间脚本:CREATE TEMPORARY TABLESPACE SAPDATA_TEMP TEMPFILE 'D:\app\Administrator\oradata\db1\SAPDATA_TEMP.DBF' SIZE 1024M AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED;2.3 创建DATACHK用户CREATE USER DATACHK IDENTIFIED BY VALUES 'datachk' DEFAULT TABLESPACE SAPDATA TEMPORARY TABLESPACE SAPDATA_TEMP PROFILE DEFAULT ACCOUNT UNLOCK; -- 2 Roles for DATACHK GRANT CONNECT TO DATACHK; GRANT DBA TO DATACHK; 2.4 创建USER_DATACHK用户
CREATE USER USER_DATACHK
IDENTIFIED BY VALUES 'usesr_datachk'
DEFAULT TABLESPACE SAPDATA
TEMPORARY TABLESPACE SAPDATA_TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
2.5 在目标数据库进行导入导入脚本:impdp system/oracle directory=dir dumpfile=FULL.dmp
3、进行关键表数据的导出导入3.1在源数据库进行重要表数据的导出脚本:expdp datachk/datachk directory=dir dumpfile=FULL1.dmp tables=I_DATASET_FIELDS,STM_PRGERRLOG,SYTM_ALERT_BS_LOG,SYTM_MAIL_INFO,SYTM_MAIL_LOG,SYTM_MAIL_REPLY,SYTM_MAIL_TP
单独导出需要复制数据的表
3.2在目标数据库drop掉相应的表脚本:DROP TABLE DATACHK.I_DATASET_FIELDS;DROP TABLE DATACHK.I_DATASET_FIELDS_20131003;DROP TABLE DATACHK.I_DATASET_OPTIONS;DROP TABLE DATACHK.I_DATASET_ORDERSHOW;impdp datachk/datachk directory=dir dumpfile=FULL1.dmp
---------------------------------------------------------------------------------------------------------------
ORACLE 技术交流群:367875324
---------------------------------------------------------------------------------------------------------------