当前位置:文档之家› mysql备份恢复与容灾文档---验证详细过程

mysql备份恢复与容灾文档---验证详细过程

mysql备份恢复与容灾文档---验证详细过程
mysql备份恢复与容灾文档---验证详细过程

一、备份与恢复验证

这部分测试由于环境因素,在两个B200的物理节点上创建的7节点ndb集群下做的测试,其中每个物理节点启动两个数据节点,一个mysqld节点,一个管理节点。数据量受内存现在只做了几十个g的备份、恢复操作。

下面描述详细验证过程。

1 ndb物理备份测试恢复drop的表

1.1准备环境

主备份窗口:

[mysql@sicloud-b200-3 my_cluster]$ ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 4 node(s)

id=21 @192.168.180.202 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)

id=22 @192.168.180.203 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 1)

id=23 @192.168.180.209 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 2)

id=24 @192.168.180.210 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 3)

[ndb_mgmd(MGM)] 1 node(s)

id=11 @192.168.180.202 (mysql-5.5.29 ndb-7.2.10)

[mysqld(API)] 6 node(s)

id=31 @192.168.180.202 (mysql-5.5.29 ndb-7.2.10)

id=32 (not connected, accepting connect from 192.168.180.203)

id=33 (not connected, accepting connect from 192.168.180.209)

id=34 (not connected, accepting connect from 192.168.180.210)

id=35 (not connected, accepting connect from any host)

id=36 (not connected, accepting connect from any host)

进入单用户方式:

db_mgm> ENTER SINGLE USER MODE 31

Single user mode entered

Access is granted for API node 31 only.

ndb_mgm> start backup

Waiting for completed, this may take several minutes

Node 21: Backup 1 started from node 11

ndb_mgm> Node 21: Backup 1 started from node 11 completed StartGCP: 257415 StopGCP: 257443

#Records: 8102118 #LogRecords: 0

Data: 2365678260 bytes Log: 0 bytes

耗时45秒

退出单用户方式:

Mgm》exit single user mode

查看各节点备份文件:

[mysql@sicloud-b200-3 BACKUP-1]$ pwd

/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1

[mysql@sicloud-b200-3 BACKUP-1]$ ls -l

total 595672

-rw-rw-r--. 1 mysql mysql 609828624 Apr 22 09:13 BACKUP-1-0.21.Data -rw-rw-r--. 1 mysql mysql 126996 Apr 22 09:13 BACKUP-1.21.ctl

-rw-rw-r--. 1 mysql mysql 52 Apr 22 09:13 BACKUP-1.21.log

[mysql@sicloud-b200-4 BACKUP-1]$ pwd

/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1

[mysql@sicloud-b200-4 BACKUP-1]$ ls -l

total 577448

-rw-rw-r--. 1 mysql mysql 591166636 Apr 22 09:13 BACKUP-1-0.22.Data -rw-rw-r--. 1 mysql mysql 126996 Apr 22 09:13 BACKUP-1.22.ctl

-rw-rw-r--. 1 mysql mysql 52 Apr 22 09:13 BACKUP-1.22.log

/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1

[mysql@sicloud-b200-1 BACKUP-1]$ ls -l

total 560444

-rw-rw-r--. 1 mysql mysql 573753576 Apr 22 09:13 BACKUP-1-0.23.Data -rw-rw-r--. 1 mysql mysql 126996 Apr 22 09:13 BACKUP-1.23.ctl

-rw-rw-r--. 1 mysql mysql 52 Apr 22 09:13 BACKUP-1.23.log

[mysql@sicloud-b200-2 BACKUP-1]$ pwd

/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1

[mysql@sicloud-b200-2 BACKUP-1]$ ls -l

total 577220

-rw-rw-r--. 1 mysql mysql 590933368 Apr 22 01:11 BACKUP-1-0.24.Data -rw-rw-r--. 1 mysql mysql 126996 Apr 22 01:11 BACKUP-1.24.ctl

-rw-rw-r--. 1 mysql mysql 52 Apr 22 01:11 BACKUP-1.24.log

登录数据库

mysql -h 192.168.180.202 -u root -proot123 -P3136

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| clu_db |

| mysql |

| ndbinfo |

| performance_schema |

| test |

+--------------------+

6 rows in set (0.00 sec)

mysql> use clu_db

Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

+------------------+

| Tables_in_clu_db |

+------------------+

| lf_t1 |

| lf_t2 |

| members1 |

| test_part |

+------------------+

4 rows in set (0.02 sec)

mysql> select count(*) from lf_t1;

+----------+

| count(*) |

+----------+

| 5999999 |

+----------+

1 row in set (0.01 sec)

mysql> show tables;

+------------------+

| Tables_in_clu_db |

+------------------+

| lf_t1 |

| lf_t2 |

| members1 |

| test_part |

+------------------+

4 rows in set (0.02 sec)

mysql> drop table lf_t2;

Query OK, 0 rows affected (0.54 sec)

mysql> show tables

-> ;

+------------------+

| Tables_in_clu_db |

+------------------+

| lf_t1 |

| members1 |

| test_part |

+------------------+

3 rows in set (0.00 sec)

1.2 执行恢复drop的表lf_t2

进入每个数据节点,执行恢复,因为数据存放在所有的数据节点上,所以需要到每个节点上执行ndb_restore命令,简单介绍restore命令的几个选项

-n 恢复的数据节点id

-b 使用的备份id

-r 备份数据的目录

登陆数据节点1,执行恢复命令,

[mysql@sicloud-b200-3 BACKUP-1]$ ndb_restore -n sicloud-b200-3 -b 21 -r /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Unknown suffix 's' used for variable 'nodeid' (value 'sicloud-b200-3') ndb_restore: Error while setting value 'sicloud-b200-3' to 'nodeid'

NDBT_ProgramExit: 2 - Wrong arguments

[mysql@sicloud-b200-3 BACKUP-1]$ ndb_restore -n 21 -b 1 -r

/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Nodeid = 21

Backup Id = 1

backup path = /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/ Opening file

'/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.21.ctl'

File size 126996 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.29 ndb-7.2.10 Stop GCP of Backup: 257442

Connected to ndb!!

Unable to find table: `lf_t2`

Restore: Failed to restore table: `clu_db/def/lf_t2` ... Exiting

NDBT_ProgramExit: 1 - Failed

由上说明这种方式恢复,是在有表的前提下,删除数据才能恢复。

尝试先用恢复表结构来恢复表数据。。。

[mysql@sicloud-b200-3 BACKUP-1]$ ndb_restore -n 21 -m -b 1 -r /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Nodeid = 21

Backup Id = 1

backup path = /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.21.ctl'

File size 126996 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.29 ndb-7.2.10

Stop GCP of Backup: 257442

Connected to ndb!!

Create table `mysql/def/ndb_db_backup` failed: 721: Schema object with given name already exists

Restore: Failed to restore table: `mysql/def/ndb_db_backup` ... Exiting

NDBT_ProgramExit: 1 – Failed

这样不行,它先从最基本的系统表开始。。。。,这样会报错。。。。

1.3 关闭数据库,重启管理和数据节点

mysql> show tables;

+------------------+

| Tables_in_clu_db |

+------------------+

| lf_t1 |

| members1 |

| test_part |

+------------------+

3 rows in set (0.03 sec)

mysql> desc members1

-> ;

+-----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-----------+-------------+------+-----+---------+-------+

| firstname | varchar(25) | NO | | NULL | |

| lastname | varchar(25) | NO | | NULL | |

| username | varchar(16) | NO | | NULL | |

| email | varchar(35) | YES | | NULL | |

| joined | date | NO | PRI | NULL | |

+-----------+-------------+------+-----+---------+-------+

5 rows in set (0.00 sec)

mysql> desc test_part

-> ;

+-----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-----------+-------------+------+-----+---------+-------+

| seq | int(11) | NO | PRI | NULL | |

| firstname | varchar(25) | NO | | NULL | |

+-----------+-------------+------+-----+---------+-------+

