最近使用了数据泵对oracle11g数据库进行了导入导出,在此进行归纳整理,以便以后查阅学习。
数据泵是10g推出的功能,比较方便实用。
1.指定数据库实例
set oracle_sid = A,A即为数据库实例名
sqlplus sys as sysdba,以管理员身份登陆数据库,或者 sqlplus sys@A as sysdba 也可以登陆指定实例名的数据库
2.创建临时表空间
create temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
3.创建数据表空间
create tablespace test_data
logging
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local
4.创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
5.给指定用户授权
grant connect,resource,dba to username;
6.创建存储目录
create or replace directory dumpdir as 'c:\'; (导出时,dmp文件存到指定目录,导入时,要将dmp放到指定目录)
7.将目录操作权限赋予用户
grant read,write on directory dumpdir to username;
8.执行数据泵指令进行数据库导入导出
执行此命令前要跳出数据库命令行界面(ctrl+c)
导出数据库
expdp username/password schemas=username directory=dumpdir dumpfile=A.dmp logfile=A.log version=11.2
导出重点参数:
version:高往低需加version=xx.x ;导出某些张表tables=xxxx ;content=metadata_only(只要结构);content=data_only(只要数据)
导入数据库
impdp username/password schemas=username directory=dumpdir dumpfile=A.dmp logfile=A.log version=11.2