OCP读书笔记(4) - 配置备份设置
4.Configuring Backup Settings
查看RMAN持久化设置
[oracle@easthome ~]$ rman target /
RMAN> show all;
SQL> select name, value from v$rman_configuration;
控制文件自动备份
SQL> create tablespace tt datafile '/u01/app/oracle/oradata/orcl/tt01.dbf' size 1M; RMAN> list backup of controlfile;--此时控制文件没有发生自动备份
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;--打开控制文件的自动备份 SQL> drop tablespace tt including contents and datafiles;--表空间tt被删除,控制文件内容发生变化,自动备份打开,所以控制文件自动备份 RMAN> list backup of controlfile;
配置控制文件自动备份到的位置:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/backup/rmanbk/%F'; --默认备份到快速闪回区(/u01/app/oracle/fast_recovery_area/ORCL/autobackup) SQL> create tablespace tt datafile '/u01/app/oracle/oradata/orcl/tt01.dbf' size 1m; RMAN> list backup of controlfile;
IIIIIIIIII stands for the DBID.
YYYYMMDD:备份的时间
QQ:产生备份的序列号,十六进制,从00开始FF结束
创建多个备份集
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 3; --改变配置 RMAN> BACKUP COPIES 3 TABLESPACE USERS FORMAT='/u01/app/oracle/backup/rmanbk/%N_%s_%c.dbf','/u01/app/oracle/backup/rmanbk/%N_%s_%c.dbf','/u01/app/oracle/backup/rmanbk/%N_%s_%c.dbf'; --通过在命令中指定份数:
注意:多份备份只适用于备份集备份,不能用于镜像备份,不能使用快速闪回区
备份优化
RMAN> CONFIGURE BACKUP OPTIMIZATION ON; --跳过已经备份的文件
RMAN> BACKUP DEVICE TYPE sbt BACKUPSET ALL FORCE; --使用force选项覆盖已有备份
配置生效之后,会在在备份的时候,跳过某些数据,比如只读表空间
sqlplus / as sysdba alter tablespace users read only; rman target / RMAN> backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';
RMAN> backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';
RMAN> backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';--当第三次备的时候,oracle发现users表空间为只读的而且已经备过两次,没有必要再进行备份,所以跳过
压缩备份
LOW: 这种压缩级别速度最快,压缩程度比MEDIUM小,使用最小的CPU,使用LZIP压缩算法
MEDIUM: 这种压缩级别在CPU和压缩之间进行平衡,使用ZIP压缩算法
HIGH: 这种压缩级别的压缩程度最高,但是使用的CPU最多,使用GZIP压缩算法
BASIC: 这种压缩算法使用BZIP2压缩算法(10g使用的压缩算法)
RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC'
RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/ba_%d_%s.dbf'; RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM'
RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/mi_%d_%s.dbf'; RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH'
RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/hi_%d_%s.dbf'; RMAN> CONFIGURE COMPRESSION ALGORITHM 'LOW'
RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/lo_%d_%s.dbf';
cd /u01/app/oracle/backup/rmanbk
ls -lsh
加密备份
创建钱包(默认方式)
1、创建一个新目录,并指定为Wallet目录
mkdir -p /u01/app/oracle/ora_wallet
mkdir -p /u01/app/oracle/admin/orcl/wallet
2. 设置wallet目录,在参数文件/u01/app/oracle/product/11.2.0/db/network/admin/sqlnet.ora中,按照下面的格式加入信息:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/u01/app/oracle/ora_wallet)))
3. 创建master key文件,指定wallet密码,使用SYS用户登入系统,建立加密文件
SQL> alter system set encryption key identified by wallet;
对备份进行加密
DBA需要保护好数据库的备份,如果入侵者能够获得磁盘或磁带上的备份,那么他们可以将备份数据恢复到其他的数据库上,从而获取其中的数据内容。
Oracle 10g R2以后,我们可以使用以下三种不同的模式对RMAN的备份进行加密。
1、透明的加密模式:这是默认的加密模式,需要借助钱包才能实现。当我们需要将数据文件备份到同样的存储介质的话,可以使用这种加密模式。在备份和恢复时,都必须打开钱包,否则备份和恢复都失败。
2、基于密码的加密模式:备份前需要指定密码,然后进行备份。当恢复时,必须提供备份时的密码。当我们需要使用备份,从而在其他数据库上进行恢复时,可以考虑使用这种这种模式。
3、混合加密模式:同时使用钱包和密码进行备份和恢复。如果钱包打开,则使用钱包进行加密,如果钱包没有打开,则使用密码进行加密。当需要使用备份在当前数据库和其他数据库上进行恢复时,可以考虑使用这种模式
透明加密模式:
该模式下,我们在备份之前,要创建一个新的钱包或者打开一个已经存在的钱包,然后进行备份。恢复时,也必须要打开相同的钱包,我们以前面的钱包为例,来说明如何使用透明加密模式如:
打开钱包;
SQL> alter system set encryption wallet open identified by wallet;
配置rman,启用透明加密模式
RMAN> configure encryption for database on;
这样,我们就为备份配置了透明的加密模式。整个备份和恢复的操作没有任何变化,备份和恢复用的命令脚本也不需要做任何改变,我们以备份单个表空间为例来说明这个过程。
RMAN> backup tablespace users;
备份完users表空间后,我们关闭钱包如:
SQL> alter system set encryption wallet close identified by wallet;
接下来,我们使用刚刚生成的备份进行恢复:
RMAN> restore tablespace users; --error
这个错误很明显,告诉我们由于钱包没打开,所以不能进行恢复。那么我们打开钱包后再次进行恢复,即可成功。
SQL> alter system set encryption wallet open identified by wallet; RMAN> restore tablespace users; --ok SQL> alter system set encryption wallet close identified by wallet;
事实上,只要我们在rman中配置了启用透明加密模式以后,那么在进行备份时,如果没有打开钱包,整个备份过程失败。如:
RMAN> run { backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';} --error
基于密码的加密模式
在基于密码的加密模式下,我们进行备份之前,必须先设置密码。如:
RMAN>set encryption on identified by "1000@bya" only;
注意该命令中最后的only关键字,设置了密码后,备份的命令不需要做任何的改变,我们还是以备份一个表空间为例:
RMAN> backup tablespace users;
当我们把备份文件恢复到其他服务器上进行恢复时,就必须指定该备份文件的密码,如:
RMAN> set decryption identified by "1000@bya";
RMAN> restore tablespace users;
当设置了解密的密码后,我们就可以成功进行恢复了。如果在恢复时,不指定备份的密码,则恢复过程失败。
混合加密模式
该模式结合了透明加密和密码加密两种模式。也就是说,在备份前,可以打开钱包,同时设置密码,然后再进行备份。备份完毕以后,在恢复时,要么代开钱包后直接进行恢复,要么没有打开钱包,而是指定密码,然后再进行恢复。
我们来举一个例子说明混合加密模式是如何使用的,先打开钱包:
RMAN> alter system set encryption wallet open identified by wallet;
然后,我们指定密码。注意,在指定密码的时候没有only关键字。
RMAN> configure encryption for database on;
RMAN> set encryption identified by "0000@bya";
设置完以后,开始备份。
RMAN> backup tablespace users;
在恢复users表空间前,我们不必关闭钱包,直接进行恢复。可以发现,尽管没有指定备份的密码,恢复也能成功,因为这时我们用了钱包进行解密,然后我们关闭钱包,再进行恢复,则报错,必须先按照如下方式指定解密的密码:
RMAN> set decryption identified by "0000@bya";
然后,我们继续恢复,则能成功执行,因为这时我们指定了解密的密码。
------------------------------------------------------------------------------------------
管理持久化设置
RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 3;
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;
RMAN> SHOW EXCLUDE;
RMAN> SHOW ALL;
重置参数为默认值
RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
RMAN> CONFIGURE MAXSETSIZE CLEAR;
RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;
使用媒介(磁带等)管理器
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO TAPE;
配置和分配通道
RMAN> CONFIGURE DEVICE TYPE sbt;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt ...
RMAN> BACKUP DATABASE;
RMAN> RUN
{
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
BACKUP DATABASE PLUS ARCHIVELOG;
}
OCP读书笔记(4) - 配置备份设置的更多相关文章
- OCP读书笔记(2) - 配置恢复
RMAN的命令类型 1. sqlplus命令 [oracle@oracle admin]$ export ORACLE_SID=orcl [oracle@oracle admin]$ rman tar ...
- 《玩转Django2.0》读书笔记-Django配置信息
<玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...
- OCP读书笔记(5) - 使用RMAN创建备份
5.Creating Backups with RMAN 创建备份集 RMAN> backup as backupset format '/u01/app/oracle/backup/rmanb ...
- OCP读书笔记(8) - 监控和调优RMAN
监视RMAN作业 1. 创建rman备份: RMAN> run { allocate channel ch1 type disk; allocate channel ch2 type disk; ...
- 《SQL Server企业级平台管理实践》读书笔记——SQL Server如何设置自动增长和自动收缩项
SQL Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置.通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server磁盘空间耗尽的事情发 ...
- OCP读书笔记(9) - 诊断数据库
数据库恢复顾问 Data Recovery Advisor的命令行选项 1. 启动 RMAN 进程并连接到目标$ rman target=/ 2. 假设发生了某个错误,希望找出原因,使用 list f ...
- OCP读书笔记(7) - 使用RMAN执行恢复
7.Using RMAN to Perform Recovery 使用RMAN进行完全恢复system表空间文件丢失的恢复 模拟损坏: SQL> conn /as sysdba; SQL> ...
- OCP读书笔记(6) - 手动恢复操作
6.Restore and Recovery Task 非关键性文件丢失的恢复 临时文件丢失的恢复 临时表空间文件丢失的恢复: 查看数据库中的临时文件: SQL> select file#,ST ...
- OCP读书笔记(22) - 题库(ExamB)
101.Identify two situations in which you can use Data Recovery Advisor for recovery. (Choose two.) A ...
随机推荐
- 在Web Api中快速实现JSonp
本文翻译自:http://www.codeproject.com/Tips/631685/JSONP-in-ASP-NET-Web-API-Quick-Get-Started Concept: 同源策 ...
- Random Teams
n participants of the competition were split into m teams in some manner so that each team has at le ...
- (摘录)ASP.NET提供文件下载函数(支持大文件、续传、速度限制、资源占用小)
// 输出硬盘文件,提供下载 // 输入参数 _Request: Page.Request对象, _Response: Page.Response对象, _fileName: 下载文件名, _full ...
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...
- 升级版:深入浅出Hadoop实战开发(云存储、MapReduce、HBase实战微博、Hive应用、Storm应用)
Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系 ...
- javascript 精典案例分析一览
1.[优雅代码]深入浅出 妙用Javascript中apply.call.bind http://www.cnblogs.com/coco1s/p/4833199.html 2.1.0.1 ionic ...
- web前端网页开发一般过程
看见很多新手同学前端开发,效率比较慢.总是拿起代码就敲,不分析,没有逻辑,反而使效率变慢.所谓磨刀不误砍柴工,有一个良好的过程,才是最主要的: 1.分析平面效果图,在草稿纸上画出基本结构图 2.建立项 ...
- poj 1018 Communication System 枚举 VS 贪心
Communication System Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21631 Accepted: ...
- 手机SIM卡无法识别解决方案
SIM卡是工作中测试用的,经常插拔到不同的手机,前两天SIM卡放到手机中都能正常识别,今天插入到另一款手机中发现无法识别.心里糟了,是不是卡坏了,根据之 前的直觉,在公司找了一块橡皮,在SIM卡的芯片 ...
- shell字符串长度
方法一 $ expr length "Find out the length of this string from Linux Bash shell." 57 方法二 str1= ...