Oracle exp/imp 数据导入导出

Oracle exp/imp 数据导入导出

rem 按表名导出数据
exp 用户名/密码@IP/数据库名称 tables=表名 file=表名.dmp log=表名.log  compress=n

rem 按表名+查询条件导出数据
exp 用户名/密码@IP/数据库名称 tables=表名 file=表名.dmp log=表名.log  compress=n query="'where id in(123)'"

rem 按表导入
imp 用户名/密码@IP/数据库名称 file=数据文件名.dmp tables=表名 ignore=y

rem 批量导出单表
select 
'exp 用户名/密码@IP/数据库名称 tables='|| table_name ||' file='|| table_name ||'.dmp log='|| table_name ||'.log compress=n' as sqls
from user_tables a
order by num_rows desc 

异常处理:
需求描述:
如果用户名的密码使用的是特殊字符,如@!#$%,会出现如下错误:
“EXP-00056: 遇到 ORACLE 错误 12154”,
解决办法:用引号将密码括起来,如下:
windows os: exp username/"""password"""@db --3个双引号扩密码
linux/unix os: exp 'username/"password"@db' --1个双引号扩密码,1个单引号扩全部

你可能感兴趣的:(oracle)