IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle11g DG实战配置(Windows版)(三)主库数据库归档配置 -> 正文阅读

[大数据]Oracle11g DG实战配置(Windows版)(三)主库数据库归档配置

3.1 开启数据库归档

查看当前数据库归档模式

archive log list

?启动数据库归档模式(需停机后在mount模式下修改)

shutdown immediate         # 关闭数据库?
startup mount              # 启动实例并挂载数据库?
alter database archivelog; # 更改数据库为归档模式?
alter database open;       # 打开数据库?
alter system archive log start; # 启用自动归档
shutdown immediate         # 关闭数据库?
startup                    # 正常启动数据库?


3.2 配置数据库自动归档

3.2.1 方法一(命令设定方式)

查看数据库当前归档状态

archive log list;

?查看当前归档文件格式

show parameter log_archive_format

?查看当前归档文件路径及归档空间大小

show parameter DB_RECOVERY_FILE_DEST

?修改当前归档文件格式为%t_%s_%r.arch,以便与数据库文件区分(不影响归档文件使用,重启生效)

alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;

禁用数据库默认闪回区

alter system set db_recovery_file_dest = '' scope=spfile;

清空数据库默认闪回区路径(建议使用log_archive_dest_n来替代log_archive_dest,这两个参数不能同时配置,否则可能会导致数据库无法启动)

alter system set log_archive_dest = '' scope=spfile;

设置系统自定义归档区

alter system set log_archive_dest_1 = 'location=D:/Oracle/oralog' scope=spfile;

重启数据库使修改生效

shutdown immediate?
startup

再次确认数据库归档状态

archive log list;

3.2.2 方法二(pfile文件配置)

方法一的设定方式,也可通过直接修改pfile文件达到目的
查看当前数据库pfile文件路径

show parameter spfile

show parameter pfile

直接编辑D:\Oracle\product\11.2.0\dbhome_1\database\SPFILEPMS.ORA文件(windows建议用记事本编辑,避免字符问题)
修改以下内容:

*.log_archive_dest_1='location=D:/Oracle/oralog'
*.log_archive_dest=''
*.log_archive_format='%t_%s_%r.arch'
*.db_recovery_file_dest=''

修改完成后重启数据库,能达到同样效果

3.3 验证归档

手动执行一次归档,即可在D:\Oracle\oralog下查看到归档文件

alter system switch logfile;

或通过RMAN进行手动归档

backup archivelog all;

查看归档日志信息

select recid, name, first_time,next_time from v$archived_log;

或通过RMAN查看归档日志信息

list backup;

3.4 RMAN备份

RMAN备份的前提需要开启数据库归档,因此上面的日志归档必须开启

RMAN连接数据库

rman target /

查看当前数据库RMAN备份配置

show all;

配置说明:

RMAN> show all;?
使用目标数据库控制文件替代恢复目录?
db_unique_name 为 PMS 的数据库的 RMAN 配置参数为:?
# 指定RMAN保留多少份完全或级别为0的备份,超过的将被标记为冗余备份,默认为1?
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;?
# 备份优化功能开关,默认为off?
CONFIGURE BACKUP OPTIMIZATION OFF; # default?
# 指定备份时I/O操作的设备类型?
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default?
# 自动备份控制文件,默认为OFF?
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default?
# 自动备份控制文件的路径和格式,%F处可定义路径,如“E:\BACKUP\%F”?
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default?
# 配置数据库备份并行度,该并行度决定了备份时可开启的通道数,默认为1?
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default?
# 配置备份时生成数据文件的份数(该配置仅在自动分配通道时有效)?
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default?
# 配置备份时生成归档文件的份数(该配置仅在自动分配通道时有效)?
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default?
# 配置备份集大小,默认不限制?
CONFIGURE MAXSETSIZE TO UNLIMITED; # default?
# 加密备份集,默认为OFF?
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default?
# 配置加密算法,默认采用AES128算法加密?
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default?
# 配置压缩算法,默认采用BASIC算法压缩?
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default?
# 配置归档文件删除策略,默认为NONE,表示归档备份完成后就可以被删除;但在DG环境中,DBA要保证归档文件在备机(standby)成功接收并应用之前始终保留该文件,因此在DG环境中需要设置为applied on standby?
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default?
# 设定控制文件的快照文件存放路径(快照文件在备份期间生成,用于控制备份文件的读一致性)?
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFPMS.ORA'; # default