2 rows in set (0.00 sec)

关闭进程

mysqladmin -h 192.168.180.202 -u root -proot123 -P3136 shutdown

ndb_mgm> shutdown

Node 21: Cluster shutdown initiated

Node 22: Cluster shutdown initiated

Node 23: Cluster shutdown initiated

Node 24: Cluster shutdown initiated

Node 21: Node shutdown completed.

Node 24: Node shutdown completed.

Node 22: Node shutdown completed.

Node 23: Node shutdown completed.

5 NDB Cluster node(s) have shutdown.

Disconnecting to allow management server to shutdown.

重启系统,按照下列方式:

1、启动管理进程

ndb_mgmd -f /home/mysql/my_cluster/conf/config.ini --configdir=/home/mysql/my_cluster/conf/

2、启动数据节点,使用—initial参数

ndbd --initial -n -c 192.168.180.202:1186

2013-04-22 09:54:44 [ndbd] INFO -- Angel connected to '192.168.180.202:1186' 2013-04-22 09:54:44 [ndbd] INFO -- Angel allocated nodeid: 2

其它三个节点一样,都运行一遍

然后,ndb_mgm> all start

NDB Cluster is being started.

NDB Cluster is being started.

NDB Cluster is being started.

NDB Cluster is being started

1.4启动恢复

在管理节点所在的服务器,启动恢复:

[mysql@sicloud-b200-3 BACKUP-1]$ ndb_restore --restore-privilege-tables -n 21 -m-b 1 -r /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Nodeid = 21

Backup Id = 1

backup path = /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.21.ctl'

File size 126996 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.29 ndb-7.2.10

Stop GCP of Backup: 257442

Connected to ndb!!

Created hashmap: DEFAULT-HASHMAP-3840-6

Successfully restored table `mysql/def/ndb_db_backup`

Successfully restored table event REPL$mysql/ndb_db_backup

Successfully restored table `mysql/def/ndb_schema`

Successfully restored table event REPL$mysql/ndb_schema

Successfully restored table `mysql/def/ndb_apply_status`

Successfully restored table event REPL$mysql/ndb_apply_status

Successfully restored table `clu_db/def/test_part`

Successfully restored table event REPL$clu_db/test_part

Successfully restored table `mysql/def/ndb_tables_priv_backup`

Successfully restored table event REPL$mysql/ndb_tables_priv_backup

Successfully restored table `mysql/def/ndb_host_backup`

Successfully restored table event REPL$mysql/ndb_host_backup

Successfully restored table `mysql/def/ndb_user_backup`

Successfully restored table event REPL$mysql/ndb_user_backup

Successfully restored table `mysql/def/ndb_columns_priv_backup`

Successfully restored table event REPL$mysql/ndb_columns_priv_backup

Successfully restored table `clu_db/def/lf_t1`

Successfully restored table event REPL$clu_db/lf_t1

Successfully restored table `clu_db/def/lf_t2`

Successfully restored table event REPL$clu_db/lf_t2

Successfully restored table `clu_db/def/members1`

Successfully restored table event REPL$clu_db/members1

Successfully restored table `mysql/def/ndb_procs_priv_backup`

Successfully restored table event REPL$mysql/ndb_procs_priv_backup

Successfully restored table `mysql/def/ndb_proxies_priv_backup`

Successfully restored table event REPL$mysql/ndb_proxies_priv_backup

Successfully created index `Grantor` on `ndb_procs_priv_backup`

Successfully created index `PRIMARY` on `ndb_tables_priv_backup`

Successfully created index `User` on `ndb_db_backup`

Successfully created index `PRIMARY` on `ndb_db_backup`

Successfully created index `PRIMARY` on `ndb_columns_priv_backup`

Successfully created index `PRIMARY` on `test_part`

Successfully created index `PRIMARY` on `ndb_proxies_priv_backup`

Successfully created index `PRIMARY` on `lf_t2`

Successfully created index `PRIMARY` on `ndb_procs_priv_backup`

Successfully created index `PRIMARY` on `members1`

Successfully created index `PRIMARY` on `ndb_host_backup`

Successfully created index `PRIMARY` on `lf_t1`

Successfully created index `Grantor` on `ndb_tables_priv_backup`

Successfully created index `PRIMARY` on `ndb_user_backup`

Successfully created index `Grantor` on `ndb_proxies_priv_backup`

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1-0.21.Data' File size 609828624 bytes

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_7_3(8) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_db_backup(18) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_33(35) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_34(36) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_35(37) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_head(4) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_41(16) fragment 0

_____________________________________________________

Processing data in table: mysql/def/procs_priv(48) fragment 0

_____________________________________________________

Processing data in table: mysql/def/columns_priv(46) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_schema(7) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_41(38) fragment 0

_____________________________________________________

Processing data in table: mysql/def/tables_priv(43) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_apply_status(9) fragment 0

_____________________________________________________

Processing data in table: clu_db/def/test_part(61) fragment 0

_____________________________________________________

Processing data in table: clu_db/def/test_part(61) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_tables_priv_backup(21) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_host_backup(29) fragment 0

_____________________________________________________

Processing data in table: mysql/def/host(51) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_user_backup(12) fragment 0

_____________________________________________________

Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_columns_priv_backup(24) fragment 0

_____________________________________________________

Processing data in table: mysql/def/proxies_priv(53) fragment 0

_____________________________________________________

Processing data in table: sys/def/SYSTAB_0(2) fragment 0

_____________________________________________________

Processing data in table: mysql/def/user(34) fragment 0

_____________________________________________________

Processing data in table: clu_db/def/lf_t1(10) fragment 0

_____________________________________________________

Processing data in table: clu_db/def/lf_t1(10) fragment 2

_____________________________________________________

Processing data in table: clu_db/def/lf_t2(56) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_sample(5) fragment 0

_____________________________________________________

Processing data in table: clu_db/def/members1(59) fragment 0

_____________________________________________________

Processing data in table: clu_db/def/members1(59) fragment 4

_____________________________________________________

Processing data in table: mysql/def/ndb_procs_priv_backup(26) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_33(13) fragment 0

_____________________________________________________

Processing data in table: mysql/def/db(40) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_34(14) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_35(15) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_proxies_priv_backup(31) fragment 0 Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.21.log' File size 52 bytes

Restored 2525877 tuples and 0 log entries

NDBT_ProgramExit: 0 – OK

其它三个节点,不使用-m参数恢复

[mysql@sicloud-b200-4 BACKUP-1]$ ndb_restore --restore-privilege-tables -c 192.168.180.202:1186 -n 22 -b 1 -r /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/ Nodeid = 22

Backup Id = 1

backup path = /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.22.ctl'

File size 126996 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.29 ndb-7.2.10

Stop GCP of Backup: 257442

Connected to ndb!!

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1-0.22.Data'

File size 591166636 bytes

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_7_3(8) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_db_backup(18) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_33(35) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_34(36) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_35(37) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_head(4) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_41(16) fragment 1

_____________________________________________________

Processing data in table: mysql/def/procs_priv(48) fragment 1

_____________________________________________________

Processing data in table: mysql/def/columns_priv(46) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_schema(7) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_41(38) fragment 1

_____________________________________________________

Processing data in table: mysql/def/tables_priv(43) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_apply_status(9) fragment 1

_____________________________________________________

Processing data in table: clu_db/def/test_part(61) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_tables_priv_backup(21) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_host_backup(29) fragment 1

_____________________________________________________

Processing data in table: mysql/def/host(51) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_user_backup(12) fragment 1

_____________________________________________________

Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_columns_priv_backup(24) fragment 1

_____________________________________________________

Processing data in table: mysql/def/proxies_priv(53) fragment 1

_____________________________________________________

Processing data in table: sys/def/SYSTAB_0(2) fragment 1

_____________________________________________________

Processing data in table: mysql/def/user(34) fragment 1

_____________________________________________________

Processing data in table: clu_db/def/lf_t1(10) fragment 3

_____________________________________________________

Processing data in table: clu_db/def/lf_t2(56) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_sample(5) fragment 1

_____________________________________________________

Processing data in table: clu_db/def/members1(59) fragment 1

_____________________________________________________

Processing data in table: clu_db/def/members1(59) fragment 5

_____________________________________________________

Processing data in table: mysql/def/ndb_procs_priv_backup(26) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_33(13) fragment 1

_____________________________________________________

Processing data in table: mysql/def/db(40) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_34(14) fragment 1

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_35(15) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_proxies_priv_backup(31) fragment 1 Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.22.log' File size 52 bytes

Restored 2023919 tuples and 0 log entries

NDBT_ProgramExit: 0 – OK

[mysql@sicloud-b200-1 BACKUP-1]$ ndb_restore --restore-privilege-tables -c 192.168.180.202:1186 -n 23 -b 1 -r /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/ Nodeid = 23

Backup Id = 1

backup path = /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.23.ctl'

File size 126996 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.29 ndb-7.2.10

Stop GCP of Backup: 257442

Connected to ndb!!

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1-0.23.Data'

File size 573753576 bytes

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_7_3(8) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_db_backup(18) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_33(35) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_34(36) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_35(37) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_head(4) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_41(16) fragment 2

_____________________________________________________

Processing data in table: mysql/def/procs_priv(48) fragment 2

_____________________________________________________

Processing data in table: mysql/def/columns_priv(46) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_schema(7) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_41(38) fragment 2

_____________________________________________________

Processing data in table: mysql/def/tables_priv(43) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_apply_status(9) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_tables_priv_backup(21) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_host_backup(29) fragment 2

_____________________________________________________

Processing data in table: mysql/def/host(51) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_user_backup(12) fragment 2

_____________________________________________________

Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_columns_priv_backup(24) fragment 2

_____________________________________________________

Processing data in table: mysql/def/proxies_priv(53) fragment 2

_____________________________________________________

Processing data in table: sys/def/SYSTAB_0(2) fragment 2

_____________________________________________________

Processing data in table: mysql/def/user(34) fragment 2

_____________________________________________________

Processing data in table: clu_db/def/lf_t2(56) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_sample(5) fragment 2

_____________________________________________________

Processing data in table: clu_db/def/members1(59) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_procs_priv_backup(26) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_33(13) fragment 2

_____________________________________________________

Processing data in table: mysql/def/db(40) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_34(14) fragment 2

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_35(15) fragment 2

_____________________________________________________

Processing data in table: mysql/def/ndb_proxies_priv_backup(31) fragment 2

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.23.log'

File size 52 bytes

Restored 1525884 tuples and 0 log entries

NDBT_ProgramExit: 0 – OK

[mysql@sicloud-b200-2 ~]$ ndb_restore --restore-privilege-tables -c 192.168.180.202:1186 -n 24 -b 1 -r /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/ Nodeid = 24

Backup Id = 1

backup path = /home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.24.ctl' File size 126996 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.29 ndb-7.2.10

Stop GCP of Backup: 257442

Connected to ndb!!

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1-0.24.Data' File size 590933368 bytes

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_7_3(8) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_db_backup(18) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_33(35) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_34(36) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_35(37) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_head(4) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_41(16) fragment 3

_____________________________________________________

Processing data in table: mysql/def/procs_priv(48) fragment 3

_____________________________________________________

Processing data in table: mysql/def/columns_priv(46) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_schema(7) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_34_41(38) fragment 3

_____________________________________________________

Processing data in table: mysql/def/tables_priv(43) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_apply_status(9) fragment 3

_____________________________________________________

Processing data in table: clu_db/def/test_part(61) fragment 1

_____________________________________________________

Processing data in table: mysql/def/ndb_tables_priv_backup(21) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_host_backup(29) fragment 3

_____________________________________________________

Processing data in table: mysql/def/host(51) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_user_backup(12) fragment 3

_____________________________________________________

Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_columns_priv_backup(24) fragment 3

_____________________________________________________

Processing data in table: mysql/def/proxies_priv(53) fragment 3

_____________________________________________________

Processing data in table: sys/def/SYSTAB_0(2) fragment 3

_____________________________________________________

Processing data in table: mysql/def/user(34) fragment 3

_____________________________________________________

Processing data in table: clu_db/def/lf_t1(10) fragment 1

_____________________________________________________

Processing data in table: clu_db/def/lf_t2(56) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_sample(5) fragment 3

_____________________________________________________

Processing data in table: clu_db/def/members1(59) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_procs_priv_backup(26) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_33(13) fragment 3

_____________________________________________________

Processing data in table: mysql/def/db(40) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_34(14) fragment 3

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_12_35(15) fragment 3

_____________________________________________________

Processing data in table: mysql/def/ndb_proxies_priv_backup(31) fragment 3

Opening file '/home/mysql/my_cluster/ndb_data/BACKUP/BACKUP-1/BACKUP-1.24.log'

File size 52 bytes

Restored 2024334 tuples and 0 log entries

NDBT_ProgramExit: 0 - OK

恢复完成!没有错误!

1.5启动mysqld 提供服务!

[mysql@sicloud-b200-3 my_cluster]$ mysqld --defaults-file=/home/mysql/my_cluster/conf/https://www.doczj.com/doc/4c1422361.html,f &

[1] 28832

[mysql@sicloud-b200-3 my_cluster]$ 130422 10:16:02 [Note] Plugin 'FEDERATED' is disabled. 130422 10:16:03 [Note] NDB: NodeID is 31, management server 'localhost:1186'

130422 10:16:03 [Note] NDB[0]: NodeID: 31, all storage nodes connected

130422 10:16:03 [Warning] NDB: server id set to zero - changes logged to bin log with server id zero will be logged with another server id by slave mysqlds

130422 10:16:03 [Note] Starting Cluster Binlog Thread

130422 10:16:03 InnoDB: The InnoDB memory heap is disabled

130422 10:16:03 InnoDB: Mutexes and rw_locks use GCC atomic builtins

130422 10:16:03 InnoDB: Compressed tables use zlib 1.2.3

130422 10:16:03 InnoDB: Using Linux native AIO

130422 10:16:03 InnoDB: Initializing buffer pool, size = 128.0M

130422 10:16:03 InnoDB: Completed initialization of buffer pool

130422 10:16:03 InnoDB: highest supported file format is Barracuda.

130422 10:16:03 InnoDB: Waiting for the background threads to start

130422 10:16:04 InnoDB: 1.1.8 started; log sequence number 1595675

130422 10:16:04 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3136

130422 10:16:04 [Note] - '0.0.0.0' resolves to '0.0.0.0';

130422 10:16:04 [Note] Server socket created on IP: '0.0.0.0'.

130422 10:16:04 [ERROR] mysqld: Incorrect information in file: './mysql/host.frm'

130422 10:16:04 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

[1]+ Exit 1 mysqld --defaults-file=/home/mysql/my_cluster/conf/https://www.doczj.com/doc/4c1422361.html,f

由以上可见,启动失败,为了排查原因,先绕过授权表启动:

[mysql@sicloud-b200-3 mysql]$ mysqld --defaults-file=/home/mysql/my_cluster/conf/https://www.doczj.com/doc/4c1422361.html,f --skip-grant-tables &

[1] 28943

[mysql@sicloud-b200-3 mysql]$ 130422 10:36:34 [Note] Plugin 'FEDERATED' is disabled. 130422 10:36:34 [Note] NDB: NodeID is 31, management server 'localhost:1186'

130422 10:36:34 [Note] NDB[0]: NodeID: 31, all storage nodes connected

130422 10:36:34 [Warning] NDB: server id set to zero - changes logged to bin log with server id zero will be logged with another server id by slave mysqlds

130422 10:36:34 [Note] Starting Cluster Binlog Thread

130422 10:36:34 InnoDB: The InnoDB memory heap is disabled

130422 10:36:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins

130422 10:36:34 InnoDB: Compressed tables use zlib 1.2.3

