用户管理的备份(一致性备份、非一致性备份、脱机备份、联机备份)

1.备份数据库
概念:指备份数据库的所有数据文件和控制文件,另外还应该备份参数文件和口令文件
注意:当备份数据库时,不要备份重做日志。
1.1一致性备份
概念:数据库一致性备份是指关闭了数据库后备份所有数据文件和控制文件的方法。当使用SHUTDOWN 命令正常关闭了数据库之后,所有数据库文件的当前SCN 值完全一致,所以关闭后的数据库备份被称为数据库一致性备份或者冷备份。
适用:ARCHIVELOG、NOARCHIVELOG
select name from v$datafile union select name from v$controlfile;
shutdown immediate;
copy 文件
startup;
1.2非一致性备份
概念:指在OPEN 状态下备份数据库所有数据文件和控制文件的方法。因为在OPEN 状态下数据库内容随时都会改变,从而导致不同数据库文件的当前SCN值完全不同,所以打开时的数据库备份被称为数据库非一致性备份。
适用:ARCHIVELOG模式。
select name from v$datafile;
alter database begin backup;
copy 文件
Alter database backup controlfile to ‘';
alter database end backup;
alter system archive log current;

2.备份表空间
概念:指在数据库处于OPEN状态时备份起数据文件的方法。
适用:ARCHIVELOG模式。
注意:可以备份表空间的所有数据文件,也可以备份表空间的某个数据文件。
2.1脱机备份
概念:指当表空间处于OFFLINE状态时,备份表空间所有数据文件或单个数据文件的过程。
适用:ARCHIVELOG模式。
优点:会生成较少的重做日志。
缺点:会影响表空间的业务操作。(因为SYSTEM 和正使用的UNDO 表空间都不能被脱机)
select file_name from dba_data_files where tablespace_name='USERS';
alter tablespace users offline;
copy 文件
alter tablespace users online;
2.2联机备份
概念:指当表空间处于ONLINE状态时,备份表空间所有数据文件或单个数据文件的过程。
适用:ARCHIVELOG模式。
优点:不影响表空间上的业务操作。
缺点:会生成更多的REDO信息和归档信息。
select file_name from dba_data_files where tablespace_name='USERS';
alter tablespace users begin backup;
copy 文件
alter tablespace users end backup;

时间: 2009-05-13

MySQL备份与恢复之热拷贝(4)

在上一篇文章中我们提到热备,热备也就是在MySQL或者其他数据库服务在运行的情况下进行备份.本文分享另外一种备份的方法,也就是热拷贝.热拷贝跟热备很类似,只不过热备使用mysqldump命令,热拷贝使用mysqlhotcopy命令.热拷贝的优势在于支持服务运行中进行备份,速度快,性能好:劣势在于只能备份MyIsam的表,无法备份InnoDB的表.所以在生产环境中应该酌情使用. 示意图 热备模拟 第一步,热拷贝 [root@serv01 databackup]# mysqlhotcopy -uro

MySQL备份与恢复之真实环境使用冷备(2)

在上一篇文章(MySQL备份与恢复之冷备)中,我们提到了冷备.但是有个问题,我们存储的数据文件是保存在当前本地磁盘的,如果这个磁盘挂掉,那我们存储的数据不就丢失了,这样备份数据不就功亏一篑,劳而无功.所以真实环境中我们多准备几块磁盘,然后再在这些磁盘上搭建LVM,把MySQL的数据目录挂载到LVM上,这样数据就不是存储在当前磁盘上,就可以保证数据的安全性. 示意图 真实环境使用冷备模拟 第一步,需要提前规划好磁盘,这里做模拟,添加两磁盘   第二步,对磁盘进行分区 [root@serv01 ~]

mysql备份与恢复详解

MYSQL的备份有多少种,请简要的描述:数据库分逻辑备份\物理备份物理备份又分冷备和热备 A.直接拷贝数据文件到安全地方进行保存B.使用MYSQLHOSTCOPY备分数据C.使用MYSQLDUMP备份数据D.使用MYSQL的同步复制,实现数据实时数据同步备份 常用的逻辑备份主要就是两种:一种是将数据生成为可以完全重现当前数据库中的数据的insert语句,另一种是将数据通过逻辑备份软件,将数据库表的数据以特定分隔符进行分割后记录在文本中. 对于第一种生成insert语句来说我们可以直接使用mysq

MySQL备份与恢复之热备(3)

在上两篇文章(MySQL备份与恢复之冷备,MySQL备份与恢复之真实环境使用冷备)中,我们提到了冷备和真实环境中使用冷备.那从这篇文章开始我们看下热备.显然热备和冷备是两个相对的概念,冷备是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝.打包或者压缩命令对数据目录进行备份:那么我们很容易想到热备就是在MySQL或者其他数据库服务在运行的情况下进行备份.但是,这里存在一个问题,因为生产库在运行的情况下,有对该库的读写,读写频率有可能高,也可能低,不管频率高低,总会就会造成备份出来的

MySQL备份与恢复之保证数据一致性(5)

在上一篇文章中我们提到热拷贝(MySQL备份与恢复之热拷贝),热拷贝也就是在MySQL或者其他数据库服务在运行的情况下使用mysqlhotcopy命令进行备份.这篇文章我们讲解怎样保证数据一致性.现在假设有这样一种情况,我们总是在凌晨对数据库进行备份,假设在凌晨之后发生数据库异常,并且导致数据丢失.这样凌晨之前的数据我们已经做了备份,但是凌晨到发生异常这段时间的数据就会丢失(没有binlog的情况下).好在InnoDB存储引擎支持事务,也支持Binlog,凌晨到发生异常这段时间的数据就可以通过日

SQLServer 数据库中如何保持数据一致性

根据实现策略的不同,主要有快照复制.事务复制.合并复制等三种类型.这三种复制类型,各有各的特点,分别适用于不同的场合.一般来说,在考虑采用哪种复制类型比较合适的时候,主要考虑的是性能与数据同步的时间间隔.那么在什么情形下比较适用快照复制呢?笔者就跟大家来讨论一下这个话题. 为了在恰当的时候采用快照复制,数据库管理员首先需要知道快照复制的特点.快照复制是指将数据以特定时刻的瞬时状态转发,而不坚实对数据的更新.在发生同步时,将生成完整的快照并将其发送到订阅服务器.简单的说,快照复制就是每隔一段时间发

MySQL备份与恢复之冷备(1)

用一句话概括冷备,就是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝.打包或者压缩命令对数据目录进行备份.如果数据出现异常,则可以通过备份数据恢复.冷备一般需要定制计划,比如什么时候做备份,每次对哪些数据进行备份等等.但是由于这样的备份占用过多的空间,对大数据量的环境下不一定适合,故生产环境很少使用. 冷备示意图 冷备实验 第一步,创建测试数据库,插入测试数据 mysql> use larrydb; Database changed mysql> show tables; +-

解析Mysql备份与恢复简单总结与tee命令的使用介绍

备份数据方法:一:sql语句.LOCKS TABLES tablename READ;//读锁定尝试锁定表之前,LOCK TABLES不是事务安全型的,会隐含地提交所有活性事务,同时,会隐含地开始一项事务(例如,使用START TRANSACTION),所以,对事务表(如InnoDB)使用LOCK TABLES的正确方法是,设置AUTOCOMMIT=0FLUSH TABLES,SELECT * INTO OUTFILE 'data_bck.sql' FIELDS TERMINATED BY ',

MySQL数据库备份与恢复方法

常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法: (1)备份数据库文件 MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件.在Linux下数据库文件的存放目录一般为/var/lib/mysql.在Windows下这个目录视MySQL的安装路径而定,DiaHosting的技术员一般为客户安装在D:serversoftmysql下.如,有一个名为bbs的数据库,那么bbs的数据库文件会存放在/var/lib/mysql/bbs(linux)或者D:serversoft

