首页 > 数据库 > 国内数据库 > disql 联机物理备份
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/ ,如需转载,请注明出处,否则将追究法律责任。