ITPub博客

首页 > 数据库 > 国内数据库 > disql 联机物理备份

disql 联机物理备份

原创 国内数据库 作者:1209082587 时间:2020-10-12 15:15:42 0 删除 编辑

disql  联机备份:

 

1  数据库备份

语法:

BACKUP DATABASE [[[FULL] [DDL_CLONE]]| INCREMENT [CUMULATIVE][WITH BACKUPDIR '<  基备份搜索目录 >'{,'< 基备份搜索目录 >'} |[BASE ON <BACKUPSET '< 基备份目录 >']][TO < 备份 名 >]BACKUPSET ['< 备份集路径 >']

[DEVICE TYPE < 介质类型 > [PARMS '< 介质参数 >']]

[BACKUPINFO '< 备份描述 >'] [MAXPIECESIZE < 备份片限制大小 >]

[IDENTIFIED BY < 密码 >[WITH ENCRYPTION<TYPE>][ENCRYPT WITH < 加密算法 >]] [COMPRESSED [LEVEL < 压缩级别 >]] [WITHOUT LOG]

[TRACE FILE '< TRACE  文件名 >'] [TRACE LEVEL < TRACE  日志级别 >]

[TASK THREAD < 线程数 >][PARALLEL [< 并行数 >]];

 

常用:

1  指定备份集路径为 “/home/dm_bak/db_bak_3_01” 。

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_3_01';

 

2  创建备份集,备份名设置为 “WEEKLY_FULL_BAK” 。

SQL>BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET '/home/dm_bak/db_bak_3_02';

 

3  指定备份数据库到磁带。

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_3_03' DEVICE TYPE TAPE;

 

4  创建备份为备份集添加描述信息为 “ 完全备份 ” 。

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_3_04' BACKUPINFO ' 完全备份 ';

 

5  创建备份限制备份片大小为  300M 。

SQL> BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_3_05' MAXPIECESIZE 300;

 

6  执行备份压缩 , 压缩级别设置为  5 。

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_3_06' COMPRESSED LEVEL 5;

 

7  创建并行备份,指定并行数为  8 。

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_3_07'PARALLEL 8;

 

完全备份:

SQL>BACKUP DATABASE FULL BACKUPSET '/home/dm_bak/db_full_bak_01';

 

增量备份:

 SQL>BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET '/home/dm_bak/db_increment_bak_02';

 

2  表空间备份

语法:

BACKUP TABLESPACE < 表空间名 > [FULL | INCREMENT [CUMULATIVE][WITH BACKUPDIR '< 基备份搜索目录 >'{,'< 基备份搜索目录 >'}]| [BASE ON BACKUPSET '< 基备份集目录 >']][TO < 备份 名 >] BACKUPSET ['< 备份集路径 >']

[DEVICE TYPE < 介质类型 > [PARMS '< 介质参数 >']]

[BACKUPINFO '< 备份集描述 >'] [MAXPIECESIZE < 备份片限制大小 >]

[IDENTIFIED BY < 加密密码 >[WITH ENCRYPTION<TYPE>][ENCRYPT WITH < 加密算法 >]] [COMPRESSED [LEVEL < 压缩级别 >]]

[TRACE FILE '<TRACE  文件名 >'] [TRACE LEVEL <TRACE  日志级别 >]

[TASK THREAD < 线程数 >][PARALLEL [< 并行数 >]];

 

常用:

同备份数据库一样,执行 表空间备份服务器也必须运行在归档模式下,启动  DIsql  输入以下语句即可备份表空间 :

SQL>BACKUP TABLESPACE MAIN BACKUPSET 'ts_bak_01';

 

以增量备份用户  MAIN  表空间为例,指定  BASE ON  参数执行增量备份:

SQL>BACKUP TABLESPACE MAIN BACKUPSET 'ts_full_bak_01';

SQL>BACKUP TABLESPACE MAIN INCREMENT BACKUPSET 'ts_increment_bak_01'; 

SQL>BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET'ts_full_bak_01' BACKUPSET 'ts_increment_bak_02';

 

完全备份

SQL>BACKUP TABLESPACE MAIN FULL BACKUPSET '/home/dm_bak/ts_full_bak_01';

 

增量备份

 SQL>BACKUP TABLESPACE MAIN INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET '/home/dm_bak/ts_increment_bak_02';

 

 

3  表备份

语法:

BACKUP TABLE < 表名 >

[TO < 备份名 >]

BACKUPSET ['< 备份集路径 >'] [DEVICE TYPE < 介质类型 > [PARMS '< 介质参数 >']] [BACKUPINFO '< 备份集描述 >']

[MAXPIECESIZE < 备份片限制大小 >]

[IDENTIFIED BY < 加密密码 >[WITH ENCRYPTION<TYPE>][ENCRYPT WITH < 加密算法 >]] [COMPRESSED [LEVEL < 压缩级别 >]]

[TRACE FILE '<trace  文件名 >'] [TRACE LEVEL <trace  日志级别 >]

 

常用:

备份数据库与表空间不同,备份表不需要服务器配置归档, DIsql  中输入以下即可 备份用户表 :

SQL>BACKUP TABLE TAB_01 BACKUPSET 'tab_bak_01';

 

完整的备份表步骤如下 :

1)  保证数据库处于 OPEN 状态。 

