RMAN备份恢复

Wesley13
• 阅读 687

#1介绍 RMAN是Recovery Manager的缩写,为Oracle的恢复管理器,是Oracle数据库推荐提供的一种恢复和备份数据库的工具,也是数据库管理员管理数据库常用的工具之一。 它是物理备份,而EXP是逻辑备份 它可以实现一致性备份,非一致性备份,增量备份,而exp且做不到 很多第三方的工具也是调用rman的脚本来实现备份功能,如赛门铁克,NBU,TSM 它支持多种方式从备份集里恢复数据:基于时间的恢复,基于SCN 的恢复,基于日志序列的恢复,只读表空间的恢复,归档重做日志的还原。而exp只能还原你备份的那状态。 除了rman,Oracle还可以利用闪回区备份数据。 #2个人经验分享 rman可以备份数据库、表空间、数据文件、控制文件以及日志文件。 Oracle运行时有归档模式和非归档模式,用rman在备份数据库,如果你是一致性备份,你需要在mount状态下进行。如果你是非一致性备份数据库,你可以在open状态下备份,但是,前提是数据库需要以归档模式运行。但是在恢复数据库的时候一定要在mount状态下进行。如果你使用非归档模式,你是无法在oracle服务(open状态)下进行备份数据库的。 rman备份还原表空间的时候,可以在open状态下进行,只需要把当前表空间设置成离线,其它的表空间正常运行。 rman可以从备份集里面指定某一时间点来还原。 rman在做数据恢复的时候,它是要依赖数据文件,控制文件,归档日志的,所以这些文件也需要定时备份。 #3前期准备 ##3.1修改数据库为归档模式

sqlplus /nolog (启动sqlplus)
SQL> conn / as sysdba (以DBA身份连接数据库)
SQL> shutdown immediate; (立即关闭数据库)
SQL> startup mount (启动实例并加载数据库,但不打开)
SQL> alter database archivelog; (更改数据库为归档模式)
SQL> alter database open; (打开数据库)
SQL> alter system archive log start; (启用自动归档)
SQL> exit (退出)

如果linux找不到命令请执行:source /home/oracle/.bash_profile ##3.2修改时间格式 由于在后面恢复数据库操作时,看备份集的时间不好看,所以我设置一下时间格式

vi /etc/profile
#加入下面来句话
export NLS_LANG=AMERICAN  ##如果这句不写,下面句不起作用
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
:wq!
source /etc/profile

##3.2创建恢复目录 在使用rman备份数据的时候,它是依赖一些控制文件等东西,所以你可以创建一个恢复目录,也可以不创建(使用控制文件),而这里的恢复目录其实是一个oracle的数据库,而且它也是有必要做备份的。为了数据安全起见,一般会把恢复目录的数据库创建在另外一个Oracle服务器上,而不是在同一个数据库中或者同一个服务器上,因为防止出现服务器宕机,导致数据文件一起丢失,而不能进行恢复,但是这里为了演示,就直接把恢复目录同时创建在本机上。 创建恢复目录的步骤分为创建恢复目录数据库并创建用户、给恢复目录用户赋角色和权限、创建恢复目录三个步骤。

--创建恢复目录专用的表空间rmtablespace
    create tablespace rmtablespace datafile '/home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf'
    size 100m
    autoextend on next 10m maxsize 500m
    permanent
    extent management local;
    --创建用户bkp
    create user bkp--用户名
      identified by "123456"--密码
      default tablespace rmtablespace--表空间名
      temporary tablespace temp --临时表空间名
      quota unlimited on rmtablespace--表空间无限制
      profile DEFAULT    --数据文件(默认数据文件)
      account unlock-- 账户是否解锁(lock:锁定、unlock解锁)
    -- 授权系统管理员权限
    grant dba to bkp;
    grant connect to bkp;
    grant resource to bkp;
    --授权拥有恢复目录权限
    grant recovery_catalog_owner to bkp;

通过创建好的恢复目录用户进行登录连接到恢复目录数据库,执行命令如下:

[oracle@cd555c73f2d7 /]$ rman

Recovery Manager: Release 11.2.0.1.0 - Production on Wed Feb 20 19:24:03 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect catalog bkp/123456;

connected to recovery catalog database

RMAN> create catalog;

recovery catalog created

RMAN> 

至此,RMAN的恢复目录已经创建完毕。 下面用RMAN连接恢复目录和注册

[oracle@cd555c73f2d7 /]$ rman target / catalog bkp/123456@helowin;

Recovery Manager: Release 11.2.0.1.0 - Production on Wed Feb 20 19:31:17 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: HELOWIN (DBID=1384114315)
connected to recovery catalog database

RMAN> register database;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

RMAN> 

完成。 ##3.3创建一个用来做实验的用户

--创建恢复目录专用的表空间rmtablespace
create tablespace testsp
datafile '/home/oracle/app/oracle/oradata/testsp.dbf'
size 100m
autoextend on next 10m maxsize 500m
permanent
extent management local;


--创建用户rm
create user testdb--用户名
  identified by "123456"--密码
  default tablespace testsp--表空间名
  temporary tablespace temp --临时表空间名
  quota unlimited on testsp--表空间无限制
  profile DEFAULT    --数据文件(默认数据文件)
  account unlock-- 账户是否解锁(lock:锁定、unlock解锁)
  
  
-- 授权系统管理员权限
grant dba to testdb;
grant connect to testdb;
grant resource to testdb;

登录进去testdb,插入一些测试数据

---一些用来后面测试的数据
CREATE TABLE A(name varchar(255));
--插入一条测试数据
insert into A values ('我是状态一');

#4简单的备份还原 ##4.1备份数据库 创建一个用来保存备份数据的目录

mkdir -p /home/oracle/oracle_bkp

执行备份语句 通过format来指定备份文件的路径

rman target / catalog bkp/123456@helowin;
backup as compressed backupset full database format '/home/oracle/oracle_bkp/db_%d_%s_%p_%t_%T.bkp' include current controlfile plus archivelog delete all input;

运行效果:

RMAN> backup as compressed backupset full database format '/home/oracle/oracle_bkp/db_%d_%s_%p_%t_%T.bkp' include current controlfile plus archivelog delete all input;


Starting backup at 2019-02-21 08:41:57
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=226 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=1 RECID=1 STAMP=1000759626
input archived log thread=1 sequence=2 RECID=2 STAMP=1000759707
input archived log thread=1 sequence=3 RECID=3 STAMP=1000759727
input archived log thread=1 sequence=4 RECID=4 STAMP=1000768684
input archived log thread=1 sequence=5 RECID=5 STAMP=1000802517
channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:41:58
channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:01
piece handle=/home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084158_g6vwypn9_.bkp tag=TAG20190221T084158 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 2019-02-21 08:42:01

Starting backup at 2019-02-21 08:42:01
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/home/oracle/app/oracle/oradata/helowin/system01.dbf
input datafile file number=00002 name=/home/oracle/app/oracle/oradata/helowin/sysaux01.dbf
input datafile file number=00005 name=/home/oracle/app/oracle/oradata/helowin/example01.dbf
input datafile file number=00006 name=/home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf
input datafile file number=00007 name=/home/oracle/app/oracle/oradata/testsp.dbf
input datafile file number=00003 name=/home/oracle/app/oracle/oradata/helowin/undotbs01.dbf
input datafile file number=00004 name=/home/oracle/app/oracle/oradata/helowin/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:42:01
channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:16
piece handle=/home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp tag=TAG20190221T084201 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:42:17
channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:18
piece handle=/home/oracle/oracle_bkp/db_HELOWIN_7_1_1000802536_20190221.bkp tag=TAG20190221T084201 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2019-02-21 08:42:18

Starting backup at 2019-02-21 08:42:18
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=6 RECID=6 STAMP=1000802539
channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:42:19
channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:20
piece handle=/home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084219_g6vwzcx2_.bkp tag=TAG20190221T084219 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2019-02-21 08:42:20

查看备份的结果:

list backup summary;#查看备份简略信息
list backup;#查看备份信息
list backup of database;#查看数据的备份信息
list backup of controlfile;#查看备份的控制文件
delete backup;#删除备份信息


RMAN>  list backup summary;


List of Backups
===============
Key     TY LV S Device Type Completion Time     #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
5       B  A  A DISK        2019-02-21 08:41:59 1       1       NO         TAG20190221T084158
6       B  F  A DISK        2019-02-21 08:42:15 1       1       NO         TAG20190221T084201
7       B  F  A DISK        2019-02-21 08:42:18 1       1       NO         TAG20190221T084201
8       B  A  A DISK        2019-02-21 08:42:19 1       1       NO         TAG20190221T084219

RMAN> list backup;


List of Backup Sets
===================


BS Key  Size       Device Type Elapsed Time Completion Time    
------- ---------- ----------- ------------ -------------------
5       91.88M     DISK        00:00:01     2019-02-21 08:41:59
        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084158
        Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084158_g6vwypn9_.bkp

  List of Archived Logs in backup set 5
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  1    1       1087725    2016-01-04 01:28:54 1096319    2019-02-20 20:47:06
  1    2       1096319    2019-02-20 20:47:06 1097139    2019-02-20 20:48:27
  1    3       1097139    2019-02-20 20:48:27 1097176    2019-02-20 20:48:47
  1    4       1097176    2019-02-20 20:48:47 1108472    2019-02-20 23:18:03
  1    5       1108472    2019-02-20 23:18:03 1133379    2019-02-21 08:41:57