JSP使用JDBC连接MYSQL数据库的方法

本文实例讲述了JSP使用JDBC连接MYSQL数据库的方法.分享给大家供大家参考,具体如下: 1. 可在 http://www.mysql.com/products/connector-j/index.html下载MySQL JDBC驱动程序mysql-connector-java-*.jar,如我下载的是mysql-connector-java-5.1.18-bin.jar并加入到ClassPath下面,或加入到项目中.   2. 注册JDBC驱动程序 try { Class.forName(

MySQL数据库修复方法(MyISAM/InnoDB)

在网上找了篇MySQL的技术文章,感觉不错,把它翻译过来共享下.   原文作者:Mike Peters   我整理了7条修复MySQL数据库的方法,当简单的重启对数据库不起作用,或者有表崩溃时.   简单的MySQL重启:   /usr/local/mysql/bin/mysqladmin -uUSERNAME -pPASSWORD shutdown /usr/local/mysql/bin/mysqld_safe &    1.MyISAM表崩溃    MySQL数据库允许不同的表使用不同的存

python使用MySQLdb访问mysql数据库的方法

本文实例讲述了python使用MySQLdb访问mysql数据库的方法.分享给大家供大家参考.具体如下: #!/usr/bin/python import MySQLdb def doInsert(cursor,db): #insert # Prepare SQL query to INSERT a record into the database. sql = "UPDATE EMPLOYEE SET AGE = AGE+1 WHERE SEX = '%c'" %('M') try:

ubuntu系统下 python链接mysql数据库的方法

进入root 权限下 apt-get install mysql-server apt-get install mysql-client 创建数据库 mysql -u root -p passward 链接数据库 create database basename use basename 如果数据库存在要进行改动可以直接使用 mysql -u root -p passward basename 创建表 create table latest_face( id int(11) not null a

thinkPHP使用pclzip打包备份mysql数据库的方法

本文实例讲述了thinkPHP使用pclzip打包备份mysql数据库的方法.分享给大家供大家参考,具体如下: PclZip介绍 PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip.PKZIP);且能对此类类档案进行处理,包括产生压缩档.列出压缩档的内容以及解压缩档案等等 数据库备份是一件非常重要的事情,备份的方式也很多有的通过vps直接进行备份.有的通过phpmyadmin进行数据进行备份.小编觉得这些该麻烦了并且备份好的.sql文件过于太大占用了一定的空间.所以用p

thinkphp3.x连接mysql数据库的方法(具体操作步骤)

本文实例讲述了thinkphp3.x连接mysql数据库的方法.分享给大家供大家参考,具体如下: 惯例配置文件:ThinkPHP/conf/convention.php (1)在配置文件中填写配置信息(配置文件:"./xmall/conf/config.php"): 示例: <?php return array( //'配置项'=>'配置值' /* 数据库设置 */ 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'loc

php上传文件并存储到mysql数据库的方法

本文实例讲述了php上传文件并存储到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 下面的代码分别用于创建mysql表和上传文件保存到mysql数据库 创建mysql表: <?php $con = mysql_connect("localhost", "", ""); mysql_select_db("w3m"); $sql = "CREATE TABLE updfiles (" . &

php导入excel文件到mysql数据库的方法

本文实例讲述了php导入excel文件到mysql数据库的方法.分享给大家供大家参考.具体分析如下: php导入excel文件入mysql数据库我们是需一借助一个phpexcel类文件了,有了这个类文件我们就可以快速简单的导入excel到mysql数据库中,这里就来举个例子给大家说明一下具体用法. 导入前我们需要先准备一个数据库,sql语句代码如下: 复制代码 代码如下: /* Navicat MySQL Data Transfer   Source Server         : local

PHP中用mysqli面向对象打开连接关闭mysql数据库的方法

如下所示: 代码如下: <meta http-equiv="content-type" content="text/html" charset="utf-8"/> <h1>用mysqli面向对象方法连接数据库!-姚远的博客</h1> <form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP