数据库还原备份傻瓜示脚本

#!/bin/bash

#初始数据库文件放在/soft目录下,备份数据库文件放在/tzxdb/backup/目录下

sif-stop
echo "正在停止应用,请等待1分钟"
sleep 60
dbname=$(su - db2inst1 -c "db2 list db directory"|sed -n "10p"|awk ‘{print $5}‘|awk -F "/" ‘{print $3}‘)

#获取数据库名

read -p "是否要备份现有数据库(yes/no):" backup
b=yes
if [ "$backup" = "$b" ]
then
aa=backup
bb=$(ls /tzxdb |grep backup)
if [ "$aa" = "$bb" ]
then
echo "正在备份数据库到/tzxdb/backup/"
else
echo "正在备份数据库到/tzxdb/backup/"

mkdir /tzxdb/backup
chmod 777 /tzxdb/backup
fi
#判断备份数据目录是否存在,如不存在则新建一个并附与权限。
su - db2inst1 -c "db2 force application all"
su - db2inst1 -c "db2 force application all"
su - db2inst1 -c "db2stop"
su - db2inst1 -c "db2start"
#重启数据库
su - db2inst1 -c "db2 backup db $dbname to /tzxdb/backup"
echo "备份完成,/tzxdb/backup/"
ls /tzxdb/backup/
read -p "请确定要恢复数据库到初始状态(yes/no):" aaa
bbb=yes
if [ "$aaa" = "$bbb" ]
then
su - db2inst1 -c "db2 force application all"
sleep 2
su - db2inst1 -c "db2 force application all"
su - db2inst1 -c "db2stop"
echo "数据库停止"
su - db2inst1 -c "db2start"
echo "数据库启动"
su - db2inst1 -c "db2 drop db $dbname"
echo "数据库删除"
cd /tmp
echo "数据库还原中......"
nohup su - db2inst1 -c "/soft/dbinstall" &
#在后台执行数据库还原脚本(脚本见下)
else
echo "已退出数据库还原"
fi

else

read -p "请确定要恢复数据库到初始状态(yes/no):" aaa

bbb=yes
if [ "$aaa" = "$bbb" ]

then
su - db2inst1 -c "db2 force application all"
sleep 2

su - db2inst1 -c "db2 force application all"

su - db2inst1 -c "db2stop"
echo "数据库停止"
su - db2inst1 -c "db2start"
echo "数据库启动"
su - db2inst1 -c "db2 drop db $dbname"
echo "数据库删除"
cd /tmp
echo "数据库恢复中......"
nohup su - db2inst1 -c "/soft/dbinstall" & 
#在后台执行数据库还原脚本(脚本见下)
else
echo "已退出数据库还原"
fi

fi

#数据库还原脚本
#!/bin/bash
namedb1=testdb
dbname=$( ls /soft |grep db2inst1|awk -F "." ‘{print $1}‘ )
dbtime=$( ls /soft |grep db2inst1|awk -F "." ‘{print $6}‘ )
db2 restore db $dbname from /soft taken at $dbtime on /tzxdb/$namedb1 dbpath on /tzxdb/$namedb1 into $namedb1
时间: 2024-11-14 13:38:53

数据库还原备份傻瓜示脚本的相关文章

mssql2008数据库还原备份教程

一.数据库的还原 很多程序需要搭配mssql数据库,今天我们一起来学习如何对数据库的还原备份的操作.以mssql 2008数据库还原备份bak文件为例: 我们登陆进入MsSql 2008后,右键数据库,选择还原数据库 进入还原界面,如上图 1.选择需要还原的数据库,您要还原的目标数据库可以是还原到您已经有的数据库上也可以新建一个名字,还原成功后自然会出现以您新建的数据库名称的数据. 2.源设备就是您即将要还原的数据库的文件. 3.选择用于还原的备份集,要勾选.否则确认的时候会提示您”必须选择还原

【db2】 db2数据库还原,备份

将整个文件夹(JMAM_DQ.0)放到D:\db_bak\开始-运行,输入db2cmd:1.创建数据库db2 create db dbname on d: (数据库在D盘,这时系统会自动新增SQL0000*目录,结果目录如:D:\DB2\NODE0000\SQL0000*\....;如果远程连接数据库创建,则在执行create 前先执行 db2 attach to servernode user ...using...) 2.还原数据库(重新指向)db2 restore db JMAM_DQ f

sqlserver2008数据库自动备份的sql脚本及使用bat命令执行脚本

-----sql脚本 declare @fileName varchar(255) ,--定义备份文件名变量         @dbname varchar(255)--定义备份数据库名变量declare mycursor cursor fast_forward for select name from master..sysDatabases order by name --定义一个游标对象 open mycursor --打开游标set @dbname='pysf'set @fileName

数据库还原备份

MicrosoftSqlServer如何还原数据库.bak备份文件 听语音 | 浏览:6186 | 更新:2014-11-27 21:15 | 标签:备份 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师傅内存大升级,从此电脑再无卡顿 百度经验:jingyan.baidu.com .bak文件是Microsoft Sql Server的一种备份数据的扩展名. 该如何还原数据库.bak备份文件到Sql Server里呢? 步骤阅读 百度经验:jingyan.baidu.com 工具/原料

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)

在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来备份和还原数据库,但是这种操作实质是在服务器上进行的,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,这个原则不会变,只是使用了客户端的一个工具来操作这个过程而已. 1.1.备份数据库 备份数据库有两种方式: 第一种是在企业管理器中,利用工具对数据库进行备份,这种备份的文件只会有一个,即以

sqlserver多文件组数据库的备份和还原实战

数据库文件过大时就要进行数据分区,就是讲数据库拆分到多个文件组中.已方便数据文件管理,提高数据库的读取效能,多文件组如何进行数据库的备份和还原呢,今天主要做多文件组数据库的备份和还原实验. 第一步 创建数据库qhw_test 数据库包括一个userinfo 数据表,userinfo数据表根据id做分区 包括一个主分区 ,五个次分区,主分区包括qhw_test,data2两个文件, 数据表脚本如下 CREATE TABLE [dbo].[userinfo](    [Id] [int] IDENT

C#中MySQL数据库的备份 还原 初始化

// 执行创建数据库操作 this.GetExecute(G_Con, "create database if not exists NEWDB"); this.sqlAddress = " -h " + IP + " -u" + User + " -p" + Password + " NEWDB "; // 数据库的备份 private void btn_Dump_Click(object sender,

项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员” .

在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两天用户测试我们做的评教系统小软件,有点问题我们过去看了看,想将他们的测试数据备份一下,以便我们修改软件测试使用. 我是这样备份的,数据库备份默认有一个路径:C\...,而我又添加了一个新路径,没将默认路径删除,而是选中新路径,我就理所当然的认为数据库中的数据备份到我新加的路径下了. 今天还原数据库时