`
sophia_230
  • 浏览: 118776 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics