rman 备份恢复1

前提:

rman用户必须具有sysdba权限

使用常用连接方式如下:
rman target /
rman target sys/oracle
rman target sys/oracle@prod1 catalog dav/oracle@dav_db

一个rman连接会产生两个进程,action字段为空的就是rman的监控进程,另一个是主会话。
 

select sid,serial#,module,action from v$session where module like '%rman%';
SID        SERIAL#                 MODULE                ACTION
---------- ---------- -------------------------- --------------------------------
20 20 rman@davdb.us.oracle.com (TNS V1-V3)
139 45 rman@davdb.us.oracle.com (TNS V1-V3) 0000001 FINISHED70


rman 备份主要以备份为主
压缩备份:压缩比5:1

一、介绍
1、备份数据文件、归档、控制文件、spfile
2、自动维护备份相关元数据
3、只备份使用过的数据块
4、自动检测坏块
5、可以对备份文件进行压缩
6、支持增量


二、rman体系结构
1、带库不验证备份集好坏。
2、磁带存储灵活性要比阵列好
3、磁盘阵列速度快还稳定
4、使用带库还要买备份软件
5、如果公司生产库有几十套库,可以考虑使用带库
备份时通道一般分配3-6个就可以。

三、rman备份
在oracle8的时候必须使用catalog库,因为rman恢复命令不支持from 备份集的语句,9i以后就不需
要了。
备份集的存储位置必须是oracle数据库服务器能直接读写的位置。

四、备份集数量由以下几个因素决定:
a、输入文件的数量:一个备份集至少包含一个输入文件,输入文件不可以跨多个备份集,默认一个备份集最多容纳64个输入文件
b、通道的个数,但是也要看文件的个数是否大于等于通道数,如果小于通道数,那么产生的备份集的数量行于实际文件的个数。
c、并行参数的设置
假设:users表空间有两个数据文件

RMAN> backup tablespace users ;这个命令将产生一个备份集。


a、输入文件的数量:一个备份集至少包含一个输入文件,输入文件不可以跨多个备份集,默认一个备份集最多容纳64个输入文件
RMAN> backup tablespace users filesperset 1;

如果users表空间有两个数据文件,filesperset 1所以一次只能输入一个文件,那这个命令将产生两个备份集。
b、通道的个数,但是也要看文件的个数是否大于等于通道数,如果小于通道数,那么产生的备份集的数量行于实际文件的个数。

RMAN> run{
2> allocate channel c1 type disk;--这一段命令也是产生两个备份集3> allocate channel c2 type disk;4> backup tablespace users;5> }


c、并行参数的设置,这条命令也产生两个备份集

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;RMAN> backup tablespace users;RMAN> backup tablespace system section size=100m; --这条命令用来验证一个备份集里可以有多个备份片。RMAN>configure channel device type disk format '/home/oracle/davbak/%d_%U.FULL'
MAXPIECESIZE 20M;


obsolete状态,是针对MAN备份保留策略来说的,超过了这个保留策略的备份,会被标记为
obsolete,但其状态依旧为AVAILABLE,我们可以使用report obsolete来查看已废弃的备份。
删除废弃的备份,可以使用delete noprompt obsolete命令(noprompt是指无需确认):
EXPIRED状态的产生,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上,如果不存在,则状态由AVAILABLE改为EXPIRED。


1、备份表空间的命令
 

rman target /
rman> backup tablespace users format '/home/oracle/bak/%d_%t_%s_%p.bak';
rman> backup device type disk tablespace users to destination '/home/oracle/bak/';
rman>run{
allocate channel c1 device type disk to destination '/home/oracle/bak/';
allocate channel c2 device type disk to destination '/home/oracle/bak/';
backup
(tablespace users channel c1)(tablespace example channel c2);
}

2、创建catalog库
sqlplus sys/oracle@prod4 as sysdba
创建catalog库所有的表空间

SQL> create tablespace ts_catalog datafile '/u01/app/oracle/oradata/PROD4/catalog.dbf' size
400m;


创建用户:
 

