Aix 5.3下自动备份Oracle多个实例,并上传至FTP服务器
一、新建databack.sh文件,存放目录/opt/databack/
#数据库用户资料
USERNAME=数据库用户名(信息隐藏)
PASSWORD=数据库密码(信息隐藏)
#FTP服务器信息
FTP_SERV=FTP服务器(信息隐藏)
FTP_USER=FTP用户名(信息隐藏)
FTP_PASS=FTP密码(信息隐藏)
FTP_DIR=FTP目录(信息隐藏)
#备份目录
BACKUP_DIR=/opt/databack
#格式化日期
DATE=`date +%Y%m%d`
#定义三个实例
EXP1=第一个ORACLE实例名称(信息隐藏)
EXP2=第二个ORACLE实例名称(信息隐藏)
EXP3=第三个ORACLE实例名称(信息隐藏)
#开始备份第一个实例
export ORACLE_SID=${EXP1}
if [ -f ${BACKUP_DIR}/${EXP1}/${EXP1}_${DATE}.dmp ]; then
echo exp ${EXP1} `date +%Y-%m-%d` backup file already exists.
else
exp ${USERNAME}/${PASSWORD} file=${BACKUP_DIR}/${EXP1}/${EXP1}_${DATE}.dmp
fi
#注释:如果备份目录下存在当日的备份文件,则输出“文件已存在”的提示信息,如果没有,则备份文件。
#开始备份第二个实例
export ORACLE_SID=${EXP2}
if [ -f ${BACKUP_DIR}/${EXP2}/${EXP2}_${DATE}.dmp ]; then
echo exp ${EXP2} `date +%Y-%m-%d` backup file already exists.
else
exp ${USERNAME}/${PASSWORD} file=${BACKUP_DIR}/${EXP2}/${EXP2}_${DATE}.dmp
fi
#开始备份第三个实例
export ORACLE_SID=${EXP3}
if [ -f ${BACKUP_DIR}/${EXP3}/${EXP3}_${DATE}.dmp ]; then
echo exp ${EXP3} `date +%Y-%m-%d` backup file already exists.
else
exp ${USERNAME}/${PASSWORD} file=${BACKUP_DIR}/${EXP3}/${EXP3}_${DATE}.dmp
fi
#开始上传备份文件
ftp -n $FTP_SERV <<AUTO_FTP
user $FTP_USER $FTP_PASS
passive
binary
cd $FTP_DIR
cd ${EXP1}
put ${BACKUP_DIR}/${EXP1}/${EXP1}_${DATE}.dmp ${EXP1}_${DATE}.dmp
cd ../${EXP2}
put ${BACKUP_DIR}/${EXP2}/${EXP2}_${DATE}.dmp ${EXP2}_${DATE}.dmp
cd ../${EXP3}
put ${BACKUP_DIR}/${EXP3}/${EXP3}_${DATE}.dmp ${EXP3}_${DATE}.dmp
AUTO_FTP
二、将databack.sh加入到计划任务中
$crontab -e [回车]
* 18 * * * /opt/databack/databack.sh
#注释:每天晚18点运行此备份程序。
PS:此自动备份脚本在AIX 5.3和CentOS
相关文档:
Oracle笔记
l 关于TRUNC函数
SELECT
RELATED_ID ,
DOC_ID ,
CAT_ID ,
CAT_CODE ,
RELEASE_DATE ,
&n ......
我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......
NULL指的是空值,或者非法值。
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回ex ......
在ORACLE中给表、列增加注释以及读取注释
1、给表填加注释:SQL>comment on table 表名 is '表注释";
2、给列加注释:SQL>comment on column 表.列 is '列注释';
3、读取表注释:SQL>select * from user_tab_comments where comments is not null;
4、读取列注释:SQL>select * from user_col_commnents wh ......
转帖处:http://dong-java.javaeye.com/blog/375150
1。推荐使用Oralce比较新的10.2.0.3 JDBC Drivers。这个版本对比9.2的最大的好处是DriverManager.setLoginTimeout函数是起作用的。设置了这个参数,在恶劣的网络环境中就不会有连接数据库的函数长时间不返回的情况。
2。JDBC Developer!ˉs Guide and Refer ......