scp+oracle备份

1 篇文章 0 订阅
1 篇文章 0 订阅

定时备份oracle数据库文件并备份至远程服务器
1、脚本
cat jira.sh
#/bin/sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product
export ORACLE_SID=orcl
export LD_LIBRARY_PATH= O R A C L E H O M E / l i b : / l i b : / u s r / l i b e x p o r t P A T H = ORACLE_HOME/lib:/lib:/usr/lib export PATH= ORACLEHOME/lib:/lib:/usr/libexportPATH=PATH: H O M E / b i n : HOME/bin: HOME/bin:ORACLE_HOME/bin
export export NLS_LANG=AMERICAN_AMERICA.UTF8
date=date +%Y%m%d-%H%M%S
bakdata= d a t e . d m p b a k l o g = date.dmp baklog= date.dmpbaklog=date.log
ordatabak= d a t e . z i p e x p j i r a / b o s s j i r a f i l e = / h o m e / b a c k u p / j i r a / date.zip exp jira/bossjira file=/home/backup/jira/ date.zipexpjira/bossjirafile=/home/backup/jira/bakdata log=/home/backup/jira/$baklog
cd /home/backup/jira
zip -m $ordatabak $baklog b a k d a t a s c p − P 24 / h o m e / b a c k u p / j i r a / bakdata scp -P24 /home/backup/jira/ bakdatascpP24/home/backup/jira/ordatabak root@192.168.1.115:/home/backup/jira
find /home/backup/jira/ -mtime +7 -name “*.zip” -exec rm -rf {} ;

scp这里如果被远程服务器端口号是22,则直接
scp /home/backup/jira/$ordatabak root@192.168.1.115:/home/backup/jira
如果不是22才需要-P指定端口号。
2、导出空表
此方法只对当前用户有效,每个用户要想全部导出都需要做此操作。

连接对应数据库,执行下面语句后即可全部导出所有表:

DECLARE
BEGIN
FOR V_ST IN (SELECT U.TABLE_NAME FROM USER_TABLES U where u.NUM_ROWS=0 and u.tablespace_name is not null)
LOOP
EXECUTE IMMEDIATE ‘ALTER TABLE ‘||V_ST.TABLE_NAME||’ ALLOCATE EXTENT’;
END LOOP;
END;/
-注意:如果在SQL windows执行,不需要加“/”,如果在command window执行则需要加“/ "
3、远程ssh无密码
ssh-keygen
在这里插入图片描述
中间让输入密码的地方直接回车,不要输入密码。
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.115
将密钥传给另外一台主机
在这里插入图片描述
成功后ssh连接尝试
ssh root@192.168.1.115
在这里插入图片描述
成功登入。
4、自动任务
自动化任务
yum install vixie-cron
yum install crontabs
service crond start
service crond status
/etc/rc.d/init.d/crond restart
crontab –e
30 14 * * * /bin/sh /opt/dbback.sh
列出某个用户cron服务的详细内容
crontab -l
删除没个用户的cron服务
crontab -r
编辑某个用户的cron服务
crontab -e
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
每5分钟运行数据同步的脚本
*/5 * * * * /home/blue/do/rsyncfile.sh
5、导入数据(cmd执行)
unzip 20171121-150252.zip

exp jira/1@192.168.1.218:1521/ORCL rows=y file=d:\u01\0821.dmp
imp jira/bossjira@192.168.4.193:1521/jira file=‘d:\u01\0821.dmp’ FULL=Y ignore=y注意:原来有表的话不会覆盖,必须删掉后再导入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值