130422 10:36:34 InnoDB: Using Linux native AIO

130422 10:36:34 InnoDB: Initializing buffer pool, size = 128.0M

130422 10:36:34 InnoDB: Completed initialization of buffer pool

130422 10:36:34 InnoDB: highest supported file format is Barracuda.

130422 10:36:35 InnoDB: Waiting for the background threads to start

130422 10:36:36 InnoDB: 1.1.8 started; log sequence number 1595675

130422 10:36:36 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3136

130422 10:36:36 [Note] - '0.0.0.0' resolves to '0.0.0.0';

130422 10:36:36 [Note] Server socket created on IP: '0.0.0.0'.

130422 10:36:36 [Note] mysqld: ready for connections.

Version: '5.5.29-ndb-7.2.10-cluster-gpl' socket: '/home/mysql/my_cluster/mysql.sock' port: 3136 MySQL Cluster Community Server (GPL)

130422 10:36:36 [Note] NDB Binlog: DISCOVER TABLE Event: REPL$mysql/ndb_schema

130422 10:36:37 [Note] NDB Binlog: logging ./mysql/ndb_schema (UPDATED,USE_WRITE) 130422 10:36:37 [Note] NDB Binlog: DISCOVER TABLE Event: REPL$mysql/ndb_apply_status 130422 10:36:37 [Note] NDB Binlog: logging ./mysql/ndb_apply_status (UPDATED,USE_WRITE) 130422 10:36:37 [Note] NDB: Cleaning stray tables from database 'information_schema' 130422 10:36:37 [Note] NDB: Cleaning stray tables from database 'clu_db'

130422 10:36:37 [Note] NDB: Cleaning stray tables from database 'ndbinfo'

130422 10:36:37 [Note] NDB: Cleaning stray tables from database 'performance_schema' 130422 10:36:37 [Note] NDB: Cleaning stray tables from database 'test'

2013-04-22 10:36:37 [NdbApi] INFO -- Flushing incomplete GCI:s < 1146/3

2013-04-22 10:36:37 [NdbApi] INFO -- Flushing incomplete GCI:s < 1146/3

130422 10:36:37 [Note] NDB Binlog: starting log at epoch 1146/3

130422 10:36:37 [Note] NDB Binlog: ndb tables writable

查看启动结果

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 4 node(s)

id=21 @192.168.180.202 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)

id=22 @192.168.180.203 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 1)

id=23 @192.168.180.209 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 2)

id=24 @192.168.180.210 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 3)

[ndb_mgmd(MGM)] 1 node(s)

id=11 @192.168.180.202 (mysql-5.5.29 ndb-7.2.10)

[mysqld(API)] 6 node(s)

id=31 @192.168.180.202 (mysql-5.5.29 ndb-7.2.10)

id=32 (not connected, accepting connect from 192.168.180.203)

id=33 (not connected, accepting connect from 192.168.180.209)

id=34 (not connected, accepting connect from 192.168.180.210)

id=35 (not connected, accepting connect from any host)

id=36 (not connected, accepting connect from any host)

以上可以看出已经启动,但问题依旧,后再恢复数据库时加载参数,如下面说明:

使用ndb_resotre默认不恢复用户权限表,需要使用--restore-privilege-tables参数。

下面是官方文档部分内容:

After restoring and distributing the tables, you should restart

this MySQL Server without the --skip-grant-tables [431] option.

You can also restore the distributed tables using ndb_restore --restore-privilege-tables [2088] from a backup made using START BACKUP in the ndb_mgm client. (The MyISAM

tables created by mysql_cluster_move_privileges are not backed up by the START BACKUP command.) ndb_restore does not restore the privilege tables by default; the --restore-privilege-tables [2088] option causes it to do so.

需要重新使用—initial初始化启动各节点的ndbd模式,然后再使用这个参数--restore-privilege-table 恢复各个节点数据备份,然后如下面再重启mysqld进程。

mysqld --defaults-file=/home/mysql/my_cluster/conf/https://www.doczj.com/doc/4c1422361.html,f &

[1] 29682

[mysql@sicloud-b200-3 ~]$ 130422 12:55:04 [Note] Plugin 'FEDERATED' is disabled.

130422 12:55:04 [Note] NDB: NodeID is 31, management server 'localhost:1186'

130422 12:55:05 [Note] NDB[0]: NodeID: 31, all storage nodes connected

130422 12:55:05 [Warning] NDB: server id set to zero - changes logged to bin log with server id zero will be logged with another server id by slave mysqlds

130422 12:55:05 [Note] Starting Cluster Binlog Thread

130422 12:55:05 InnoDB: The InnoDB memory heap is disabled

130422 12:55:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins

130422 12:55:05 InnoDB: Compressed tables use zlib 1.2.3

130422 12:55:05 InnoDB: Using Linux native AIO

130422 12:55:05 InnoDB: Initializing buffer pool, size = 128.0M

130422 12:55:05 InnoDB: Completed initialization of buffer pool

130422 12:55:05 InnoDB: highest supported file format is Barracuda.

130422 12:55:05 InnoDB: Waiting for the background threads to start

130422 12:55:06 InnoDB: 1.1.8 started; log sequence number 1595675

130422 12:55:06 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3136

130422 12:55:06 [Note] - '0.0.0.0' resolves to '0.0.0.0';

130422 12:55:06 [Note] Server socket created on IP: '0.0.0.0'.

130422 12:55:06 [Note] table './mysql/host' opened read only

130422 12:55:06 [Note] table './mysql/user' opened read only

130422 12:55:06 [Note] table './mysql/db' opened read only

130422 12:55:06 [Note] table './mysql/proxies_priv' opened read only

130422 12:55:06 [Note] table './mysql/tables_priv' opened read only

130422 12:55:06 [Note] table './mysql/columns_priv' opened read only

130422 12:55:06 [Note] table './mysql/procs_priv' opened read only

130422 12:55:06 [Note] Event Scheduler: Loaded 0 events

130422 12:55:06 [Note] mysqld: ready for connections.

Version: '5.5.29-ndb-7.2.10-cluster-gpl' socket: '/home/mysql/my_cluster/mysql.sock' port: 3136 MySQL Cluster Community Server (GPL)

130422 12:55:07 [Note] NDB Binlog: DISCOVER TABLE Event: REPL$mysql/ndb_schema

130422 12:55:07 [Note] NDB Binlog: logging ./mysql/ndb_schema (UPDATED,USE_WRITE) 130422 12:55:07 [Note] NDB Binlog: DISCOVER TABLE Event: REPL$mysql/ndb_apply_status 130422 12:55:07 [Note] NDB Binlog: logging ./mysql/ndb_apply_status (UPDATED,USE_WRITE) 130422 12:55:07 [Note] NDB: Cleaning stray tables from database 'information_schema' 130422 12:55:07 [Note] NDB: Cleaning stray tables from database 'clu_db'

130422 12:55:07 [Note] NDB: Cleaning stray tables from database 'ndbinfo'

130422 12:55:07 [Note] NDB: Cleaning stray tables from database 'performance_schema' 130422 12:55:07 [Note] NDB: Cleaning stray tables from database 'test'

2013-04-22 12:55:08 [NdbApi] INFO -- Flushing incomplete GCI:s < 352/9

2013-04-22 12:55:08 [NdbApi] INFO -- Flushing incomplete GCI:s < 352/9

130422 12:55:08 [Note] NDB Binlog: starting log at epoch 352/9

130422 12:55:08 [Note] NDB Binlog: ndb tables writable

1.6登录查看结果

被drop掉的Lf_t2数据备份,原来有6100000记录。

mysql> select count(*) from lf_t2;

+----------+

| count(*) |

+----------+

| 6100000 |

+----------+

1 row in set (0.00 sec)

由于忘记恢复一个数据节点data node4,因此只恢复下面这些数据。

mysql> select count(*) from lf_t2;

+----------+

| count(*) |

+----------+

后来把所有节点都恢复了,数据如下,没有问题了。