2)  创建待备份的表 TAB_01:

SQL>CREATE TABLE TAB_01(C1 INT);

3) DIsql 中输入备份表语句,简单的备份语句如下 : 

SQL>BACKUP TABLE TAB_01 BACKUPSET '/home/dm_bak/tab_bak_01';

 

4  归档备份

语法:

BACKUP <ARCHIVE LOG |ARCHIVELOG>

[ALL | [FROM LSN <lsn>]| [UNTIL LSN <lsn>]|[LSN BETWEEN <lsn> AND <lsn>] | [FROM TIME '<time>']|[UNTIL TIME '<time>']|[TIME BETWEEN'<time>'> AND '<time>' ]][<notBackedUpSpec>][DELETE INPUT]

[TO < 备份名 >]

BACKUPSET ['< 备份集路径 >'][DEVICE TYPE < 介质类型 > [PARMS '< 介质参数 >']] [BACKUPINFO '< 备份描述 >']

[MAXPIECESIZE < 备份片限制大小 >]

[IDENTIFIED BY < 密钥 >[WITH ENCRYPTION<TYPE>][ENCRYPT WITH < 加密算法 >]] [COMPRESSED [LEVEL < 压缩级别 >]]

[WITHOUT LOG]

[TRACE FILE '<trace  文件名 >'] [TRACE LEVEL <trace  日志级别 >] [TASK THREAD < 线程数 >][PARALLEL [< 并行数 >]];

 

常用:

DIsql  中输入以下即可备份归档 :

SQL>BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';

 

完整的备份归档步骤如下 :

1)  配置归档。

2)  数据库处于 OPEN 或者 MOUNT 状态。

3) DIsql 中输入备份数据库语句。

例如,备份归档日志,通过  LSN BETWEEN ... AND ... 来指定起始和截至  LSN 。 首先,确定  LSN  范围。

SQL>select ARCH_LSN, CLSN, PATH from V$ARCH_FILE;

查询结果为 :

ARCH_LSN CLSN PATH

38758 40301 d:\arch\ARCHIVE_LOCAL1_20160727105417748.log 

40302 40303 d:\arch\ARCHIVE_LOCAL1_20160727111411079.log 

40304 40305 d:\arch\ARCHIVE_LOCAL1_20160727111513679.log 

......

50412 50413 d:\arch\ARCHIVE_LOCAL1_20160727171801098.log 

50414 50478 d:\arch\ARCHIVE_LOCAL1_20160727171849712.log

......

 

通过查询结果选出备份的起始 LSN 和截至 LSN 。比如 50414 50478

其次,备份归档:

SQL>BACKUP ARCHIVELOG LSN BETWEEN 50414 AND 50478 BACKUPSET '/home/dm_bak/arch_bak_time_14-78';


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31424253/viewspace-2726329/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-12-29

  • 博文量
    35
  • 访问量
    28261