用命令导出导入数据库dmp文件

电脑搜索框输入cmd进入窗口后直接输入导出导入命令

导出:exp cdb/gcs@localhost:1521/orcl file=D:\ly\gcs.dmp


在导入前需要先把该用户的所有表数据先删掉,不然会报错
–drop user rdir cascade;
–如果drop user rdir cascade;报无法删除已连接的用户,则需要通过下面三条语句把它杀死后再从新删除
–alter user rdir account lock;
–select saddr,sid,serial#,paddr,username,status from v$session where username = ‘RDIR’;–用户名要大写不然查不出来
–alter system kill session ‘131,5763’;–上面查出来sid的值为131,serial#的值为5763

drop user rdir cascade;–删除为该用户名(rdir )的用户(用户和用户的数据都全部删除掉)
Create user rdir identified by rdir
Default tablespace ITRRDB;
–虽然通过drop user rdir cascade;把RDIR用户和该用户的所有数据删除了,表空间ITRRDB是没有删的是还处在的,直接赋给它就行了不用再重新创建表空间了
Grant connect,resource,dba to rdir;


导入imp rdir/rdir@localhost:1521/orcl file=D:\ly\test.dmp buffer=64000 ignore=y tablespaces=ITRRDB log=D:\ly.txt full=y

(最好在导入和导出前都设置一下字符集,导入和导出必须要设置成同一字符集,windows系统下设置字符集的命令为:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
linux系统下设置字符集的命令为:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

说明:其中exp代表导出,imp代表导入;
紧接着跟的是用户名和密码;@后面是数据库的ip;冒号后面是端口号紧接着是SID实例名(select * from database_properties;–可以查看到GLOBAL_DB_NAME实例名,和数据库默认表空间);
最后是文件的路径和文件名;tablespaces=要导入dmp文件的表空间名; log=D:\ly.txt导入时的日志信息存放位置;full=y表示导入dmp文件里的全部表

注意:当把dmp文件导入某个用户时,该用户必须要有dba权限不然会出错
如果该用户没有dba权限我们可以用sys超级管理员用户登录数据库后使用以下命令来给用户赋权限:
grant dba to XX用户名;

如果导入时有些表报表空间XXname不存在说明导入的dmp文件里的表空间名(XXname)和导入的用户的表空间不一致;则在导入dmp文件时指定表空间名为dmp文件里的表空间名(出错时报的表空间名就为dmp文件
里的表空间名);不过最好是在创建用户表空间时就把表空间名指定为要导入的dmp文件的表空间名,已经创建好了表空间名也可以修改该用
户的表空间名(命令:drop tablespace tablespacename including contents and datafiles cascade constraint;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值