oracle的数据泵导入,导出以及创建用户及删除当前连接用户

一、导出

1、oracle的数据导出,导入都是在服务器上进行,所以你要登录到数据库的服务器,用sqlplus来进行,速度比imp,exp要好很多,内容也更全

2、SQL> CREATE OR REPLACE DIRECTORY dir_dump AS 'D:\dp_win_dir'; windows下可能要先新建这个文件夹

   SQL> grant read,write on directory dp_dir to ncdtk;     /*对用户dyl附加对目录dp_dir可读可执行的权限,用system身份附权限*/

    Grant succeeded.
  3、 数据泵导出数据,必须在cmd命令下

expdp ncdtk/ncdtk schemas=ncdtk DIRECTORY=dp_dir dumpfile=ncdtk.dmp logfile=ncdtk.log;
如果是多实例的话最好这样:
expdp djksk/djksk@db_djksk schemas=djksk DIRECTORY=dp_dir dumpfile=djksk.dmp logfile=djksk.log;

二、导入

 1、也是先建导入目录,如果建好了,就不用再建

    select * from dba_directories;可以查看是否建了导入或者导出目录

2、--从源数据库中向目标数据库导入表p_street_area
按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
(1)impdp sq/sq_hfqnc@hfq transform=segment_attributes:n dumpfile =sq.dmp logfile=sq.log directory=dir_dump  
reuse_datafiles=y REMAP_SCHEMA=djksk:ld   这个是导入分区表的语句

(2)impdp sq/sq_hfqnc@hfq dumpfile =sq.dmp logfile=sq.log directory=dir_dump   这个是导入一般表的语句

 

三、创建用户和删除用户

  要想用数据泵导入,导入的数据要完全覆盖之前数据,索性先删除用户,再创建用户,再导入

  1、删除用户,提示有连接

     (1)select username,sid,serial#,status from v$session 查看哪些status不是killed的,然后用下面语句给她杀掉
     (2)alter system kill session'532,4562'

2、新建用户

 create temporary tablespace sq_temp                          //临时表空间
tempfile 'D:\app\Administrator\oradata\hfq\sq_temp.dbf' //表空间经常放置的路径
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 

create tablespace sq_data  
logging  
datafile 'D:\app\Administrator\oradata\hfq\sq_data.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 



create user sq identified by "sq_hfqnc"     //创建用户
default tablespace sq_data  
temporary tablespace temp;  

grant connect,resource,dba to sq;          //给用户赋权限
grant create session, create table,unlimited tablespace,create procedure,
create sequence,create synonym,create trigger,create view to sq;

grant all privileges  TO sq;                   //如果要求不大,就把所有的权限赋给用户

 

四、如果导错了,需要删除一个用户,但是这个用户无法删除,需要查出会话里的用户,然后杀掉,有可能会话里有多个这个用户,那么要全部一一杀掉才行

  

select username,sid,serial#,status from v$session
alter system kill session'532,4562'

 

五、一般的导入导出语句

1、导入  在cmd的模式下,注意加上日志:

imp center/center@ONECARD_CENTER file='D:\data\7中\data\oradata.dmp' fromuser='CCENSE' touser='center' ignore=y commit=y grants=y log='D:\data\7中\data\imp.log'

2、导出 在cmd的模式下

exp scott/tiger@orcl file=F:\sign.sql tables=表名,表名 grants=y log='D:\data\7中\data\exp.log'

 

转载于:https://www.cnblogs.com/li1111xin/p/4672351.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值