oracle导出dmp文件合集

Oracle导出dmp文件合集

  • 导出某一个用户下所有的表
exp 用户名/用户密码@ORCL file=D:\dmp\DEMO_20220121.dmp owner=用户名 buffer=8192000 log=D:\dmp\DEMO_20220121_daochu.log
  • 导出指定表名下的所有的表
exp DEMO/DEMO@ORCL file=D:\dmp\DEMO_20220121_ep.dmp tables=('表名','表名','表名') buffer=8192000 log=D:\dmp\DEMO_20220121_ep_daochu.log
  • 导出以**开头的表( 表示导出DEMO用户下DEMO_开头的全部表 )
exp 用户名/用户密码@ORCL_MDPC file=D:\dmp\DEMO_20220307_demo.dmp tables=(用户名.DEMO_%) buffer=8192000 log=D:\dmp\DEMO_20220307_demo_daochu.log

扩展:

full = y 全库导出
owner = (user1, user2) 导出指定的用户

imp命令导入dmp文件到数据库

imp 用户名/密码@ORCL file=D:\dmp\DEMO_20220121.dmp full=y 

ORACLE 这些对象由 XXXX 导出, 而不是当前用户

imp sa3/123456 file=xxx full=y ingore=y

EXP-00091: 正在导出有问题的统计信息。

问题产生原因为服务端oracle中的字符编码与客户端的字符编码不一致导致此问题的出现

解决办法

  • 登录sqlplus,查询客户端相关信息
select * from V$NLS_PARAMETERS
  • 查询服务端编码
SELECT * FROM NLS_DATABASE_PARAMETERS;

注意NLS_LANGUAGE(语言),NLS_TERRITORY(地区),NLS_CHARACTERSET(字符集);
环境变量设置的值格式为:语言_地区.字符集

核对相关字符集是否相同,不同请修改为一至

oracle导出dmp文件合集_第1张图片

  • 修改方式
    • windows+R—>输入regedit打开注册表
    • 查看以下路径–> HKEY_LOCAL_MACHINE–> SOFTWARE–> Wow6432Node—> ORACLxEKEY_Oracle_11g

oracle导出dmp文件合集_第2张图片

问题解决

expdp进行dmp文件导出

expdp导出
确保已经创建数据备份路径,若没有则按照准备工作中的说明进行创建。(注意:若CPU资源充足强烈推荐开启并行参数,可以大大节省导入、导出的时间)
第一种:“full=y”,全量导出数据库:
expdp user/passwd@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log;

第二种:schemas按用户导出:
expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
导出SCOTT用户下的emp和dept表
expdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept

第三种:按表空间导出:
expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第四种:导出表:
expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第五种:按查询条件导:
expdp user/passwd@orcl tables=table1=‘where number=1234’ dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

SQL 错误 [1940] [42000]: ORA-01940: 无法删除当前连接的用户

  • 查询该用户的进程
select  username,sid,serial# from v$session;

oracle导出dmp文件合集_第3张图片

  • 杀死相关的进程
alter system kill session '234,12' ; 
  • 进行用户删除
drop user ZCGL_V8_20220628 cascade;

创建新用户以及表空间

select name from v$datafile;  --查询表空间的名称
CREATE TABLESPACE 名称 DATAFILE '路径+大写名称.DBF' SIZE 10M AUTOEXTEND ON NEXT 10M;
--创建表空间
create user 用户名 identified by 密码 default tablespace 表空间名称
--新用户授权
grant dba to 用户名;
grant connect, resource to 用户名;
grant select any table to 用户名;
grant update any table to 用户名;
grant create any table to 用户名;
grant delete any table to 用户名;

注意事项

nt update any table to 用户名;
grant create any table to 用户名;
grant delete any table to 用户名;


### 注意事项

























你可能感兴趣的:(oracle,数据库)