备份和恢复数据库的命令

备份和恢复数据库的命令,第1张

MySQL 命令行备份

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

(SHOW VARIABLES LIKE "%char%"; 查看数据库安装路径)

Linux下命令:

[root@linuxsir01 root]# mysqldump -u root -p oa_int > /home/oa_20160627sql

Windows下命令:

C:\Users\Administrator>mysqldump -u 密码 -p 数据库名 > d:/oa_int_20160708sql

MySQL 命令行恢复:

Linux下命令:

[root@linuxsir01 root]# mysql -u root -p oa_int1 < /home/oa_20160627sql

Enter password:在这里输入数据库的密码

Windows下命令:

C:\Users\Administrator> mysql -u root -p 数据库名(要先创建好数据库) < d:/oa_int_20160708sql

备份数据库

1、打开sql企业管理器,在控制台根目录中依次点开microsoft

sql

server

2、sql

server组-->双击打开你的服务器-->双击打开数据库目录

3、选择你的数据库名称(如财务数据库cwdata)-->然后点上面菜单中的工具-->选择备份数据库

4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份。

通常都在D盘,具体寻找 *** 作如下:

一、首先点击电脑桌面左下角的设置图标,如下图所示:

二、然后点击更新和安全的图标,如下图所示:

三、接着点击右侧的转到备份和还原,如下图所示:

四、点击设置备份,如下图所示:

五、选择要保存备份的位置后点击下一步按钮,如下图所示:

六、默认选择让Windows选择(推荐)点击下一步按钮,如下图所示:

七、最后等待整个备份 *** 作完成即可,如下图所示:

一手动备份

打开企业管理器

-->

右键点击需要备份的数据库

-->

所有任务

-->

备份数据库

二、查询分析器:

use

master

backup

database

数据库

to

disk='c:\testbak'

with

noinit

//

c:\testbak

路径及名称

SQL2000数据库的备份概念

SQL SERVER 2000有四种类型是:数据库、事务日志、差异、文件和文件组

数据库备份是创建完事数据库的复本。它并非将所有的页都复制到备份集,而只将实际包含数据的页复制到备份集。数据页和事务日志页均复制到备份集。

数据库备份用于重新创建数据库,使其恢复到BACKUP语句完成时的状态。如果数据库只存在数据库备份,那么数据库只能恢复到服务器或数据库发生故障前最后一次数据库备份时的状态。

事务日志备份仅制作日志文件的复本。日志文件备份本身不能用于还原数据库。日志文件用于在数据库还原后将数据库恢复到原始故障点。

例如,某站点在星期天晚上执行数据库备份,而在其它每个晚上执行日志备份。如果数据库的某个数据磁盘在星期二2:30丢失,则该站点可以:

1备份当前事务日志

2还原从星期天晚上开始的数据库备份

3还原从星期一晚上开始的日志备份,以将数据库前滚。

4还原故障之后的日志备份。这将使数据库前滚到故障发生的那一刻。

事务日志恢复需要从数据库备份的那一刻到磁盘丢失那一刻之间所进行的一边串不间断的事务日志备份。

差异备份只追寻数据库中自上一次数据库备份之后修改过的所有页的复本。差异日志主要用于使用频繁的系统,一旦这类系统中的数据库发生故障,必须尽快使其重新联机。差异备份比完事数据库备份小,因此对正在运行的系统影响较小。

例如,某个站点在星期天晚上执行完事数据库备份。在白天每隔4小时制作一个事务日志备份集,并用当天的备份重写头一天的备份。每晚则进行差异备份。如果数据库的某个数据磁盘在星期四上午9:12出现故障,则该站点可以:

1备份当前事务日志。

2还原从星期天晚上开始的数据库备份。

3还原从星期三晚上开始的差异备份,将数据库前滚到这一时刻。

4还原从早上4点到8点的事务日志备份,以将数据库前滚到早上8点。

5还原故障之后的日志备份,这将使数据库前滚到故障发生的那一刻。

SQL2000支持备份或还原数据库中的个别文件或文件组。这是一种相对较完善的备份和还原过程,通常用在具有较高可用性要求的超大型数据库中。如果可用的备份时间不足以支持完事数据库备份,则可以在不同的时间备份数据库的子集。

例如,某站点需要花三小时备份数据库,并且每天只能用两个小时执行备份。该站点可在一个晚上备份一半文件或文件级,并在第二个晚上备份另一半。如果包含数据库文件或文件组的磁盘出现故障,那么该站点可以只还原丢失的文件或文件组。

该站点还必须进行事务日志备份,并且在备份文件或文件组之后必须还原所胡事务日志备份。还可以从完事数据库备份集中还原文件和文件组。这将回忆恢复速度,因为在第一步只还原已损坏的文件或文件组,而不是整个数据库。