注:RMAN备份需要确保:
1.确保CONTROLFILE AUTOBACKUP处于OFF状态(若不处于OFF状态,手动执行备份时会将controlfile备份出的文件当作冗余文件删除);
2.确保DEVICE TYPE等也需要保持默认(否则执行手动备份时会去配置的目录下检查冗余,而不是在备份输出目录下检查)
恢复上面两条为默认的方法:

configure controlfile autobackup clear;?
configure controlfile autobackup format for device type disk clear;?
configure CHANNEL DEVICE TYPE DISK clear

3.4.1 配置RMAN备份

修改备份并行级别(通道数)为4(根据自身服务器情况配置)

CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

恢复I/O操作的设备类型(默认备份设备为磁盘)

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

设置备份文件格式(只适用于磁盘设备)

configure channel 1 device type disk format 'D:/Oracle/oraback/backup1_%U';
configure channel 2 device type disk format 'D:/Oracle/oraback/backup2_%U';
configure channel 3 device type disk format 'D:/Oracle/oraback/backup3_%U';
configure channel 4 device type disk format 'D:/Oracle/oraback/backup4_%U';

打开控制文件与服务器参数文件自动备份

configure controlfile autobackup on;

设置控制文件与服务器参数文件自动备份格式

configure controlfile autobackup format for device type disk to 'D:/Oracle/oraback/ctl_%F';

3.4.2 查看备份方案报表

report schema;

3.4.3 执行全库备份

备份全库(备份全库(database)及控制文件(controlfile)、参数文件(spfile)、归档日志(Archive log)、重做日志(Redo log),删除已备份的相关日志,若不想删除备份日志,去掉delete input即可)

backup database plus archivelog delete input;

?此时发现旧的归档日志已被清理

3.4.4 其他备份方案

备份表空间(备份全库及控制文件、参数文件,并重做归档日志,删除已备份的归档日志)

backup tablespace system plus archivelog delete input;

备份归档日志(删除已备份的归档日志)

backup archivelog all delete input;

3.4.5 其他指令

查看备份列表

list backup;

交叉验证备份

crosscheck backup;

报告过期备份文件

report obsolete;

删除过期备份文件(RMAN会根据备份冗余策略确定备份是否过期,noprompt表示无需确认直接执行,若需确认,可去除该标识)

delete noprompt obsolete;

交叉验证归档日志

crosscheck archivelog all;

删除失效归档日志(noprompt表示无需确认直接执行,若需确认,可去除该标识)

delete noprompt expired archivelog all;

删除3天前归档日志(仅删除标记为失效的归档日志)

delete archivelog all completed before 'sysdate-3';


3.5 自动化备份脚本

第一、以下脚本为本人数据库搭建测试使用,生产环境要使用时,请仔细核对其中配置。

第二、下面脚本中.bat文件为windows脚本文件,可用于Windows定时任务设置使用,.txt为RMAN执行脚本,专供.bat脚本调用。所有脚本均存放在“D:/Oracle/oracmd”目录下,若您的存放位置发生改变,记得修改脚本中的路径

第三,若您后面有配置DG后,请将以下.bat脚本中RMAN登录方式进行修改,强烈建议您使用具体用户登录rman,而非使用“/”登录。如:

全量备份脚本内容:

rman target sys/000000@pms_standby nocatalog cmdfile='D:\Oracle\oracmd\fullback_shell.txt' log='D:\Oracle\oraback\fullback.log'

0级增量备份脚本内容:

rman target sys/000000@pms_standby nocatalog cmdfile='D:\Oracle\oracmd\incrback0_shell.txt' log='D:\Oracle\oraback\incrback0.log'

1级增量备份脚本内容:

