1、查看數據庫的字符集
數據庫的字符集必須和Linux下設置的環境變量一致,不然會有亂碼。
以下兩個sql語句都可以查到:
select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET';select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
查詢結果為:NLS_CHARACTERSET AL32UTF8
2、 用oracle用戶登錄oracle服務器,創建相關的目錄
創建備份數據的目錄 mkdir -p /home/oracle/dbbak/data
創建備份腳本目錄 mkdir -p /home/oracle/dbbak/shell
創建導出數據日志目錄 mkdir /home/oracle/dbbak/log
3、在腳本目錄下創建腳本文件
vi /home/oracle/dbbak/shell/dbbak.sh
腳本中內容:
#[plain]view plaincopy#!/bin/shexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport DATA_DIR=/home/oracle/dbbak/dataexport LOGS_DIR=/home/oracle/dbbak/logexport DELTIME=`date -d "30 days ago" +%Y%m%d`export BAKUPTIME=`date +%Y%m%d%H%M%S`export NLS_LANG=AMERICAN_AMERICA.AL32UTF8mkdir -p $DATA_DIRmkdir -p $LOGS_DIRecho "Starting bakup..."echo "Bakup filepath$DATA_DIR/$BAKUPTIME.dmp"exp user/pwd@orcl file=$DATA_DIR/orcl$BAKUPTIME.dmp log=$LOGS_DIR/orcl$BAKUPTIME.logecho "Delete the file bakup before 30days...filepath: $DATA_DIR/orcl$DELTIME*.dmp "rm -rf $DATA_DIR/orcl$DELTIME*.dmprm -rf $LOGS_DIR/orcl$DELTIME*.logecho "Delete the file bakup successfully."echo "Bakup completed."
根據自己的需要修改相關內容:
export DELTIME=`date -d "30 days ago" +%Y%m%d` 配置保留數據的時間,這里是保留30天,根據自己需要和服務器的存儲空間進行相應的修改即可;export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 字符編碼格式,需跟第一步查詢中結果保持一致;exp DISPLAY/DISPLAY@orcl file=$DATA_DIR/orcl$BAKUPTIME.dmp log=$LOGS_DIR/orcl$BAKUPTIME.log
導出語句,全表導出,可以根據需要修改,exp 用戶名/密碼@SID file=dmp文件全路徑 log=日志文件全路徑
4、修改腳本文件的執行權限
chmod 777 dbbak.sh  
測試是否可以執行:./ dbbak.sh
Export terminated successfully without warnings.表示導出沒有問題,如果有問題,解決
5、添加定時任務
在Oracle用戶下
crontab 
主站蜘蛛池模板:
蒙自县|
民勤县|
丹江口市|
武夷山市|
广灵县|
扎囊县|
淮滨县|
柳林县|
桃源县|
安多县|
佛冈县|
临高县|
长汀县|
泰顺县|
保定市|
尚志市|
三门县|
密山市|
平利县|
屯留县|
巴马|
喜德县|
安平县|
湄潭县|
南召县|
永康市|
互助|
万源市|
新田县|
胶南市|
内黄县|
镶黄旗|
永善县|
灵宝市|
修文县|
遂宁市|
清涧县|
南康市|
威海市|
宁河县|
衡南县|