1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > oracle的数据泵导入 导出以及创建用户及删除当前连接用户

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

时间:2022-03-24 09:56:40

相关推荐

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'

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。