BS Key  Type LV Size       Device Type Elapsed Time Completion Time    
------- ---- -- ---------- ----------- ------------ -------------------
6       Full    1.03G      DISK        00:00:14     2019-02-21 08:42:15
        BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084201
        Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp
  List of Datafiles in backup set 6
  File LV Type Ckp SCN    Ckp Time            Name
  ---- -- ---- ---------- ------------------- ----
  1       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/system01.dbf
  2       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/sysaux01.dbf
  3       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/undotbs01.dbf
  4       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/users01.dbf
  5       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/example01.dbf
  6       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf
  7       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/testsp.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time    
------- ---- -- ---------- ----------- ------------ -------------------
7       Full    9.67M      DISK        00:00:02     2019-02-21 08:42:18
        BP Key: 7   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084201
        Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_7_1_1000802536_20190221.bkp
  SPFILE Included: Modification time: 2019-02-21 08:32:57
  SPFILE db_unique_name: HELOWIN
  Control File Included: Ckp SCN: 1133415      Ckp time: 2019-02-21 08:42:16

BS Key  Size       Device Type Elapsed Time Completion Time    
------- ---------- ----------- ------------ -------------------
8       31.50K     DISK        00:00:00     2019-02-21 08:42:19
        BP Key: 8   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084219
        Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084219_g6vwzcx2_.bkp

  List of Archived Logs in backup set 8
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  1    6       1133379    2019-02-21 08:41:57 1133420    2019-02-21 08:42:19

RMAN> 

模拟误操作删除表数据或者数据文件

delete  from A

执行数据库还原操作,数据还原无论是归档还是非归档都要求是mount状态下进行

sqlplus / as sysdba
shutdown immediate;
startup mount;
exit

rman target / 
run {
restore database;
recover database;
alter database open;
}

可以发现数据库是恢复了,但是表的数据还是没有还原。 或许你应该进行非完整性恢复 先在测试库放点测试数据

insert into A values ('我是状态二');
--设置时间格式
alter session set nls_date_format="YYYY-MM-dd hh24:mi:ss"
--查看当前的时间
select sysdate from dual;
--返回2019/2/21 9:06:37


--再插入一条测试数据
insert into A values ('我是状态三');
--查看当前的时间
select sysdate from dual;
--返回的是2019/2/21 9:07:45

现在我要把数据库还原到2019/2/21 9:06:37,只有“我是状态二”一条数据

sqlplus / as sysdba
shutdown immediate;
startup mount;
exit

rman target / 
run {
sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';
set until time = '2019/2/21 09:06:37';
restore database;
recover database;
alter database open resetlogs;
}

除了上面根据基于时间的恢复,还可以来一个基于SCN 的恢复

RMAN> list backup;


List of Backup Sets
===================


BS Key  Size       Device Type Elapsed Time Completion Time    
------- ---------- ----------- ------------ -------------------
5       91.88M     DISK        00:00:01     2019-02-21 08:41:59
        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084158
        Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084158_g6vwypn9_.bkp

  List of Archived Logs in backup set 5
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  1    1       1087725    2016-01-04 01:28:54 1096319    2019-02-20 20:47:06
  1    2       1096319    2019-02-20 20:47:06 1097139    2019-02-20 20:48:27
  1    3       1097139    2019-02-20 20:48:27 1097176    2019-02-20 20:48:47
  1    4       1097176    2019-02-20 20:48:47 1108472    2019-02-20 23:18:03
  1    5       1108472    2019-02-20 23:18:03 1133379    2019-02-21 08:41:57

BS Key  Type LV Size       Device Type Elapsed Time Completion Time    
------- ---- -- ---------- ----------- ------------ -------------------
6       Full    1.03G      DISK        00:00:14     2019-02-21 08:42:15
        BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084201
        Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp
  List of Datafiles in backup set 6
  File LV Type Ckp SCN    Ckp Time            Name
  ---- -- ---- ---------- ------------------- ----
  1       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/system01.dbf
  2       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/sysaux01.dbf
  3       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/undotbs01.dbf
  4       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/users01.dbf
  5       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/example01.dbf
  6       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf
  7       Full 1133410    2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/testsp.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time    
------- ---- -- ---------- ----------- ------------ -------------------
7       Full    9.67M      DISK        00:00:02     2019-02-21 08:42:18
        BP Key: 7   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084201
        Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_7_1_1000802536_20190221.bkp
  SPFILE Included: Modification time: 2019-02-21 08:32:57
  SPFILE db_unique_name: HELOWIN
  Control File Included: Ckp SCN: 1133415      Ckp time: 2019-02-21 08:42:16