mysql> select count(*) from lf_t2;

+----------+

数据库备份和还原操作方法

数据库备份和还原 在收费系统运行一段时间后,如发生系统不正常要重装WINDOWS操作系统或更换电脑时,须按照下面“数据库备份”方法将原系统的数据文件备份,并将备份文件妥善保存(避免随系统重装而丢失数据),在重装系统或更换电脑后,按照软件的安装方法顺序安装SQL2000数据库和消费/水控管理软件,然后按照下面“数据还原”方法进行数据库还原,完成后系统中的数据即与原数据完全[相同。 数据库备份: 以ICSF为例,打开ICSF软件,选择菜单栏下的系统维护,然后选择数据备份。(系统维护——数据备份)如图(1-1): 1-1 数据备份完成后,可以在基本资料——系统参数里(1-2),在弹出的对话框上的备份路径二(手动备份)里可以找到数据备份的路径(1-3)。如图:

1-2 1-3 提示: 1、上述方法为手动备份,本系统在使用后正常腿出系统时也会自动进行 数据备份,如已经无法正常开启原电脑(无法进行手动备份)则可将 原电脑硬盘连接到其他电脑中,找到“备份路径一”所指向的路径, 找到备份文件夹,将其中修改日期最近的备份文件拷贝出来用于数据 还原。 2、在安装收费/水控系统时建议不要将安装目录选在C盘,避免因格式 化的操作是备份数据丢失,如果已经将软件安装在C盘,则建议将备 份文件路径指定为其他盘。 数据还原 数据还原,首先要找到备份的数据文件。如上所述,备份文件存放在E:\软件\ICSF5.74\Mdbbak上,根据路径找到Mdbbak文件夹并打开。 打开Mdbbak文件夹后,里面有类似这样的(1-4)BAK文件。 找寻最新的BAK文件,并把它与软件安装包(光盘)中IC挂接数据库.exe软件拷贝到电脑任意一个目录(文件夹)中,然后将备份文件重命名(光标放在备份文件 上点鼠标右键,选择重命名),改为ICSF.db。如图:(1-5)

数据库备份与恢复

Oracle数据库备份与恢复的三种方法 2009-11-04 16:00 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如:

(3)、“累积型”增量导出 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。 比如数据库的被封任务可以做如下安排: 星期一:完全备份(A) 星期二:增量导出(B) 星期三:增量导出(C) 星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F) 星期日:增量导出(G) 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库: 第一步:用命令CREATE DATABASE重新生成数据库结构; 第二步:创建一个足够大的附加回滚。 第三步:完全增量导入A: 第四步:累计增量导入E: 第五步:最近增量导入F:

数据库备份与恢复技术

Oracle数据库备份与恢复技术 Oracle是一个适合于大中型企业的数据库管理系统,它主要应用于:银行、电信、移动通信、航空、保险、金融、跨国公司、和电子商务等。备份与恢复是数据库管理中最重要的方面之一。如果数据库崩溃却没有办法恢复它,那么对企业造成的毁灭性结果可能会是数据丢失、收入减少、客户不满等。不管公司是使用单个数据库还是多个数据库来存储数百GB 或TB 的数据,它们都有一个共同点,即需要制订一个备份与恢复方案来备份重要数据并使自身免于灾难,将损失尽量降低到最小。 备份与恢复概述 备份是数据的一个代表性副本。该副本会包含数据库的重要部分,如控制文件、重做日志和数据文件。备份通过提供一种还原原始数据的方法保护数据不受应用程序错误的影响并防止数据的意外丢失。备份分为物理备份和逻辑备份。物理备份是物理数据库文件的副本。“备份与恢复”通常指将复制的文件从一个位置转移到另一个位置,同时对这些文件执行各种操作。 相比而言,逻辑备份包含使用SQL 命令导出并存储在二进制文件中的数据。Oracle 在重做日志缓冲区中记录提交的和未提交的更改。逻辑备份用于补充物理备份。还原物理备份意味着重建它并将其提供给Oracle 服务器。要恢复还原的备份,需要使用事务日志中的重做记录来更新数据。事务日志记录在执行备份之后对数据库所做的更改。 Oracle 在例程故障之后自动执行崩溃恢复和实例恢复。在出现介质故障的情况下,数据库管理员(DBA) 必须启动恢复操作。恢复备份涉及两种不同的操作:通过应用重做数据将备份前滚至一个较近的时间;将在未提交的事务中所做的所有更改回滚至其原来状态。一般而言,恢复指在还原、前滚和回滚备份中涉及的各种操作。备份与恢复指在防止数据库丢失数据和在丢失数据时重建数据库的过程中涉及的各种策略和操作。 备份与恢复操作 备份是数据文件、表空间或某个时间点的数据库等的快照。如果对数据库进行了周期性备份,则在数据丢失时用户可以将存储的重做信息应用到他们最新的备份中,从而恢复数据库的当前状态。Oracle 使用户能够还原一个较早的备份和仅应用某些重做数据,从而将数据库恢复到一个较早的时间点。这种恢复称为不完全介质恢复。如果备份是一致的,那么根本不需要用户应用任何重做数据。 下面用介质恢复的一个简单例子来解释一下这个概念。假定用户在中午为数据库作了一个备份。从中午开始,每一分钟对数据库进行一次更改。在下午 1 点时,一个磁盘驱动器出现故障,导致那个磁盘上的所有数据丢失。幸运的是,Oracle 在重做日志中记录了所有更改。则用户可以将中午的备份还原到一个正常运转的磁盘驱动器上,使用重做数据将数据库恢复到下午1 点,从而重建丢失的更改。 备份与恢复策略要素 尽管备份与恢复操作非常复杂并随因企业而异,但基本原则均遵循这四个简单的步骤:

SQL数据库备份与恢复操作流程

1.数据库备份 1)打开“开始”——“程序”——Microsoft SQL Server——企业管理器,进入之后,将页面左边的“控制台根目录”下的“+”一个一个都点开,一直到点开“数据库”前的“+”。可以看到第一个数据库应该是CORPSCAN,在这个数据库上面点右键,选择“所有任务”中的“备份数据库”,如下图所示: 2)在弹出的选择框中点“添加”按钮:

3)弹出如下的窗口: 且必须给这个备份文件起一个文件名(一般我们都以日期做为备份文件名),如

下图所示: 上述备份文件就是放在D:\ 这个目录下,文件名为20051120。然后点“确定”。4)可以看到“备份到”那里有个路径和文件名了,其它什么都不用动,然后点“确定”就可以了,如下图所示: 备份文件成功后会有提示信息,可以到备份的目录下找到备份的文件。

2.数据库还原 和数据库的备份操作类似。具体流程如下: 1)打开“开始”——“程序”——Microsoft SQL Server——企业管理器,进入之后,将页面左边的“控制台根目录”下的“+”一个一个都点开,一直到点开“数据库”前的“+”。可以看到第一个数据库应该是CORPSCAN,在这个数据库上面点右键,选择“所有任务”中的“还原数据库”,如下图所示: 2)在弹出的页面上,在“还原”那里选择“从设备”,然后点一下“选择设备”,如图所示:

3)在弹出的页面上点一下“添加”按钮,就出现“选择还原目的”的对话框,在“文件名”后面有个浏览按钮,在那里选择要还原的文件(就是之前备份的数据库文件),然后点“确定”,再确定,再确定,就可以了,还原成功之后会有提示的:

(完整word版)数据库备份与恢复方案

