在生产上遇到一个特别奇怪的问题,目前一直不明白是为什么,还请各位大神帮忙分析下。
我们需要从生产导出数据,就是spool导出。
我们在linux服务器上执行导出语句。大概操作的步骤如下。
1.telnet 数据库服务器
2.export nls_lang=american_americ.al32utf8
3.连接数据库
4,执行脚本
---脚本如下:
set sqlblanklines on
set verify off
set space 0
set newp none
set term on
set pages 0
set line 4096
set echo off 
set feedback off
set heading off
set trims on
whenever sqlerror exit sql.sqlcode rollback;
whenever oserror exit sql.sqlcoe rollback;
spool /路径/文件1.bin
select * from 表1;
spool off
spool /路径/文件2.bin
select * from 表2
spool off
set heading on 
set echo on
set showmode on
set feedback on
set verify on
exit;在导出文件后,我们使用file -i命令查看文件1和文件2的编码格式;
结果却是文件1的charset=utf-8 而文件2的charset=windows图像
这个是为什么呢?明明是在一个session 中用同样的命令执行两个bin文件?