BS Key  Size       Device Type Elapsed Time Completion Time    
------- ---------- ----------- ------------ -------------------
8       31.50K     DISK        00:00:00     2019-02-21 08:42:19
        BP Key: 8   Status: AVAILABLE  Compressed: NO  Tag: TAG20190221T084219
        Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084219_g6vwzcx2_.bkp

  List of Archived Logs in backup set 8
  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time
  ---- ------- ---------- ------------------- ---------- ---------
  1    6       1133379    2019-02-21 08:41:57 1133420    2019-02-21 08:42:19

基于SCN恢复

run{
set until scn=1133410;
restore database from tag='TAG20190221T084201';
recover database;
sql 'alter database open resetlogs';
}

执行过程如下:

RMAN> run{
set until scn=1133410;
restore database from tag='TAG20190221T084201';
recover database;
sql 'alter database open resetlogs';
}2> 3> 4> 5> 6> 

executing command: SET until clause

Starting restore at 2019-02-21 09:15:34
using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /home/oracle/app/oracle/oradata/helowin/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /home/oracle/app/oracle/oradata/helowin/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /home/oracle/app/oracle/oradata/helowin/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /home/oracle/app/oracle/oradata/helowin/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /home/oracle/app/oracle/oradata/helowin/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf
channel ORA_DISK_1: restoring datafile 00007 to /home/oracle/app/oracle/oradata/testsp.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp
channel ORA_DISK_1: piece handle=/home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp tag=TAG20190221T084201
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
Finished restore at 2019-02-21 09:15:59

Starting recover at 2019-02-21 09:15:59
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 2019-02-21 09:15:59

sql statement: alter database open resetlogs

RMAN> 

当你反复执行上面的还原操作的时候,可能会报错,找不到备份集,那时候你应该设置数据库的原型序列

RMAN> list incarnation;查看数据库的原型序列


List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       HELOWIN  1384114315       PARENT  945184     2014-08-23 06:26:21
2       2       HELOWIN  1384114315       PARENT  1087725    2016-01-04 01:28:54
4       4       HELOWIN  1384114315       CURRENT 1133411    2019-02-21 09:15:59
3       3       HELOWIN  1384114315       ORPHAN  1134347    2019-02-21 09:00:43

RMAN> RESET DATABASE TO INCARNATION 4;  设置原型序列

restore 是还原,文件级的恢复,就是物理文件还原,所以只有当数据文件或其他文件丢失时,使用restore进行还原,还原的前提是数据库在mount状态下。 RMAN使用RECOVER命令可以恢复数据库,该命令是负责把归档日志文件用于重建的数据文件,来完成数据库的同步恢复。recover恢复是数据级的恢复,逻辑上恢复,即是一步一步利用归档日志恢复到出事的那个时间点,保持数据的一致性。但是,recover恢复的前提得是数据库开启了归档日志模式。 在实际应用中,restore还原和recover恢复是结合一起使用的,假如出现数据文件丢失导致数据库宕机时,我们首先是利用restore命令把之前定时备份好的数据文件还原到备份的时间点,然后再利用recover命令通过归档日志把还原点到出事点之间的数据进行恢复。最终完成数据库的完全恢复。

#4.2表空间备份还原

#备份语句
backup tablespace testsp format '/home/oracle/oracle_bkp/tablespaces_%d_%s_%p_%t_%T.bkp'  plus archivelog;


#还原语句
run{
sql 'alter tablespace testsp offline immediate';
recover tablespace testsp until time "to_date('2019-02-20 17:52:06','yyyy-mm-dd hh24:mi:ss')" auxiliary destination '/home/oracle/prod';
sql 'alter tablespace testsp online';
} 

auxiliary destination是存放辅助库文件,必须的。或许是因为当前表空间正在被使用。 表空间的备份还原不需要在mount状态下进行。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
PG_RMAN使用手册
众所周知,Oracle下可以使用rman进行物理备份,支持数据库的全量、增量、归档的备份模式;而PostgreSQL作为开源数据库,也推出了开源功工具pg\_rman,同样具备了oraclerman大部分的功能。本文写的很早,近期才翻出来,挂到博客上,希望能帮助需要的朋友。1、下载安装软件root@mydb01~wget
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
mysqldump 逻辑备份和物理备份
逻辑备份逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现。工具:mysqldump特点:1、可移植性比较强2、备份和恢复的花费时间长,不适用于大型业务系统物理备份物理备份就是备份数据文件了,比较形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单。工具:xtraba
Wesley13 Wesley13
3年前
Oracle 12 Rman增量备份
1、增量备份增量备份主要作用是仅复制自上次备份以来已更改的数据块。您可以使用RMAN创建数据文件,表空间或整个数据库的增量备份。将增量备份作为策略的一部分的主要原因是:用于基于增量更新备份的策略,其中这些增量备份用于定期前滚数据库的映像副本;减少每日备份所需的时间;通过网络备份时节省网
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这