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(字符集);
环境变量设置的值格式为:语言_地区.字符集
核对相关字符集是否相同,不同请修改为一至
- 修改方式
- windows+R—>输入regedit打开注册表
- 查看以下路径–> HKEY_LOCAL_MACHINE–> SOFTWARE–> Wow6432Node—> ORACLxEKEY_Oracle_11g
问题解决
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;
- 杀死相关的进程
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 用户名;
### 注意事项