数据库备份与恢复方案 随着计算机的普及和信息技术的进步,特别是计算机网络的飞速发展,信息安全的重要性日趋明显。数据备份是保证信息安全的一个重要方法。 只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。有时造成的损失是无法弥补与估量的。 数据故障的形式是多种多样的。通常,数据故障可划分为系统故障、事务故障和介质故障三大类。从信息安全数据库备份与恢复方案的角度出,实际上第三方或敌方的“信息攻击”,也会产生不同种类的数据故障。例如:计算机病毒型、特洛伊木马型、“黑客”入侵型、逻辑炸弹型等。这些故障将会造成的后果有:数据丢失、数据被修改、增加无用数据及系统瘫痪等。作为系统管理员,要千方百计地维护系统和数据的完整性与准确性。通常采取的措施有:安装防火墙,防止“黑客”入侵;安装防病毒软件,采取存取控制措施;选用高可靠性的软件产品;增强计算机网络的安全性。 世界上没有万无一失的信息安全措施。信息世界“攻击和反攻击”也永无止境。对信息的攻击和防护好似矛与盾的关系,螺旋式地向前发展。 在信息的收集、处理、存储、传输和分发中经常会存在一些新的问题,

其中最值得我们关注的就是系统失效、数据丢失或遭到破坏。 威胁数据的安全,造成系统失效的主要原因有以下几个方面: 1、硬盘驱动器损坏; 2、人为错误; 3、黑客攻击; 4、病毒; 5、自然灾害; 6、电源浪涌; 7、磁干扰; 因此,数据备份与数据恢复是保护数据的最后手段,也是防止主动型信息攻击的最后一道防线。 SQL SERVER数据备份方案 SQL SERVER数据库的备份方法主要有完整备份,差异备份,事务日志备份等。根据数据安全性的要求,推荐的备份方式为每周一次完整备份,每天一次差异备份,每半个小时一次事务日志备份。 默认情况下,为sysadmin 固定服务器角色以及db_owner 和

ORACLE数据库备份与恢复详解

ORACLE数据库备份与恢复详解 Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):

$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。理论基础:Oracle 提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型): 1,表方式(T) 可以将指定的表导出备份; 2,全库方式(Full) 将数据库中的所有对象导出; 3,用户方式(U) 可以将指定的用户相应的所有数据对象导出; *在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别: 1,完全增量导出(完全备份)(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名) 2,增量型增量导出(增量备份)(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp 3,累积型增量导出(差异备份)(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp 通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份: Mon:完全备份(A) Tue:增量导出(B) Wed:增量导出(C) Thu:增量导出(D)

数据库的备份与恢复-模板

数据库的备份与恢复 ---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。 ---- 一、导出/导入(Export/Import) ---- 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。 ---- 1. 简单导出数据(Export)和导入数据(Import) ---- Oracle支持三种类型的输出: ---- (1)表方式(T方式),将指定表的数据导出。 ---- (2)用户方式(U方式),将指定用户的所有对象及数据导出。 ---- (3)全库方式(Full方式),将数据库中的所有对象导出。 ---- 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。 ---- 2. 增量导出/导入 ---- 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为,如果不希望自己的输出文件定名为,必须在命令行中指出要用的文件名。 ---- 增量导出包括三个类型: ---- (1)“完全”增量导出(Complete)

oracle数据库备份与恢复的三种方法(1)

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: (3)、“累积型”增量导出 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。 比如数据库的被封任务可以做如下安排: 星期一:完全备份(A)

星期二:增量导出(B) 星期三:增量导出(C) 星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F) 星期日:增量导出(G) 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库: 第一步:用命令CREATE DATABASE重新生成数据库结构; 第二步:创建一个足够大的附加回滚。 第三步:完全增量导入A: 第四步:累计增量导入E: 第五步:最近增量导入F: 二、冷备份 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是: 1、是非常快速的备份方法(只需拷文件) 2、容易归档(简单拷贝即可) 3、容易恢复到某个时间点上(只需将文件再拷贝回去) 4、能与归档方法相结合,做数据库“最佳状态”的恢复。 5、低度维护,高度安全。 但冷备份也有如下不足: 1、单独使用时,只能提供到“某一时间点上”的恢复。 2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

12.系统和数据库备份、恢复策略

系统、数据库备份和恢复策略 一、各数据库备份策略 目前应用服务器采用Oracle RAC数据库,应用服务器采用双机备份,主备机数据库通过磁阵共享信息。 备份采用两种方式: 1.配置信息备份 数据库定时调用备份程序,备份当前配置信息,通过oracle定时任务,每间隔一周备份一次,具体时间可设置,默认7天,保留最近5次备份。 2.数据信息备份 在数据库服务器上提供了备份脚本,/home/oracle/backup/strbackup.sh、 /home/oracle/backup/databackup.sh,通过linux计划任务,每周一凌晨备份一次,具体

时间可设置,默认7天,保留最近20次备份。 备份文件目录为/home/oracle/backup,备份完成后生成压缩文件形如 bts_com_str20160111.zip,包含:备份文件bts_com_str20160111.dmp、备份日志 bts_com_str20160111.log bts_com_data20160111.zip,包含:备份文件bts_com_data20160111.dmp、备份日志bts_com_data20160111.log 二、备份恢复 数据库恢复可恢复到前一次备份时的内容。 应急恢复流程 数据库关闭 su - oracle sqlplus / as sysdba shutdown immediate 数据库启动 su - oracle lsnrctl start sqlplus / as sysdba startup exit 数据库恢复 1、在备用数据库建立用户并赋予权限 2、使用imp命令导入基础数据结构包bts_com_str.dmp 3、导入配置信息bts_com_data.dmp 4、导入最近一次备份的全量信息bts_com_alarm.dmp 上述三步命令见附件expimp.txt 5、检查存储过程和序列情况

数据库《数据备份与还原》实验报告

x x大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称数据库系统概论实验日期成绩指导教师批改日期实验名称数据备份与还原 实验内容[目的和意义] ?理解数据库的备份策略 ?掌握如何创建和执行备份 ?理解数据库的还原策略 ?掌握还原数据库的方法 [实验内容] 使用SQLServer2005对象资源管理器完成以下操作:. ?创建备份设备 ?备份数据库 ?还原数据库 [实现步骤] 1.使用SQL Server 管理平台创建备份设备 (1)在SQL Server 管理平台中,选择需要创建备份设备的服务器,打开“服务器对象”的文件夹,在“备份设备”图标上单击鼠标右键,从弹出的快捷菜单中选择“新建备份设备”命令。如图6-1。 (2)打开“备份设备”对话框,在“设备名称”文本框中输入设备名称,该名 称是设备的逻辑名称,另外还要选择备份设备的类型。如图6-2。

2.使用SQL Server管理平台进行备份 (1)在SQL Server管理平台中,打开数据库文件,在要进行备份的数据库图标上单击鼠标右键,在弹出的快捷菜单中选择“任务”-“备份”命令。如图6-3。 (2)打开“备份数据库”对话框,在该对话框中又两个选项页,即“常规”与“选项” 在常规选项页的上部分,可以选择备份的数据库的名称,恢复模式,备份类型,中间可以设置备份集的名称,说明以及备份集的过期时间,下部分可以设置备份的目标。默认值是磁盘,单击“添加”按钮,在打开的“选择备份目标”对话框中,可选中“文件名”单选按钮来指定文件名和路径,也可以选中“备份设备”单选按钮,从组合框中选择备份设备。同样可以设置“选项”选项页的内容。如图6-4、6-5。

各种数据库的备份与恢复

数据库的备份与恢复概论 这是一遍综合性描述数据库备份的文章,要把所有的数据库的备份与恢复全部描述清楚,不是我这遍文章的初衷。我只想给那些想做备份。却不怎么了解备份的人一个整体认识。本人的水平是有限的。我只能抛砖引玉。很多经验总结也是个人一家之言。有错误请斧正。 一:数据库备份的重要性 硬件总会坏,系统总会崩溃的,数据文件总是会损坏的,人也不可能永远不犯错误的。数据库备份就是在你硬盘坏了。系统崩溃坏了。数据文件损坏了,工作人员误删除数据的时候让你不伤心,不害怕。数据库的备份不同与一般的文件备份。一个备份方案总是跟客户的需求有关系的,一个从来没有新数据增加的查询数据库。一次冷备份就足够了。而对一个7X24小时数据库。数据不能丢失的系统。备份的方案就复杂多了。怎么样才能保证数据库不丢失数据呢?这将受到两个条件的制约。一:数据库种类。二:备份的方法。 二:数据库备份与恢复种类 2.1逻辑备份与恢复 逻辑备份是使用软件技术从数据库中提取数据并将结果写入一个输出文件,逻辑备份因为灵活性受到开发人员的青睐。但是对一个数据库管理员来说。就对它不放心了。一:他是点的逻辑。他只能描述数据库在一点上逻辑结构。然后抽取这些逻辑对象写入到一个或者多个输出文件。一般一个完整的备份是一个点另一个点(终止点)的连续发生。逻辑备份是不可能记录连续发生的事情的过程的。 2.2冷备份与恢复 冷备份。又叫脱机备份。就是停掉数据库服务。拷贝数据库数据目录。一般是data 目录。Oracle 一般是oradata目录。Mysql ,postgres 都是data目录。而且这些默认举例说明。在实质的生产中这些目录文件是变化的。不过不用担心。数据库管理员肯定知道在那里。具体他怎么知道。不同数据库有不同方法。不是本文的重点。为什么要把数据库停掉。才能做数据拷贝?我直接在数据库运行的时候拷贝不一样吗?如果你运气好的好。那样确实也可以。不过不要因为运气。就证明你可以那样做。其实一件事物不但要有证据去证明他。就是还需要一个明确的理论去支持他。不然是容易犯经验主义错误的。一个数据块正被复制。然后他或许前半部分是修该前。后半部分是修改后的。这就是split data .但数据库启动时候,数据库读到这样的数据库块就迷糊了。数据库不一致的错误就出来。数据库肯定提示要你恢复。数据库备份一定要遵循数据库的一致性。2.3热备份与恢复

db2_数据库备份与恢复

一、Db2数据库的备份和恢复 (2) 1、备份数据库 (2) 2、恢复数据库 (2) 二、Db2数据库的导入与导出 (6) 1、执行db2move 命令导出数据。 (6) 2、执行db2move 命令导出数据。 (9) 3、执行db2look 命令导出DDL文件。 (10)

一、Db2数据库的备份和恢复 1、备份数据库 db2 backup db <数据库名> to <目录名> 注:在备份前需断开所有与数据库的连接,断开连接后再备份. 例: db2 force application all db2 backup db sample to d:\db2_bk 2、恢复数据库 db2 restore db <数据库名> from <目录名> 例: db2 restore db ncdb from d:\db2_bk 将上面做的备份作恢复测试 1)连接到sample数据库,模拟数据丢失,将数据库中的部分表删除。