rman target sys/000000@pms_standby nocatalog cmdfile='D:\Oracle\oracmd\incrback1_shell.txt' log='D:\Oracle\oraback\incrback1.log'

3.5.1 全量备份

fullback.bat

rman target / nocatalog cmdfile='D:\Oracle\oracmd\fullback_shell.txt' log='D:\Oracle\oraback\fullback\fullback.log'

fullback_shell.txt

run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
crosscheck backup;
delete archivelog all completed before 'sysdate-3';
crosscheck archivelog all;
delete noprompt expired archivelog all;
backup as compressed backupset database filesperset 10 format 'D:\Oracle\oraback\fullback\full_%d_%T_%s.dbf';
sql 'alter system archive log current';
backup as compressed backupset archivelog all filesperset 10 format 'D:\Oracle\oraback\fullback\log_%d_%T_%s.log';
backup current controlfile format 'D:\Oracle\oraback\fullback\ctl_%d_%T_%s.ora';
release channel d1;
release channel d2;
release channel d3;
report obsolete;
delete noprompt obsolete;
}
exit

注:
备份完成后会在F:\dbbacks\fullback目录下创建相关备份文件,文件说明:
full_xxxx.dbf:数据文件备份文件,其中会包含控制文件和spfile参数文件备份
log_xxxx.log:归档日志文件备份文件
ctl_xxxx.ora:控制文件备份文件,该文件为本次备份时的控制文件,下次备份时会当作冗余文件清理(若开启自动备份,则该文件会被自动清理)

3.5.2 增量备份

incrback0.bat

rman target / nocatalog cmdfile='D:\Oracle\oracmd\incrback0_shell.txt' log='D:\Oracle\oraback\incrback\incrback0.log'

incrback0_shell.txt

run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
crosscheck archivelog all;
delete noprompt expired archivelog all;
backup incremental level 0 database filesperset 10 format 'D:\Oracle\oraback\incrback\incr0_%d_%T_%s.dbf' plus archivelog format 'D:\Oracle\oraback\incrback\log0_%d_%T_%s.log';
backup current controlfile format 'D:\Oracle\oraback\incrback\ctl0_%d_%T_%s.ora';
backup spfile format 'D:\Oracle\oraback\incrback\spf0_%d_%T_%s.ora';
release channel d1;
release channel d2;
release channel d3;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
delete archivelog all completed before 'sysdate-3';
crosscheck archivelog all;
delete noprompt expired archivelog all;
}
exit

incrback1.bat

rman target / nocatalog cmdfile='D:\Oracle\oracmd\incrback1_shell.txt' log='D:\Oracle\oraback\incrback\incrback1.log'

incrback1_shell.txt

run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
crosscheck archivelog all;
delete noprompt expired archivelog all;
backup incremental level 1 database filesperset 10 format 'D:\Oracle\oraback\incrback\incr1_%d_%T_%s.dbf' plus archivelog format 'D:\Oracle\oraback\incrback\log1_%d_%T_%s.log';
backup current controlfile format 'D:\Oracle\oraback\incrback\ctl1_%d_%T_%s.ora';
backup spfile format 'D:\Oracle\oraback\incrback\spf1_%d_%T_%s.ora';
release channel d1;
release channel d2;
release channel d3;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
delete archivelog all completed before 'sysdate-3';
crosscheck archivelog all;
delete noprompt expired archivelog all;
}
exit

注:
增量备份分为两部分,增量备份0和增量备份1,增量备份1是基于最近一次增量备份0进行的备份,因此要建立增量备份1,需要先建立增量备份0;新的备份0创建时,会根据策略将旧的备份标记为无效备份(无效备份可被清理)

以上,RMAN备份的内容就完了,至于RMAN恢复的问题,等后面开其他篇章再说。RMAN备份和恢复问题不属于本次DG搭建的主要内容,因此不过多阐述。

上一篇:Oracle11g DG实战配置(Windows版)(二)主库安装与基础配置

下一篇:Oracle11g DG实战配置(Windows版)(四)备库数据库安装

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:03:44  更:2022-09-24 21:05:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:50:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码