查看oracle的相关信息
1、在oratab中查看SID的ORACLE_HOME目录
切换成oracle用户,命令:su - oracle
[oracle@localhost ~]$ cat /etc/oratab 含义:查看oracle_sid、oracle_home
2、在bash_profile中查看ORACLE_BASE , ORACLE_HOME , ORACLE_SID
切换为oracle用户
[oracle@localhost ~]$ cat .bash_profile (第一次登录先查看ORACLE_BASE, ORACLE_HOME , ORACLE_SID)
3、直接通过echo命令查看(切换oracle用户,直接输入以下命令)
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $ORACLE_SID
echo $PATH
echo $NLS_LANG 查看字符集
执行定时任务对oracle表数据备份:
1、创建sh脚本
[oracle@localhost ~]$ vi bak.sh
2、添加脚本内容
-
#!/bin/bash #:本脚本自动备份7天的数据库,每次备份完成后,删除7天之前的数据。 #加载oracle的相关参数 #如果oracle参数不明确,请使用命令查看 # su - oracle # echo $ORACLE_HOME export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=/home/oracle/app/oracle export ORACLE_SID=CSIC8 export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin #oracle字符集 export NLS_LANG=AMERICAN_AMERICA.UTF8 #获取当前时间,格式:20150210 DATE=$(date +%Y%m%d) #获取7天之前的时间,格式:20150203 DATE_RM=$(date -d "7 days ago" +%Y%m%d) #设置备份目录, export DIR=/home/oracle/oracledata/backup echo $DIR #创建日期目录 mkdir $DIR/$DATE #开始备份,此处采用exp方式导出,根据实际情况可选用expdb数据方式导出 echo ‘Oracle backup...‘ exp CSIDBA/CSIDBA@CSIC8 file=$DIR/$DATE‘/C8DBData_‘$DATE‘.dmp‘ log=$DIR/$DATE‘/C8DBData_log_‘$DATE‘.log‘ # exp cs_prod/quickdone@CSIC8 file=$DIR/$DATE‘/csprod_‘$DATE‘.dmp‘ log=$DIR/$DATE‘/csprod_log_‘$DATE‘.log‘ echo ‘Oracle backup successfully.‘ echo ‘remove...‘ rm -rf $DIR/$DATE_RM echo ‘remove successsfully.‘
3、赋权:
[oracle@localhost ~]$ chmod 777 ./bak.sh
4、添加定时任务:
[oracle@localhost ~]$ crontab -e
#每天一点半执行一次(将下面这段代码复制进去)
30 1 * * * /home/backup/bak.sh
注:如果crontab命令报:no crontab for oracle
oracle用户下 输入 crontab -l 显示,no crontab for root 例如:
[root@localhost ~]# crontab -l
no crontab for root
同样在 root 用户下输入 crontab -e
按 Esc ,按:wq 回车
5、查看任务:
[oracle@localhost ~]$ crontab -l
关于linux在shell中获取系统时间:
获得当天的日期 date +%Y%m%d 输出: 20110728
可以使用date的 -d参数 获取今天之前或者往后的日期
获取明天的日期 date -d next-day +%Y%m%d
获取前几天的日期 date -d "7 days ago" +%Y%m%d
获取昨天的日期 date -d last-day +%Y%m%d
crontab 前面5个*参数的意义:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
例子:
#每天早上6点10分
10 6 *
* * date
#每两个小时
0 */2 *
* * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8
* * *
date
#每个月的4号和每个礼拜一到礼拜三的早上11点
0 11 4
* 1-3 date
#1月1日早上4点
0 4 1
1 * date