2)将表删除

3)执行db2 restore db sample from d:\db2_bk 恢复语句

二、Db2数据库的导入与导出 1、执行db2move 命令导出数据。 如:db2move <数据库名> export –tc <用户名> -u <用户名> -p密码 参数–tc 创建表的用户名 -tn 用户的表名 -sn 模式名即导出该模式下的所有表 以上三个参数只适用于export命令 1)如:导出数据库ncdb 的SM_USER表,表中有485条记录。 db2move ncdb export -tn SM_USER -u db2inst1 -p 1 使用-tn指定导出的表名

Linux_oracle数据库的备份与恢复

1 数据库备份和恢复 (备份和恢复均已做成脚本自动运行,下列操作供参考,请不要在生产机上做测试) 1)数据库备份: ◆将dbexp.parm,dbexp.sh 拷贝至/home/oracle/backup/. 以oracle用户登录系统 $ cd /home/oracle/backup $ dos2unix * $ chmod 755 dbexp.sh ◆手工执行备份,用oracle用户登录: $ cd /home/oracle/backup $ ./dbexp.sh ◆自动执行备份,用root用户登录: #crontab -e 00 01 * * * su - oracle -c "/home/oracle/backup/dbexp.sh" 2)数据库恢复: 以oracle用户登录系统 ◆删除用户: sqlplus /nolog >connect / as sysdba; >drop user center cascade; >create user center identified by center; >grant connect,resource,dba to center ◆恢复数据库 $imp center/center full=y grants=y INDEXES=y constraints=y LOG=/tmp/backup.log rows=y ignore=y file=xxx (xxx--为以前备份的数据文件,如checkid_20041123.dat) oracle数据库的备份与恢复 原理及方法: 导出(备份) exp 用户名/密码@服务名file=d:daochu.dmp (rows=no(导出空结构)) 导入(恢复) imp 用户名/密码@服务名file=d:daochu.dmp fromuser=原用户名touser=新用户名 ---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重

SQL2008数据库的备份与还原

江西学籍系统SQL数据库的备份与还原 编写:东师理想技术支持-李小伟 温馨提示:当学籍系统、综合素质评价系统有数据更新时,管理员一定要及时的做好数据库的备份工作,以防止意外情况的发生。正确、及时的进行数据库备份能减少数据丢失后恢复数据库的工作量。所以为了避免数据在灾难后无法恢复,必须对数据库进行备份。 一、SQL数据库的备份: 1、依次打开开始菜单→程序→Microsoft SQL Server 2008 →SQL Server Management Studio →数据库:Dsideal_school_db既是我们需要备份的学籍数据库 图(1)

2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键→任务→备份,如图(2): 图(2)

3、在打开的“备份数据库—Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3): 首先点击“删除” 然后点击“添加” 图(3) 4、在弹出的“选择备份目标”对话框中,点击“”,如图(4) 图(4)