SQL> create user rc_admin identified by RC_ADMIN default tablespace ts_catalog;SQL> grant recovery_catalog_owner,unlimited tablespace to rc_admin;grant connect to catalog;--创建catalog目录:[oracle@dav-PROD2 ~]$ rman catalog rc_admin/RC_ADMIN@prod4RMAN> create catalog;
--注册其实数据库实例到catalog库中:[oracle@dav-PROD2 ~]$ rman target sys/oracle@prod2 catalog
rc_admin/RC_ADMIN@prod1RMAN> register database;
--取消注册:unregister database;
--升级catalog库与target库之间rman版本RMAN>upgrade catalog

3、使用catalog方式备份数据库全备:
 

[oracle@edsir4p1-PROD2 ~]$ rman target sys/oracle@dav_prod2 catalog
rc_admin/RC_ADMIN@dav_prod4
RMAN> backup database format '/home/oracle/rman/prod2_%U.bkp' plus archivelog format
'/home/oracle/rman/prod2_%U.arc';

4、给备份集加标签,并做永久保留
 

[oracle@davdb-PROD1 ~]$ rman target sys/oracle@davdb catalog rc_admin/RC_ADMIN@prod4RMAN> backup archivelog all format '/home/oracle/davbak/prod1_%U.arc' tag='Q107' keep
forever;

5、压缩备份 加分片,限制备份片大小
备份某个表空间并分成规定大小的备份片:
多段备份:可以将较大的数据文件备份划分为固定大小的多段备份。rman将大的数据文件划分为文件块,
该划分是将文件逻辑划分为连续块,每个文件块使用一个备份集片
 

rman>backup tablespace system section size=30m format '/home/oracle/bak/%U';RMAN> backup as compressed backupset tablespace example format
'/home/oracle/bak/%d_%U.BAK';--压缩加分片RMAN> CONFIGURE channel device type disk maxpiecesize 100m;--通过修改默认参数来控制备份片大小.RMAN> CONFIGURE MAXSETSIZE TO 800M;--通过修改默认参数设置备份集的大小来间接控制备份片的大小;

6、开启块跟踪
 

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;--打开备份优化设置通过如下命令
SQL> alter database enable block change tracking using file ' /home/oracle/files/bck.dbf';
select status,filename,bytes from v$block_change_tracking;

7、写一个备份脚本,每周做一次全备,每天做两次归档备份,控制文件自动备份

8、冗余策略:
config retention policy to recovery window of 7 days;
crontab常用参数:
冗余份数=恢复时间窗口/全备的间隔时间+1
一份=全备+与下次全备之间的归档
crontab -l //查看当前用户下的cron任务
crontab -e //编辑当前用户的定时任务
crontab -u linuxso -e //编辑用户linuxso的定时任务
具体用法和格式:
基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/71503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt程序退出相关资源释放问题

目录 问题背景: aboutToQuit 代码举例 closeEvent事件 代码举例 程序退出方式 quit() exit(int returnCode 0) close() 问题背景: 实际项目中程序退出前往往需要及进行一些资源释放、配置保存、线程中断等操作,避免资源浪费&#xff…

【DeepSeek】Mac m1电脑部署DeepSeek

一、电脑配置 个人电脑配置 二、安装ollama 简介:Ollama 是一个强大的开源框架,是一个为本地运行大型语言模型而设计的工具,它帮助用户快速在本地运行大模型,通过简单的安装指令,可以让用户执行一条命令就在本地运…

[生活杂项][运动教程]自由泳

https://v.youku.com/v_show/id_XMzgzMjkwMzg0MA.html?spma2h0k.11417342.soresults.dtitle https://v.youku.com/v_show/id_XMzgxNjM2NjY4NA.html?spma2h0k.11417342.soresults.dtitle

Linux的指令与热键

一.指令 1.pwd :显示一个用户当前所处的目录 2.ls :显示当前目录下的文件(显示当前文件属性) ls -l :显示当前目录下文件的属性及更多内容(ll是ls -l的别名,用法相同) ls -l 目录:显示指定目录内容 ls…

【Dubbo+Zookeeper】——SpringBoot+Dubbo+Zookeeper知识整合

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

【OS安装与使用】part5-ubuntu22.04基于conda安装pytorch+tensorflow

文章目录 一、待解决问题1.1 问题描述1.2 解决方法 二、方法详述2.1 必要说明2.2 应用步骤2.2.1 明确pytorch安装依赖2.2.2 conda创建虚拟环境2.2.3 安装pytorch2.2.4 验证pytorch安装2.2.5 安装Tensorflow2.2.6 验证Tensorflow安装 三、疑问四、总结 一、待解决问题 1.1 问题…

