oracle数据泵导入

      发布在:all      评论:0 条评论

1. 在目标机器上 salplus  / as sysdba 

2.创建操作用目录

sql>create directory db_dir as 'D:\dbfile' 

3.为用户授权改操作目录的读写权限

sql>grant read,write on directory db_dir to bigtail

4.退出sqlplus在系统cmd窗口里面执行导入命令

impdp bigtal/bigtail@mydatabse directory=db_dir dumpfile=db_bak.dmp table_exists_action=replace parallel=3 logfile=log.log

注:

导入到已经存在的库,table_exists_action=参数

当使用IMPDP完成数据库导入时,如遇到表已存在时,Oracle提供给我们如下四种处理方式:
SKIP:跳过已经存在的表,继续导入下一个对象,如果CONTENT设置了DATA_ONLY参数,则不能使用SKIP
APPEND:不会影响已存在的数据,在原有数据表的基础上继续增加数据
REPLACE:先删除drop掉表,然后创建create表,最后完成数据插入
TRUNCATE:删除已存在的行,然后插入所有的数据


注:

利用多核CPU的优势设置并行数以加速导入

parallel=4   

一般不超过cpu核心数量的2倍



---------备库还原也可以先删除用户  删除表空间 再全部重新创建  这样导入会快点------

可能用到的语句:

查看用户拥有的权限

select * from dba_sys_privs where grantee='BIGTAIL'  用户名要大写

查看用户拥有的角色

select * from dba_role_privs where grantee='BIGTAIL'  大写用户名

查询用户的表空间

select default_tablespace from dba_users where username='EPUSER';  // 用户名大写

查询某个用户的临时表空间

select temporary_tablespace from dba_users where username='EPUSER';  // 用户名大写

删除表空间

DROP tablespace epuser including contents and datafiles;

删除临时表空间

DROP tablespace E8ITSM including contents and datafiles;

删除用户的表

delete tables
select 'drop table ' || table_name ||' from user_tables;


/*第1步:创建临时表空间(注意:D:\Project\OracleTableSpace\FHADMIN\ 手动创建路径)  */ 

create temporary tablespace C##FHADMIN_TEMP  tempfile 'D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_TEMP.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

/*第2步:创建数据表空间  */

create tablespace C##FHADMIN_DATA
logging  
datafile 'D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_DATA.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

  /*第3步:创建用户并指定表空间 密码是root */

create user C##FHADMIN identified by root default tablespace C##FHADMIN_DATA temporary tablespace C##FHADMIN_TEMP;  

  /*第4步:给用户授予权限  */

grant connect,resource,dba to C##FHADMIN; 

第5步:创建目录

create or replace directory dp_dir as 'D:\test\';(手动创建)

        PS:把要导入的DMP文件放入目录下。

 第6步:授权用户cxdb读写目录文件

 grant read, write on directory dp_dirC##FHADMIN;

第7步:导入DMP文件

 impdp C##FHADMIN/root@orcl directory=dp_dir dumpfile=xx.dmp logfile=emp.log full=y;(在cmd执行)

        PS:lodfile可以不加,不加系统自动创建。

Responses

滇ICP备14007443号-4