ORACLE window 下导入导出命令总结

本文总结了Oracle在Windows下的导入导出命令,包括生成导出脚本和导入脚本的方法,解决空表导出问题的步骤,以及处理特殊字符密码的技巧。同时提供了检查数据库字符集和版本的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle window 下导入导出命令总结

1.直接复制执行slq语句即可。
a).生成导出脚本
select ‘exp ‘||lower(username)|| ‘/zhpt@orcl file=D:\dmp’||lower(username)||’.dmp owner=(username)
log=D:\dmp\log’||lower(username)||’.log’ from ALL_USERS where USERNAME not in (‘ANONYMOUS’,‘APEX_030200’,‘APEX_PUBLIC_USER’,‘APPQOSSYS’,‘CTXSYS’,‘DBSNMP’,‘DIP’,‘EXFSYS’,‘FLOWS_FILES’,‘MDDATA’,‘MDSYS’,‘MGMT_VIEW’,‘OLAPSYS’,‘ORACLE_OCM’,‘ORDDATA’,‘ORDPLUGINS’,‘ORDSYS’,‘OUTLN’,‘OWBSYS’,‘OWBSYS_AUDIT’,‘PUBLIC’,‘SCOTT’,‘SI_INFORMTN_SCHEMA’,‘SPATIAL_CSW_ADMIN_USR’,‘SPATIAL_WFS_ADMIN_USR’,‘SYS’,‘SYSMAN’,‘SYSTEM’,‘WMSYS’,‘XDB’,‘XS$NULL’)

eg:exp bjsysweb/zhpt@192.168.0.239/orcl file=D:\dmp\zhpb.dmp log=D:\dmp\log\zhpb.log owner=(username)
owner=(username)–只导出某个用户
b).生成导入脚本
select ‘imp ‘||lower(username)|| ‘/zhpt@orcl file=D:\dmp’||lower(username)||’.dmp log=D:\dmp’||lower(username)||’.log full=y’ from ALL_USERS where USERNAME not in (‘ANONYMOUS’,‘APEX_030200’,‘APEX_PUBLIC_USER’,‘APPQOSSYS’,‘CTXSYS’,‘DBSNMP’,‘DIP’,‘EXFSYS’,‘FLOWS_FILES’,‘MDDATA’,‘MDSYS’,‘MGMT_VIEW’,‘OLAPSYS’,‘ORACLE_OCM’,‘ORDDATA’,‘ORDPLUGINS’,‘ORDSYS’,‘OUTLN’,‘OWBSYS’,‘OWBSYS_AUDIT’,‘PUBLIC’,‘SCOTT’,‘SI_INFORMTN_SCHEMA’,‘SPATIAL_CSW_ADMIN_USR’,‘SPATIAL_WFS_ADMIN_USR’,‘SYS’,‘SYSMAN’,‘SYSTEM’,‘WMSYS’,‘XDB’,‘XS$NULL’)

eg:imp huzhou/huzhou@192.168.0.239/orcl file=D:\dmp\zhpb.dmp log=D:\dmp\log\zhpb.log full=y
full=y–全部导入
oracle给用户授权
grant connect, resource, dba to portal;

问题:导出过程中oracle11G 空表无法导出
批量处理空表
首先使用下面的sql语句查询一下当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
  然后用一下SQL语句执行查询
select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0
  假设我们这里有空表TBL_1,TBL_2,TBL_3,TBL_4,则查询结果如下:
alter table TBL_1 allocate extent;
alter table TBL_2 allocate extent;
alter table TBL_3 allocate extent;
alter table TBL_4 allocate extent;
最后我们把上面的SQL语句执行就可以了。

常见问题
1.select userenv(‘language’) from dual --查看数据库字符集
2.select * from v$version --查看数据库版本
3.Oracle密码带特殊字符,如”@“号,在imp,exp里的写法。
做Oracle数据导出的时候,由于用户名的密码使用的是特殊字符,所以遇到了错误代码:“EXP-00056: 遇到 ORACLE 错误 12154”
windows os: exp username/""“password”""@devdb --3个双引号扩密码
linux/unix os: exp “username/“password”@devdb” --1个双引号扩密码,1个单引号扩全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值