Oracle数据泵导入导出详细步骤

时间:2024-04-07 11:30:29

一、exdpd方式导出数据库

  1. 创建直接存取路径

(1)超级管理员登陆SQLplus

通过“开始→所有程序→Oracle-OraDb11g_home1→应用程序开发→SQLplus”打开sqlplus,按如下方式输入:

请输入用户名:sys as sysdba

输入口令:*** /*sys的密码admin

SQL>conn sys/*** as sysdba /*sys的密码

Oracle数据泵导入导出详细步骤

(2)创建文件直接存取路径(directory)db_exp/*红色部分可自定义

在(1)的基础上继续输入:

SLQ>create directory db_exp as‘d:\space’; /*红色部分可自定义

Oracle数据泵导入导出详细步骤

(3)手动创建创建文件路径“d:\space”;/*红色部分可自定义

Oracle数据泵导入导出详细步骤

(4)为用户CHINSON_0117赋予directory的读写权限 /*红色部分可自定义

在(2)的基础上继续输入:

SLQ>grant read,write on directory db_bak to chinson_0117; /*红色部分可自定义

Oracle数据泵导入导出详细步骤

  1. 导出表

expdp CHINSON_0117/CHINSON_0117@orcl directory=db_exp  dumpfile=chinson_data.dmp /*红色部分可自定义

说明:导出数据库时需要创建文件直接存取路径directory,可参考文档“1.创建直接存取路径”创建db_bak,也可以参考上述创建方法另行创建其他的直接存取路径,并赋予读写权限。

二、imdpd导入数据库

  1. 创建表空间

需创建两个表空间:CHINSON和NWZHJH,创建语句如下:

 

(1)新建CHINSON表空间

create tablespace CHINSON  
datafile 'D:\app\Administrator\oradata\orcl\CHINSON.dbf'  
size 2048m 
autoextend on next 32m maxsize 20480m 

 

(2)新建NWZHJH表空间

create tablespace NWZHJH

datafile 'D:\app\Administrator\oradata\orcl\NWZHJH_04.dbf'  

size 2048m 
autoextend on next 32m maxsize 20480m 

 

注意:1、若已存在表空间chinson或nwzhjh,则不需要再次创建该表空间;

      2、上述创建表空间sql语句中的蓝色字体表示所创建的表空间路径,使用时需根据本机实际情况定义路径;

      3、导入数据库所需表空间大小为2G以上,务必保证上述两个表空间大小在2G以上,若不足2G,扩展表空间大小的sql语句事例如下:

         Alter tablespace chinson

add datafile 'D:\app\Administrator\oradata\orcl\CHINSON_01.dbf'  

size 20480m

 

Alter tablespace nwzhjh

add datafile 'D:\app\Administrator\oradata\orcl\nwzhjh_04.dbf'  

size 20480m

 

  1. 创建用户

(1)创建用户 CHINSON_0117

create user CHINSON_0117 profile "DEFAULT"

identified by " CHINSON_0117" default tablespace CHINSON

temporary tablespace "TEMP"

account unlock;

grant create sequence to CHINSON_0117;

grant debug connect session to CHINSON_0117;

grant unlimited tablespace to CHINSON_0117;

grant "CONNECT" to CHINSON_0117;

grant "RESOURCE" to CHINSON_0117;

grant create view to CHINSON_0117;

 

(2)为 CHINSON_0117 赋予权限

drop context nscubp_context_CHINSON_0117;

drop role nscubp_login_CHINSON_0117;

drop role nscubp_objects_CHINSON_0117;

create context nscubp_context_CHINSON_0117 using CHINSON_0117.urrp_login;

create role nscubp_login_CHINSON_0117;

create role nscubp_objects_CHINSON_0117;

grant nscubp_login_CHINSON_0117 to CHINSON_0117;

grant nscubp_objects_CHINSON_0117 to CHINSON_0117;

grant CREATE TRIGGER to CHINSON_0117;

grant CREATE PROCEDURE to CHINSON_0117;

grant CREATE TABLE to CHINSON_0117;

grant execute on CTXSYS.CTX_DDL to CHINSON_0117;

alter user CHINSON_0117 quota unlimited on nwzhjh;

 

注意:若(2)中的语句存在执行不通过的情况,产生如下报错:

Oracle数据泵导入导出详细步骤

      可尝试再次执行,也可直接忽略。

  1. 创建目录(如已经创建并赋予权限,可忽略前2骤)

(1)超级管理员登陆SQLplus

通过“开始→所有程序→Oracle-OraDb11g_home1→应用程序开发→SQLplus”打开sqlplus,按如下方式输入:

 

请输入用户名:sys as sysdba

输入口令:*** /*sys的密码admin

SQL>conn sys/*** as sysdba /*sys的密码

Oracle数据泵导入导出详细步骤

(2)创建文件直接存取路径(directory)db_bak /*红色部分可自定义

在(1)的基础上继续输入:

SLQ>create directory db_bak as‘d:\space\data_backup’;

 /*红色部分可自定义

Oracle数据泵导入导出详细步骤

 

(3)手动创建创建文件路径“d:\space\data_backup”,并拷贝将要导入的数据库DMP文件至该文件路径下 /*红色部分可自定义

Oracle数据泵导入导出详细步骤

 

(4)为用户CHINSON_0117赋予directory的读写权限 /*红色部分可自定义

在(2)的基础上继续输入:

SLQ>grant read,write on directory db_bak to chinson_0117; /*红色部分可自定义

Oracle数据泵导入导出详细步骤

 

  1. 导入数据库

在cmd命令窗口中执行以下命令:

impdp CHINSON_0117/CHINSON_0117@orcl directory=db_bak dumpfile=chinson_data_20140316.dmp REMAP_SCHEMA=CHINSON:CHINSON_0117 full=y logfile=chinson_data_20140316.log/*红色部分可自定义

 

说明:

1、CHINSON_0117表示本文档“2、创建用户”中创建的用户(及密码);

2、orcl表示数据库服务名,需根据实际情况变更;

3、directory=db_bak 表示本文档“3.创建目录”中创建的文件直接存取路径;

4、dumpfile的参数直接等于数据库dmp文件的文件名,不需要输入文件路径;

5、REMAP_SCHEMA参数固定格式为[tablespace_name:user_name];

6、logfile表示产生的log文件,文件名可自行定义。