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/sh

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export DATA_DIR=/home/oracle/dbbak/data

export LOGS_DIR=/home/oracle/dbbak/log

export DELTIME=`date -d "30 days ago" +%Y%m%d`

export BAKUPTIME=`date +%Y%m%d%H%M%S`

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

mkdir -p $DATA_DIR

mkdir -p $LOGS_DIR

echo "Starting bakup..."

echo "Bakup filepath$DATA_DIR/$BAKUPTIME.dmp"

exp user/pwd@orcl file=$DATA_DIR/orcl$BAKUPTIME.dmp log=$LOGS_DIR/orcl$BAKUPTIME.log

echo "Delete the file bakup before 30days...filepath: $DATA_DIR/orcl$DELTIME*.dmp "

rm -rf $DATA_DIR/orcl$DELTIME*.dmp

rm -rf $LOGS_DIR/orcl$DELTIME*.log

echo "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 –e

插入:59 23 * * * /home/oracle/dbbak/shell/dbbak.sh

表示每天的23点59分执行脚本

重启crond:

service crond restart

6、导入dmp文件

导入前需删除相应用户下的所有表,避免导入后表数据出现问题:

sqlplus user/pwd // 用户名密码登录数据库

SQL> SELECT 'drop table ' || table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;

然后执行查询出来的结果

执行此行,避免表字段注释乱码 :

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8;

导入数据:

imp DISPLAY/DISPLAY file=/home/oracle/dbbak/data/orcl20191121113703.dmp fromuser=DISPLAY touser=DISPLAY ignore=y;

// ignore=y 忽略错误,继续执行

总结

以上所述是小编给大家介绍的Linux下Oracle设置定时任务备份数据库,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

oracle定时任务可以备份么,Linux下Oracle设置定时任务备份数据库的教程相关推荐

  1. linux设置定时备份任务,Linux下Oracle设置定时任务备份数据库的教程

    1.查看数据库的字符集 数据库的字符集必须和linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...

  2. oracle双机切换 无法挂载,Linux下Oracle RAC一个节点宕机导致共享存储无法挂载的故障排除...

    环境:两台HP ML570 Linux AS4.5 Oracle 10g两台Server做了Oracle的RAC,通过SAN Switch连接到HP MSA1000故障现象:因为其中一个Ora 环境: ...

  3. linux oracle 创建表空间2016,Linux下Oracle表空间及用户创建

    记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@i ...

  4. oracle监听系统账号,linux 下 Oracle 监控sysdba用户登陆

    在unix平台的Oracle数据库产品中,每次当用户以sysdba权限登陆数据库时,系统就自动创建一个名为ora_.aud的文件,该文件默认在$ORACLE_HOME/rdbms/audit目录下.该 ...

  5. linux查分自动备份tar,linux 下tar的增量备份

    #执行完整备份tar -g snapshot -zcf backup_full.tar.gz test #执行第一次的增量备份 (注意 tarball 档名) tar -g snapshot -zcf ...

  6. 基于Linux下 Oracle 备份策略(RMAN)

    基于Linux下 Oracle 备份策略(RMAN) --********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --**** ...

  7. 基于Linux下 Oracle 备份策略(RMAN)---转自沙弥的世界

    --********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --******************************* ...

  8. linux下oracle中文乱码问题的解决

    linux下oracle数据库很常见的一个问题就是中文显示乱码.这样问题出现有多种可能,可能是linux系统本身未能设置得当,导致不支持中文输入与显示,另一种可能就是oracle本身的问题.一般为了避 ...

  9. linux创建数据库Oracle用户,linux下ORACLE数据库中创建新用户

     http://www.cnblogs.com/cloudwalf/archive/2008/09/04/1284033.html http://www.aiisen.com/oracle-lin ...

最新文章

  1. 如何用java使用POI读取excel文件,创建excel文件,实现批量导出和导入
  2. 算力网络 — 东数西算与算力网络
  3. expo开发React Native快捷键记录
  4. C#会重蹈覆辙吗?系列之2:反射及元数据的性能问题
  5. Android JNI 和 NDK
  6. 现代软件工程 作业 结对编程 模板
  7. python中lastch_python复习笔记
  8. sonar扫的是class还是Java_如何在同一个项目中为java和javascript配置Sonarqube扫描程序...
  9. int 占一个机器字长
  10. 计算机教育考试多少分及格,全国职称计算机考试多少分及格?
  11. lesson 040 —— 面向对象简介
  12. jeecg框架表格合计解决方案
  13. 甘超波:NLP潜意识和意识
  14. PC改变文档显示颜色,保护眼睛,缓解眼疲劳
  15. 前端高效开发必备的 js 库
  16. 这些职场道理不懂,你注定一辈子穷打工
  17. React最佳实践系列 —— Dva快速入门
  18. 推荐一款开源跨平台 [业务大屏,数据报表] 快速开发平台
  19. 2014游泳记录 01
  20. java二面_快手Java面试题分享,一二面(面经面试题附部分答案)

热门文章

  1. 卡尔曼滤波、粒子滤波【通俗解释】
  2. 【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同
  3. NFS mount failed, reason given by server: Permission denied ---nfs挂载失败
  4. 最优化——线性规划总结1(线性规划标准型,规范型,顶点)
  5. C/C++之常用关键字
  6. Oracle 原理: 集合数组,集合属性,is table of 用法,bulk collect into,IS RECORD用法
  7. 查询性能优化(使用 Explain 进行分析、优化数据访问、重构查询方式)、存储引擎(InnoDB/MyISAM)
  8. micropython实现多任务_python多任务处理
  9. python爬虫爬取网页图片_Python爬虫实现抓取网页图片
  10. 怎样设置左右两个区域_消防水炮设置区域高于22米效果怎样