Linux下oracle定时备份
1. 设置数据库空表可导出(oracel11g)
用PL/SQL登录数据库(或者其他工具)
执行:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
然后执行查询出来的语句;
2. 查看数据库的字符集
数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码。
以下连个sql语句都可以查到:
select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET';
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
查询结果为:NLS_CHARACTERSET ZHS16GBK
3. 用oracle用户登录oracle服务器,创建相关的目录
创建备份数据的目录 mkdir -p /home/oracle/dbbak/data
创建备份脚本目录 mkdir -p /home/oracle/dbbak/shell
创建导出数据日志目录 mkdir /home/oracle/dbbak/log
4. 在脚本目录下创建脚本文件
vi /home/oracle/dbbak/shell/dbbak.sh
复制以下脚本
#!/bin/sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=investtest
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 "15 days ago" +%Y%m%d`
export BAKUPTIME=`date +%Y%m%d%H%M%S`
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
mkdir -p $DATA_DIR
mkdir -p $LOGS_DIR
echo "Starting bakup..."
echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"
exp invest_test2/gkjr123@investtest file=$DATA_DIR/investtest$BAKUPTIME.dmp log=$LOGS_DIR/investtest$BAKUPTIME.log
echo "Delete the file bakup before 15 days..."
rm -rf $DATA_DIR/investtest$DELTIME*.dmp
rm -rf $LOGS_DIR/investtest$DELTIME*.log
echo "Delete the file bakup successfully. "
echo "Bakup completed."
根据自己的需要修改相关内容:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(注意上面查出来的)
export DELTIME=`date -d "15 days ago" +%Y%m%d`,配置保留数据的时间,这里是保留15天,根据自己需要和服务器的存储空间修改;
exp invest_test2/gkjr123@investtest file=$DATA_DIR/investtest$BAKUPTIME.dmp log=$LOGS_DIR/investtest$BAKUPTIME.log,这是oracle数据导出语句,全表导出,可以根绝自己的需要去修改。
5. 修改脚本文件的执行权限
chmod 777 dbbak.sh
测试是否可以执行:./ dbbak.sh
Export terminated successfully without warnings.表示导出没有问题,如果有问题,解决
6. 添加定时任务
在oracle用户下
crontab –e
插入:59 23 * * * /home/oracle/dbbak/shell/dbbak.sh
表示每天的23点59分执行脚本
注:时间自行设置,设置规则网上自行搜索
7.重启crontab
service crond restart
从此每天的每天的23点59分系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下!
Linux下oracle定时备份的更多相关文章
- linux下mysql定时备份数据库
linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈 一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...
- linux下mongodb定时备份指定的集合
目标:把一台linux机上mongodb的数据定时备份到另一台机上: 过程: 一开始打算使用mongoexport和mongoimport,但是总是会报“\x00”字符串不能识别的问题,后来就改成了m ...
- Linux下mysql定时备份及恢复
备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh 2.备份输出路径: /root/backu ...
- linux下mysql定时备份
1. 在服务器上建立备份文件的存放文件夹 sudo mkdir /usr/local/dbbackup 2. 编写备份脚本 vi dbbackup.sh 在里面编写如下内容 mysqldump -ur ...
- linux下mysql定时备份,数据保存周期一周
以下脚本来自网络,版权归原作者所有(推荐放在夜间自动备份,用cron制定计划任务) crontab -e 0 3 * * * /var/erp/data/mysql_backup.sh #!/bin/ ...
- ORACLE定时备份方案
ORACLE定时备份方案 采用ORACLE的EXP工具,实现ORACLE的备份:采用LINUX的服务crond实现定时功能. 1 编辑SH,实现备份功能 #vi oracle_backup.sh,输入 ...
- Linux下MySQL的备份与还原
Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...
- 解决Linux下Oracle中文乱码的一些心得体会 ,转自
以下转自 http://blog.itpub.net/29151695/viewspace-1173238/ 最近在linux上安装完oracle 10gR2后,又遇到了字符集乱码的问题,之前在网上找 ...
- oracle定时备份与删除N天前备份文件
oracle定时备份数据库,以及删除7天前备份的数据. 1.创建存放备份目录: mkdir /home/oracle/data_backup mkdir /home/oracle/log_backup ...
随机推荐
- 009:JSON
一. MySQL JSON类型 1. JSON介绍 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级 ...
- ftp之心脏病
FTP基础 FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常21端口是命令端口,20端口是数据端口.当 ...
- css响应式设计
响应式设计是指在不同分辨率的设备中,网页布局可以自适应的调整.这种弹性化的布局使网站在不同设备中的布局都比较合理,可以为不同终端的用户提供更加舒适的界面和更好的用户体验,其根本理念是使原本 PC 上的 ...
- 跨境B2B电商
主要处理问题:解决整个支付和流通环节,各国双方的供应商和销售商只关注下单支付后就可以拿到货物,中间环节由平台处理,支付和流通环节消费越少速度越快服务越好. 主体业务 1.合同处理. 2.货币支付,互换 ...
- Linux系统级别能够打开的文件句柄的数file-max命令
简单的说, max-file表示系统级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量. man 5 proc, 找到file-max的解释:file-max中 ...
- linux如何配置双机SSH信任然后双向免密码登陆
linux如何配置双机SSH信任然后双向免密码登陆 www.111cn.net 更新:2015-01-14 编辑:edit02_lz 来源:转载 有时为了方便管理多台Linux主机,想实现双机之间信任 ...
- wkhtmktopdf
1: sudo apt-get install wkhtmltopdf 2: sudo apt-get xvfb 3: 切换到root用户: echo 'xvfb-run --server-a ...
- django之jquery完成ajax
使用Ajax 使用视图通过上下文向模板中传递数据,需要先加载完成模板的静态页面,再执行模型代码,生成最张的html,返回给浏览器,这个过程将页面与数据集成到了一起,扩展性差 改进方案:通过ajax的方 ...
- C# Graphics中有关绘图质量的几个Mode
一.CompositingMode 获取一个值,该值指定如何将合成图像绘制到此 Graphics.复合模式确定从源映像的像素是覆盖(SourceCopy)还是组合(SourceOver, 需要使用半透 ...
- mysqldump test
CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VAR ...