摘要 本文探讨了基于 IBM DB 的各种数据库备份与恢复策略 并附有完整的实验步骤 本文试图通过具体的实验使读者领会各种数据库备份方式的优劣和异同 并掌握 IBM DB 的数据库备份与恢复技术

若无特殊说明 以下数据库备份与恢复的试验环境均为 Windows XP + IBM DB V 企业版 同样的语句也在 AIX + IBM DB V 上验证通过

一 数据库备份的重要性

在信息日趋发达的时代 数据显得尤其重要 如何保障数据的完整性和安全性呢?如何避免数据灾难事故的发生呢?数据库备份作为数据安全和完整最有利保障手段的重要性就不言而喻了

数据库备份的重要性主要体现在

提高系统的高可用性和灾难可恢复性 (在数据库系统崩溃的时候 没有数据库备份怎么办!?)

使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案 (总不能让客户重新填报数据吧!?)

没有数据就没有一切 数据库备份就是一种防范灾难于未然的强力手段 (没有了数据 应用再花哨也是镜中花水中月)

对于DBA来说 最首要也是最重要的任务就是数据库备份

二 DB 数据库备份的方式与分类

按照数据库备份对数据库的使用影响来划分

A 联机备份(也称热备份或在线备份)

B 脱机备份(也称冷备份或离线备份)

说明 联机备份和脱机备份最大的不同在于 联机备份数据库时 数据库仍然可以供用户使用 而脱机备份数据库则不行 脱机备份数据库时 必须断开所有与数据库有连接的应用后才能进行

按照数据库的数据备份范围来划分

A 完全备份

B 增量备份

说明 完全备份数据库是指备份数据库中的所有数据 而增量备份只是备份数据库中的部分数据 至于增量备份到底备份哪些数据 稍候会提到

增量备份的两种实现方式

A 增量备份(也称累计备份)

B delta备份

说明 这两种备份方式的严格定义如下

增量备份是自最近成功的完全备份以来所有更改的数据的备份

delta 备份则是上一次成功的完全 增量或 delta 备份以后所做更改的数据的备份

这里请读者们仔细的看上面两个增量备份方式的定义 注意这两种备份方式的细微差别 这里我们举一个例子来说明

假设有一个数据库 它每天都有部分数据在发生变化 我们星期一晚上对该数据库做了一次完全备份 星期二晚上对该数据库做了一次增量备份A(注 这里的增量备份是指累计备份 下同) 星期三晚上又做了一次增量备份B 星期四则做了一次delta 备份

那么 我们可以得出以下结论

星期一的数据库备份包含了所有的数据

星期二没有变动过的数据没有发生备份 在星期二变动过的数据会备份 并且备份到增量备份A中

星期三的备份中含有自星期一完全备份以来发生过变动的所有数据 包含了星期二和星期三发生过变动的数据 显然 增量备份A 被 增量备份 B 包含

星期四做的是delta备份 注意 它会也只会备份自星期三备份之后变动过的数据

三 DB 备份文件的结构介绍

在不同的 *** 作系统下 DB 的备份文件的结构是不同的 这里概要地介绍一下

Windows *** 作系统下的数据库备份文件结构

说明 Windows *** 作系统下的数据库备份文件是嵌套在一系列文件夹之下的特殊结构 上例中 D:\DB _Train 是指备份目录 TESTDB 是指数据库名称为 TESTDB DB 是指实例名称 NODE 是指节点名称 CATN 是指编目名称 是指备份发生的年月日 形如YYYYMMDD 是指备份发生的时间 精确到秒 也就是指 点 分 秒 形如HHMMSS 最后的 则是备份文件的一个序列号

Unix *** 作系统下的数据库备份文件结构

说明 Unix *** 作系统下的数据库备份文件就是一个文件 上例中 HTDC 是指数据库名称 db inst 是指实例名称 NODE 是指节点名称 CATN 是指编目名称 是指备份发生的具体时间 形如YYYYMMDDHHMMSS 同样地 它的时间精确到秒 也就是指 年 月 日 点 分 秒发生备份 最后的 则是备份文件的一个序列号

四 DB 数据库备份实验(附完整命令脚本清单)

DB 数据库实验准备工作

( ) Step 创建测试数据库 TestDB

脚本清单          CREATE DATABASE TestDB        ON D:         USING CODESET GBK TERRITORY CN        WITH Pjj s Test DB ;        }

( ) Step 创建数据库管理表空间 Data_SP(注意路径 如果没有请创建)

脚本清单          CREATE REGULAR TABLESPACE Data_SP        PAGESIZE K        MANAGED BY DATABASE        USING ( FILE D:\DB \Container\TestDB\UserData\UserData )        BUFFERPOOL IBMDEFAULTBP;

说明 上面的脚本创建了一个名为 Data_SP 的数据库管理表空间 该表空间使用的缓冲池为 IBMDEFAULTBP 存储路径为 D:\DB \Container\TestDB\UserData\ 存储文件名为 UserData 大小为 K = M 页大小为 K

