linux oracle11g exp脚本

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."


你可能感兴趣的:(linux oracle11g exp脚本)