马拉车算法

Manacher算法 ,用于处理最长回文字符串的问题,可以在O(n)的情况下,求出一个字符串的最长回文字符串 回文串的基础解法: 以每个点为中心对称点,看左右两边的点是否相同。这种算法的时间复杂度为O&#xff0…

气象学中的CDO插值(多方法+多分辨率)

文章目录 说明CDO代码 说明 需要新建.sh脚本文件,将下面的CDO代码复制到.sh脚本中,然后运行插值程序。 CDO代码 #!/bin/bash # # 用户配置区(按实际需求修改) # input_directory"2m_temperature" # 自定义路径 gr…

计算机网络:应用层 —— 动态主机配置协议 DHCP

文章目录 什么是 DHCP?DHCP 的产生背景DHCP 的工作过程工作流程地址分配机制 DHCP 中继代理总结 什么是 DHCP? 动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)是一种网络管理协议,用于自动分…

【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4

文章目录 一、待解决问题1.1 问题描述1.2 解决方法 二、方法详述2.1 必要说明2.2 应用步骤2.2.1 更改镜像源2.2.2 安装NVIDIA显卡驱动:nvidia-550(1)查询显卡ID(2)PCI ID Repository查询显卡型号(3&#xf…

数据导入AI训练步骤——人工智能训练

一、人工操作转化 数据导入过程 整理excel表格,通过数据库管理工具导入数据,补充数据格式,调整sql语句 复制数据到目标数据 二、整理表格 三、导入数据 通过数据库导入数据 四、合并 五、验证更新数据 六、 更新数据 update temp_cus_hmz…

我国首条大型无人机城际低空物流航线成功首航

首航震撼开场:羊肉 “飞” 越 540 公里 在夜色的笼罩下,榆阳马合通用机场的跑道上,一架大型固定翼无人机蓄势待发,机身被灯光照亮,宛如一只即将展翅翱翔的钢铁巨鸟。它的货舱里,满满装载着新鲜的榆林羊肉&a…

《跟李沐学 AI》AlexNet论文逐段精读学习心得 | PyTorch 深度学习实战

前一篇文章,使用 AlexNet 实现图片分类 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于学习 9年后重读深度学习奠基作之一:AlexNet【下】【论文精读】】的心得。 《跟李沐…

微软Win11新动态:官方“换机助手”曝光,PC数据迁移或迎全新体验

目录 微软入局数据迁移领域,第三方工具或面临挑战 无缝迁移体验:近距离传输与OTP验证 模拟图仅为概念设计,最终功能或存变数 发布时间未定,Insider用户或率先体验 总结 微软在近期发布了Windows 11 Insider Beta频道的最新版本Build 22635.4945。尽管此次更新并未引入重…

Could not initialize class io.netty.util.internal.Platfor...

异常信息: Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent0 Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.reflect.InaccessibleObjec…

java练习(34)

ps:题目来自力扣 寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 class Solution {public double findMedianSortedA…

用Java创建一个验证码的工具类

在Java中创建一个验证码工具类,可以通过以下代码实现。该工具类支持生成包含字母和数字的随机验证码图片,并添加干扰线和噪点以提高安全性。以下是详细实现: 完整代码实现 import javax.imageio.ImageIO; import java.awt.*; import java.aw…

提升信息检索准确性和效率的搜索技巧

一、基础技巧 精准关键词 避免长句子,提取核心关键词(如用“光合作用 步骤”代替“请告诉我光合作用的具体过程”)。 同义词替换:尝试不同表达(如“AI 发展史” vs “人工智能 历史”)。 排除干扰词 使用…

设计模式 之 工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)(C++)

文章目录 C 工厂模式引言一、简单工厂模式概念实现步骤示例代码优缺点 二、工厂方法模式概念实现步骤示例代码优缺点 三、抽象工厂模式概念实现步骤示例代码优缺点 C 工厂模式 引言 在 C 编程中,对象的创建是一个常见且基础的操作。然而,当项目规模逐渐…

DAY12 Tensorflow 六步法搭建神经网络

六步法: 一.import 导入各种库,比如: import tensorflow as tf from tensorflow.keras.layers import Dense, Flatten from tensorflow.keras import Model import numpy as np import pandas as pd # 可能还会根据需求导入其他库&…