( ) Step 创建测试表 TestTable 并插入测试数据

脚本清单

CREATE TABLE TestTable        (        ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH INCREMENT BY NO CACHE )         Message VARCHAR( )         PRIMARY KEY(ID)        )IN Data_SP;

插入测试数据 INSERT INTO TestTable(Message) VALUES( 测试表建立成功 );

说明 建立测试表并插入数据是为了稍候验证数据库恢复的时候用的

( ) Step 创建测试表 TestTable 并插入测试数据

脚本清单          CREATE TABLE TestTable        (        ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH INCREMENT BY NO CACHE )         Message VARCHAR( )         PRIMARY KEY(ID)        )IN Data_SP;

插入测试数据          INSERT INTO TestTable(Message)        VALUES( 测试表建立成功 );

DB 数据库脱机备份与恢复实验

脚本清单

Step 完全备份数据库(脱机 备份时间戳记为 )

db backup db TestDB to D:\DB _Train

Step 模拟灾难 强制删除数据库

db drop db TestDB

Step 根据该数据库完全备份还原数据库

db restore db TestDB from D:\DB _Train taken at

DB 数据库增量备份与恢复实验

脚本清单

数据库增量备份以及还原实验

修改数据库参数 TrackMod 使之支持数据库进行增量备份

db update db cfg using TrackMod YES

更改参数后必须完全离线备份数据库(脱机 备份时间戳记为 )

db backup db TestDB to D:\DB _Train

插入测试数据

INSERT INTO TestTable(Message)        VALUES( 开始增量数据库备份测试 );

开始增量备份(脱机 备份时间戳记为 )

db backup db TestDB incremental to D:\DB _Train

删除数据库 模拟数据灾难

db drop db TestDB

首先还原至完全离线备份状态

db restore db TestDB from D:\DB _Train taken at

还原至增量离线备份状态

db restore db TestDB incremental automatic from D:\DB _Train taken at

注意 上述语句中 有一个 automatic 它表示无论有多少个增量备份 系统将全自动检索恢复数据库的顺序并自动恢复数据库 如果没有 automatic 则需要多次手动恢复数据库 很麻烦而且容易出错

Step 根据该数据库完全备份还原数据库

db restore db TestDB from D:\DB _Train taken at

还原数据库后查询测试表数据检验数据是否恢复成功

DB 数据库联机机备份与恢复实验

说明 联机备份数据库可以使数据库在备份的同时仍然保持在可用状态 要让数据库支持联机备份 必须更改数据库的日志归档方式 在脱机备份模式下 数据库采用循环日志方式记录数据库日志 在联机备份模式下 数据库则采用归档日志的方式备份数据库日志 另外 对于联机备份的数据库来说 活动日志和归档日志就很重要了 一定要经常备份 保存

脚本清单

数据库联机备份以及还原实验

连接至数据库并插入测试数据

db connect to TestDB

插入测试数据

INSERT INTO TestTable(Message)        VALUES( 开始联机数据库备份测试 完全备份 );

修改数据库参数 使之支持在线联机备份

db update db cfg for TestDB using logretain on trackmod on

执行增量 在线备份之前必须执行离线全备份一次 否则数据库将处于备份暂挂的不可用状态

(联机完全备份 时间戳记 )

db backup db TestDB

连接至数据库并插入测试数据

db connect to TestDB

插入测试数据

INSERT INTO TestTable(Message)        VALUES( 开始联机数据库备份测试 增量备份 );

执行联机备份 备份同时再打开一个会话 模拟应用在线(联机增量备份 时间戳记 )

db backup db TestDB online incremental to D:\DB _Train

模拟灾难 删除数据库!

重要 此前一定要将活动日志文件备份至另一个路径 保存好 本例中 活动日志保存在 C:\db admin 下

db drop db TestDB

根据在线完全备份恢复数据库

db restore db TestDB from D:\DB _Train taken at

根据在线增量备份恢复数据库

db restore db TestDB incremental automatic from D:\DB _Train taken at

恢复后的数据库处于前滚暂挂的不可用状态

db connect to TestDB

前滚数据库 并指定归档日志位置 重要!

db ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND PLETE OVERFLOW LOG PATH ( C:\db admin )

五 综述

对于数据库管理人员或者维护人员来说 怎么强调数据库备份的重要性都不为过

希望本文能抛砖引玉 能让大家对 IBM DB UDB 的数据库备份与恢复有一些深入的认识 也希望大家能在本机上按照本文的脚本认真的做一次实验 这样 你的认识会更加深刻

lishixinzhi/Article/program/Oracle/201311/18590

以上就是关于备份和恢复数据库的命令全部的内容,包括:备份和恢复数据库的命令、如何备份和还原数据库、备份与恢复在哪里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9316372.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存