1.修改orcle服务端和客户端的字符集
1.1服务端
查询服务端字符集
select userenv('language') from dual;
修改字符集
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP MOUNT EXCLUSIVE;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN immediate;
SQL>startup;
1.2客户端
vi ~/.bash_profile
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
source ~/.bash_profile
2.使用exp 导出dmp文件时报错 EXP-00091: Exporting questionable statistics.
处理方法
指定Linux系统的NLS_LANG环境变量为数据库的数据集
1)查询数据库的字符集(方法很多只用一种)
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8ISO8859P1
2)设置Linux操作系统的NLS_LANG环境变量
[oracle@node1]$ $export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
3.自动导出脚本
#!/bin/sh
export DATA_DIR=/db_backup/data
export LOGS_DIR=/db_backup/log
export DELTIME=$(date -d "7 days ago" +%Y%m%d)
export BAKUPTIME=$(date +'%Y%m%d%H%M%S')
echo "================Starting bakup..."
echo "================Bakup file path $DATA_DIR/$BAKUPTIME.dmp"
exp RUBICWARE/wms@orcl file=$DATA_DIR/$BAKUPTIME.dmp log=$LOGS_DIR/$BAKUPTIME.log
echo "================Delete the file bakup before 7 days,deltime is $DELTIME"
rm -rf $DATA_DIR/$DELTIME*.dmp
rm -rf $LOGS_DIR/$DELTIME*.log
echo "================Delete the file bakup successfully. "
echo "================Bakup completed."