5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5): 图(5

二、SQL数据库的还原: 1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键→任务→还原→数据库,如图(6): 图(6) 2、在出现的“还原数据库—school_web_db”对话框中选择“源设备”,然后点击后面的“”按钮,如图(7):

实验六 数据库备份与恢复

《数据库原理》实验报告 一. 实验目的: ●了解备份还原的概念 ●掌握SQL Server的备份方法 ●会选择适合的备份策略 ●掌握常见故障的还原方法 一、实验使用环境: SQL server 2012 二、实验内容与完成情况: 1. 用系统内置的存储过程sp_addumpdevice创建一个备份设备SalesDatabase_Bak,保存在D盘根目录下,查看系统中有哪些备份设备。 运行截图: 也可手动创建: --题目1 --在E:\Sale_bak创建本地磁盘备份文件 exec sp_addumpdevice'disk','SalesDatabase_Bak','E:\Sale_bak' --查看系统有哪些备份设备 exec sp_helpdevice

实验小结:通过代码可以看到,添加一个名为SalesDatabase_Bak的磁盘备份设备,物理名为E:\Sale_bak,且在数据库目录中:/服务器对象/备份设备/,目录下可以看到名为SalesDatabase_Bak的备份设备。 2. 为销售管理数据库设置一个备份计划,名为SaleBackPlan,要求每天在上午12:00:00 和下午12:00:00 之间每2小时执行数据库日志备份。 操作过程:连接数据库,在管理列表中找到维护计划,右键点击维护计划选择维护计划向导,名称为:SaleBackPlan. 点击更改:进行以下设置:选择SaleBackPlan执行计划,计划类型为:重复执行。频率为:每天执行,

每天执行的频率为:开始时间为12点,结束时间为0点,间隔为2小时,最下方说明中有详细的介绍。 点击下一步,选择备份数据库(事务日志) 选择特定数据库且为销售管理数据库: 操作完成:

实验8 数据转储、数据传输、数据备份与还原、数据库镜像

XX实验报告 学号 : 系别专业班级姓名 课程名称课程 类型 学时数 实验 名称 数据转储、数据传输、数据备份与还原、数据库镜像 实验目的: 1.能够使用“导入和导出向导”进行数据导入导出。 2.能够使用“SSIS包”进行数据导入导出。 3.学会数据备份与还原。 4.使用SQL Server配置数据库镜像。 实验内容: 一、使用导入和导出进行数据传输 1.启动导入和导出向导 (1)在对象资源管理器中右击mydb数据库,在弹出的快捷菜单中选择“任务”→“导出数据”命令,单击下一步,进入“选择数据源对话框”。

2.选择数据源

3.选择目标 选择数据要复制到的目的地。服务器名称根据实际情况自定义。

4.制定表复制或查询复制 5.保存并执行包 二、使用“SSIS”包进行数据传输 1.创建SSIS项目 启动数据库,选择“文件”→“新建”→“项目”命令。在“新建项目”对话框中,对于模板,选择“Igtegration Services项目”,设置项目名称和存储位置,取消对“创建解决方案的目录”复选框的勾选。

2.为mydb数据库创建数据源 3.为数据源创建链接管理器 4.创建数据流任务 5.运行包并查看结果数据 三、数据库备份与还原 1.使用SQL Server 管理平台创建备份设备 (1)在SQL Server 管理平台中,选择需要创建备份设备的服务器,打开“服务器对象”的文件夹,在“备份设备”图标上单击鼠标右键,从弹出的快捷菜单中选择“新建备份设备”命令。 (2)打开“备份设备”对话框,在“设备名称”文本框中输入设备名称,该名称是设备的逻辑名称,另外还要选择备份设备的类型。 2.使用SQL Server管理平台进行备份 (1)在SQL Server管理平台中,打开数据库文件,在要进行备份的数据库图标上单击鼠标右键,在弹出的快捷菜单中选择“任务”-“备份”命令。 (2)打开“备份数据库”对话框,在该对话框中又两个选项页,即“常规”与“选项”在常规选项页的上部分,可以选择备份的数据库的名称,恢复模式,备份类型,中间可以设置备份集的名称,说明以及备份集的过期时间,下部分可以设置备份的目标。默认值是磁盘,单击“添加”按钮,在打开的“选择备份目标”对话框中,可选中“文件名”单选按钮来指定文件名和路径,也可以选中“备份设备”单选按钮,从组合框中选择备份设备。同样可以设置“选项”选项页的内容。

SQL_Server2008数据库备份与恢复

201 SQL Server 数据库的备份和恢复 大到自然灾害,小到病毒感染、电源故障乃至操作员操作失误等,都会影响数据库系统的正常运行和数据库的破坏,甚至造成系统完全瘫痪。数据库备份和恢复对于保证系统的可靠性具有重要的作用。经常性的备份可以有效的防止数据丢失,能够把数据库从错误的状态恢复到正确的状态。如果用户采取适当的备份策略,就能够以最短的时间使数据库恢复到数据损失量最少的状态。 SQL Server 提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。但由于数据库管理系统的特殊性,需要利用SQL Server 提供的工具才能完成以上工作,而简单的文件拷贝导致数据库根本无法正常使用。 这个方法涉及到SQL Server 分离数据库和附加数据库这两个互逆操作工具。 1、分离数据库就是将某个数据库(如student_Mis)从SQL Server 数据库列表中删除,使其不再被SQL Server 管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使用这个数据库。 下面分别介绍这两个步骤的操作细节。 1、分离数据库 分离数据库的操作由以下6步构成。 1) 在启动SSMS 并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis 数据库为例。右键单击student_Mis 数据库,在弹出的快捷菜单中选择属性项(图7-42),则数据库属性窗口(图7-43)被打开。 图7-42打开数据库属性窗口 2) 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER ”。

数据库备份与恢复实验

北京邮电大学 实验报告 课程名称数据库系统原理 实验名称数据库备份与恢复实验 计算机学院网络工程11班 薛玥 指导教师吴起凡 成绩 2014-6-1

实验目的 1.理解SQL SERVER数据库的数据备份和恢复机制。 2.掌握SQL SERVER数据库的数据备份和恢复的基本概念,例如备份方式(增量备份和完全备份)、备份介质(文件或者设备)等等。 3.掌握备份和恢复的实际操作,能够备份和将备份恢复,特别是能够恢复到一个新的数据库中。 4.理解备份/维护策略或备份/维护计划的概念。 实验环境 采用SQL SERVER数据库管理系统作为实验平台。其中,SQL SERVER数据库可以采用SQL SERVER2005、2008或2012的企业版。 备份(Backup)和恢复(Restore)为最强有力的恢复手段,它不仅仅应用于保护数据库,而是应用于保护一切信息:我们对于操作系统或者其它各种信息(诸如多媒体文件)等都可以进行备份,待事故时进行恢复。由于硬件故障、用户错误、应用程序故障、软件故障、某用户拥有过多权限、局部灾难等可能导致数据库故障,所以DBA(数据库管理员)必须在平时做好备份工作,而且因为故障发生时刻是未知的,还必须做多个备份,从而可以恢复到故障前尽可能短时间的数据库状态以减少损失。DBA必须做好备份/恢复计划,并实际验证之,以确保故障时能够恢复数据库。 实验内容与步骤 一、校验数据库 在执行数据库备份之前,首先必须保证数据库的一致性。 通过实验指导书,我明白使用工具DBCC。可以用两种方法运行DBCC:通过命令行窗口或查询分析器(Query Analyzer)窗口。如果你认为必要,你还可以确定其操作的时间。(我从未感到有必要这样做,因为在微软的所有产品中,我对SQL Server的稳定性最为自信。我认为它是雷蒙德推出的最佳产品。但是,感觉也可能出错。) DBCC命令包括以下扩展: CheckDB:检测整个数据库的一致性,是检查数据库破坏的基本方法。 CheckTable:检测特定表的问题。 CheckAlloc:检测数据库的单个页面,包括表和目录。 Reindex:重建某个特定表的目录。 CacheStats:说明当前存储在内存缓存中的对象。 DropCleanBuffers:释放当前存储在缓冲区中的所有数据,这样你就可以继续进行检测,而不必使用前面的结果。 Errorlog:删除(缩短)当前日志。

oracle数据库备份与恢复方案

oracle数据库备份与恢复方案 受控不受控

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (1) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (2) 九、数据恢复 (3)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中 五、数据备份 1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统 进行停机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式为手工备份,使用RMAN执行备份; 2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同 时,还需要尽可能缩短恢复时间,数据库的日常备份策略如下: (1)确保数据库处于ArchiliveLog模式; (2)每日凌晨01:00执行数据库全备份,含控制文件备份;

最新oracle数据库备份与恢复方案

oracle数据库 备份与恢复方案 文件控制受控不受控 文档编号日期项目名称版本号 分册名称第册/共册总页数正文附录 编制审批生效日期

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (2) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (3) 九、数据恢复 (4)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本 中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、 归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份, 增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化 的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不 关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中

五、数据备份 1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统进行停 机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式 为手工备份,使用RMAN执行备份; 2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同时,还需 要尽可能缩短恢复时间,数据库的日常备份策略如下: (1)确保数据库处于ArchiliveLog模式; (2)每日凌晨01:00执行数据库全备份,含控制文件备份; (3)每四小时间隔执行数据库归档日志备份,含控制文件备份; (4)每间隔两周执行数据库与应用系统文件备份,执行时间:数据库服务器在第一周的周六05:00,应用服务器在第一周的周六7:00。 3.每周一将上周的备份文件拷贝到其它存储介质上; 4.每月一号将上月最后一周的备份文件刻录到光盘上。 六、备份的存储 1.在确保成功备份数据的同时,必须严格保证存储结构的完整性,在备份服务器 或备份带库上需要保留足够的剩余空间,以存储需要保存的多份备份文件; 2.如项目上采用了专门的备份软件,有专用的备份存储,应提前规划好备份的存 储空间,比如按时间特征存储相对应的备份:年备份池、月备份池、日备份池; 和按类型存储的备份池:os文件系统池、db数据库池等; 3.如未采用专门的备份软件,在备份服务器上架设专门的ftp服务器,每次备份之 后,由计划任务定时调度,将备份数据传输至备份服务器,传输备份数据的时 间应选在服务器业务较少的空闲时间进行。 七、备份数据的保存规定 1.年备份永久保存(即每年最后一天的备份) 2.保留最近的12期月备份(即每月最后一天的备份)

相关主题
文本预览
相关文档 最新文档