Oracle部分记录导出为dmp

今天发现原来exp命令除了可以导出整个表的数据,也可以导出某张表的部分数据.

环境:Oracle 10g

 

例如:

 

网上的例子:

$exp scott/tiger tables=emp query=\"where job=\'salesman\' and sal\<1600\" file=/directory/scott2.dmp 

 

 

自己实验的例子:

exp wy/wy@dev tables="student"  query=\"where t_id=112\" file=d:/student.dmp

 

 

在调试过程中出现过如下错误:

 

1)ORACLE-00911: 无效字符   错误原因 我把 query=写成了\"where t_id\=112\"  ,等号不需要转义

 

 

2)IMP-00058: ORACLE 错误12560出现 

 

   ORA-12560: TNS: 协议适配器错误
   IMP-00000: 未成功终止导入   错误原因 没有加实例服务名 @dev

 

3)导出时出现EXP-00091 警告 (不影响导出的dmp文件,可以忽略)

   错误原因 我們exp工具所在的環境變量中的NLS_LANG與DB中的   NLS_CHARACTERSET不一致

   去除警告办法

  step 01 查看DB中的NLS_CHARACTERSET的值(提供兩種方法):
select * from nls_database_parameters t where
t.parameter='NLS_CHARACTERSET'
or
select * from v$nls_parameters where
parameter='NLS_CHARACTERSET';
SQL> select * from v$nls_parameters where
parameter='NLS_CHARACTERSET';
PARAMETER          VALUE
----------------------- -------------------------
---------------------
NLS_CHARACTERSET    ZHT16BIG5

step 02 根據step 01查出的NLS_CHARACTERSET(ZHT16BIG5)來設定
exp的環境變量:

WINNT> set NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5
LINUX> export NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值