北京邀请赛 H. Happy Reversal

3、Setting Up and Configuring Backup and Recovery

这个单元讲述如何启动、与rman client如何互动,准备rman环境,实现备份和恢复策略

注意:尽管闪回数据库和安全还原点不是真的数据库备份,但是它们是数据保护策略一个重要部分。这些特性需要一些初始化设置,这些设置依赖于在备份策略中你怎么混合它们。Chapter 5-Data Protection with Restore Points andFlashback Database 提供了关于怎么建立数据库使用这些特性。

3.1、Overview of Interacting With the RMAN Client

这部分描述了rman client的基本互动,比如启动和退出rman客户端,在命令提示输入命令,使用命令行的语法。

3.1.1、Starting and Exiting RMAN

有以下启动rman的基础选项:

(1)不指定任何连接选项

$ rman

(2)指定目标数据库、一个恢复目录

$ rman target /

$ rman target sys/[email protected] nocatalog

$ rman target / catalog rmanuser/[email protected]

Connecting the RMANClient to Databases on page 3-5提供了关于连接rman到不同类型数据库的信息。

(3)退出和终止rman

RMAN> exit

3.1.2、Setting Globalization Support Environment Variables for RMAN

在调用rman之前,设置NLS_DATE_FORMAT and NLS_LANG环境变量是有用的。这些环境变量决定了在rman命令(restore、recover、report)中使用的时间参数的格式。下面的例子显示

典型的语言和日期格式设置:

NLS_LANG=american

NLS_DATE_FORMAT=‘Mon DD YYYY HH24:MI:SS‘

如果使用rman连接一个没有unmount的数据库,随后使用rman加载数据库,那么设置NLS_LANG环境变量,他也可以指定被数据库使用的字符集

3.1.3、Entering RMAN Commands at the Command Prompt

当rman client准备命令输入,它显示命令提示符:

RMAN>

RMAN> CONNECT TARGET /

RMAN> CONNECT CATALOG rman/[email protected]

RMAN> BACKUP DATABASE ;

很多rman命令带了很多参数,必须以分号结尾(很少有异常的,比如startup,shutdown,connect,不使用分号也能使用)。当不在一行输入命令时,rman为延续提示行号,比如:

RMAN> BACKUP DATABASE

2> INCLUDE CURRENT

3> CONTROLFILE

4> ;

3.1.4、Using Command Files with RMAN

为了避免重复的任务,可以创建一个包含rman命令的文本文件,启动rman client使用@参数,% rman TARGET / @cmdfile1。命令执行完后,rman退出。

或者RMAN> @cmdfile1,rman不会自动退出。

Oracle Database Backup and Recovery Reference提供了有关使用@和命令文件的信息。

3.1.5、Checking Syntax of RMAN Commands and Command Files: CHECKSYNTAX

不执行rman命令,测试rman命令的语法正确性。使用命令行语法CHECKSYNTAX来启动rman到一个只能分析语法的模式,当返回RMAN-00558表示rman语法不合法。

3.2、Using RMAN to Start Up and Shut Down Databases

当一个rman过程需要数据库被启动、关闭或带回到mount或nomount状态,你可以使用rman client启动和关闭目标数据库:

% rman TARGET /

RMAN> SHUTDOWN IMMEDIATE # closes database consistently

RMAN> STARTUP MOUNT

为了把目标数据库改变到nomount或mount状态,你既可以使用sql*plus也可以使用rman sql命令来执行sql语句:

RMAN> SQL ‘ALTER DATABASE nomount‘;

RMAN> SQL ‘ALTER DATABASE mount‘;

RMAN> SQL ‘ALTER DATABASE open‘;

3.3、Connecting the RMAN Client to Databases

3.3.1、Types of Database Connections Used with RMAN

为了完成有用的任务,rman客户端必须连接到一个目标数据库,目标数据库是要被备份和还原的数据库。依赖于要完成的任务和特定的备份策略,rman client可以也要连接到其他两个数据库:

(1)The recovery catalog database

它为rman资料库尤其控制文件提供了一个可供选择的备份还原。

(2)An auxiliary database

它可能是一个standby数据库,或一个完成特定任务(复制一个数据库,数据库没有离线传输表空间,完成表空间基于时间点的恢复)的实例。

注意:为了使用auxiliary database完成过多任务,rman在任务运行期间创建了一个自动化的辅助实例,连接上它,完成任务后,摧毁它。不要给任何明确的命令连接到自动化的辅助数据库

3.3.2、Authentication for Database Connections

当连接一个目标或辅助数据库时,你必须有sysdba权限。可以使用一个密码文件或操作系统认证作为as sysdba连接。

注意:连接数据库时,不像sql*plus,rman命令不需要指定sysdba权限。因为所有rman数据库连接需要sysdba权限,所以rman经常隐含地尝试使用sysdba权限连接。

如果你使用操作系统认证连接到数据库,你必须设置环境变量指定oracle sid。当连接到恢复目录时,sysdba权限不需要。注意你必须grant RECOVERY_CATALOG_OWNER角色给方案对象拥有者。为了自动辅助实例,当建立实例时,rman确保你有sysdba权限。

Oracle Database Administrator‘s Guide提供了关于认证用户的信息。

3.3.3、Connecting to the Target Database from the Command Line

从命令行连接到目标数据库,输入以下命令:

# example of operating system authentication

% rman TARGET / NOCATALOG

# example of Oracle Net authentication

% rman TARGET SYS/[email protected] NOCATALOG

如果你没有在命令行指定nocatalog,同时在启动rman后没有指定connect calalog,那么rman工作在nocatalog模式。一旦在nocatalog模式你执行一个使用rman资料库的命令,那么你必须退出和重启来能够连接到一个恢复目录。

3.3.4、Connecting to the Target Database from the RMAN Prompt

如果启动rman没有连接到目标数据库,那么你必须在RMAN Prompt执行CONNECT TARGET命令来连接到一个目标数据库,开始完成有用的工作:

% rman

RMAN> CONNECT TARGET /

% rman

RMAN> connect target SYS/[email protected]

3.4、Setting Up a Database for RMAN Backup--为rman备份准备一个数据库

使用rman备份一个数据库是容易的。明智的默认设置让你不需要其他准备或配置就能做基础的备份和恢复。如果了解更多普通选项,使用rman实现基于rman的备份策略就会更高效。很多选项可以被设置在rman环境作为永久基础,所以你不必每次执行一个命令时指定相同的选项。

以下论述说明了怎么改变rman的默认行为,介绍重要的可用设置和它们的普遍可能的值。

3.4.1、Persistent Configuration Settings: Controlling RMAN Behavior

设置选项控制了rman行为的很多方面,比如备份保留策略,备份到磁盘或磁带的默认位置,默认的备份设备类型等等。这些配置设置的默认值让你不需要对它们做任何改变就可以高效地使用rman。然而,随着设计一个更高级的备份和恢复策略,你必须改变这些设置实现策略。RMAN SHOW and CONFIGURE命令查看和改变rman配置设置。

Oracle Database Backup and Recovery Reference提供了CONFIGURE的语法。

3.4.1.1、Displaying Current RMAN Configuration Settings: SHOW

RMAN> SHOW RETENTION POLICY;

RMAN> SHOW DEFAULT DEVICE TYPE;

RMAN> SHOW ALL;

3.4.1.2、Restoring Default RMAN Configuration Settings: CONFIGURE... CLEAR

RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;

RMAN> CONFIGURE RETENTION POLICY CLEAR;

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

3.4.2、Configuring the Default Device Type for Backups

默认的,rman把备份保存在磁盘的特定目录,你也可以把备份保存在磁带:

CONFIGURE DEFAULT DEVICE TYPE TO sbt;

BACKUP DATABASE;

BACKUP DATAFILE 3;

BACKUP DATABASE PLUS ARCHIVELOG;

你也可以直接备份到一个特定的设备类型,使用BACKUP命令的DEFAULT DEVICE条目:

BACKUP DEVICE TYPE sbt DATABASE;

Oracle Database Backup and Recovery Reference提供了更多关于BACKUP命令的DEFAULT DEVICE条目。

3.4.3、Configuring the Default Backup Type for Disk Backups

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; # image copies

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; # uncompressed

备份保存到磁盘和磁带上的备份类型都可以是备份集。注意对于介质管理器设备没有相似的选择,因为rman写入到介质管理设备(sbt)的备份只能是备份集,不能是镜像拷贝等

3.4.4、Configuring Compressed Backupsets as Default for Tape or Disk

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET;

如果关闭压缩,就忽略COMPRESSED关键字:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET;

RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO BACKUPSET;

3.4.5、Configuring Disk Devices and Channels

rman通道是在目标数据库上连接到服务器的会话,它们完成所有rman任务。默认,rman为所有操作分配一个磁盘通道。

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/backup/ora_df%t_s%s_s%p‘;  #%t表示四个字节的时间戳,%s表示备份集编号,%p表示备份片编号

你也可以配置一个自动存储管理(ASM)磁盘组作为目标位置:

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘+dgroup1‘;

注意:通过为磁盘通道配置一个显式的格式,你直接备份到非快速闪回区,你会丢失快速闪回区的磁盘空间管理能力。

3.4.6、Configuring Tape Devices and Channels

一些介质管理配置器需要通过在CONFIGURE命令中包含PARMS字符串传递的设置:

CONFIGURE CHANNEL DEVICE TYPE sbt PARMS=‘ENV=mml_env_settings‘;  #你的PARMS依赖于介质管理器库。阅读介质管理器提供商的文档获得更多信息。

你可以使用CONFIGURE DEVICE TYPE SBT配置并行设置,备份集的压缩和sbt设备的其他选项:

CONFIGURE DEVICE TYPE sbt PARALLELISM 2;

old RMAN configuration parameters:

CONFIGURE DEVICE TYPE ‘SBT_TAPE‘ BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

new RMAN configuration parameters:

CONFIGURE DEVICE TYPE ‘SBT_TAPE‘ PARALLELISM 2 BACKUP TYPE TO COMPRESSED

BACKUPSET;

new RMAN configuration parameters are successfully stored

注意:上述例子中CONFIGURE命令设置并行和备份类型不影响没有指定设置的值。

3.4.7、Configuring Control File and Server Parameter File Autobackup

无论任何时候控制文件中结构原数据库改变或增加新的备份记录,可以配置rman自动备份控制文件和服务器参数文件。这种配置即使当前控制文件、catalog和服务器参数文件都丢失,rman也能恢复数据库。因为自动备份的文件名使用一个众所周知的格式,rman不需要访问一个资料库就能找到它,接着还原服务器参数文件。在使用服务器参数文件启动实例后,rman从自动备份还原控制文件。在加载控制文件后,rman资料库是可用的,rman可以还原数据文件和找到归档日志。

北京邀请赛 H. Happy Reversal,布布扣,bubuko.com

时间: 2024-10-05 11:42:28

北京邀请赛 H. Happy Reversal的相关文章

ACM-ICPC 2014北京邀请赛 H Happy Reverse [模拟]

题意:给出n个二进制串,可以把其中的一些0和1反转(即0变1,1变0),找出转化后n个串中的最大值和最小值的差值. 分析:思路就是把所有的串和反转的存在一个数组中,然后排序,找最大值和最小值的差,(如果是同一个串反转的就找第二大的和最小的或第二小和最大的中的最大值).注意假如只有一个串的话结果为0 DEBUG: 这题写了好久 1.第一次用vim,很爽,但是还没熟练 2.忽视了这题的范围,显然要用longlong 3.用了longlong后还WA,用脚本跑出来数据发现在longlong下,min的

2014北京邀请赛 Happy Reversal

H. Happy Reversal 64-bit integer IO format: %lld      Java class name: Main Elfness is studying in an operation "NOT". For a binary number A, if we do operation "NOT A", after that, all digits of A will be reversed. (e.g. A=1001101, af

2014 北京邀请赛ABDHJ题解

A. A Matrix 点击打开链接 构造,结论是从第一行开始往下产生一条曲线,使得这条区间最长且从上到下递减, #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <stdio.h> #include <vector> #include <set> using namespace std; #defi

2014北京邀请赛(部分题解)

马上要去比赛了. 今天做了一下2014北京邀请赛,出了两道题目,感觉很水啊... 首先H题: H. Happy Reversal Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main Submit Status PID: 34988 Font Size:  +   - Elfness is studying

2014ACM亚洲区域北京邀请赛总结

16号早上10点,作为一个28k的屌丝,穿着一双人字拖,乘着北京那一不小心说不定就能给挤怀孕的地铁,和小伙伴们一起来到了北师大.算是第三次来北师大了,前两次是北师大校赛和弱校联合集训,不过看到它们的建筑还是好有感觉(实在是太漂亮了!有木有?)这次开幕式里值得一提的是终于见到了北航10大人物中的董适大牛.董大牛虽然已经退役,他对ACM的热情却丝毫不减.董大牛以他那独特的虽略带紧张但不失诙谐幽默的语调,为我们讲了他那4年的ACM奋斗史,以及他在大一的时候如何因为某个女生而走上ACM这条不归路(哈哈)

2014北京邀请赛E题-矩阵快速幂

题意:长度为n(1<=n<=10^18)的并且任意连续子串都不是0-k(1<=k<=9)的一个排列的字符串有多少种. 解法:矩阵快速幂.dp[i][j]表示i长度最后连续j个不同(即最后j个无重复,最后j+1个有重复)的字符串的个数.状态选好很重要.设计状态时最重要考虑是唯一性和可传递性,比赛时明明知道肯定是矩阵快速幂,但是一直没想到这个状态表示,自己设计的自己都不会转移. dp[i][j]有了后,后边加一个字符,这个字符可以是j之内的任意一个,也可以是j以外的,这样枚举每种情况,

ACM-ICPC2014北京邀请赛感受

直接上代码了 头文件 // 图片处理 0 半灰色 1 灰度 2 深棕色 3 反色 +(UIImage*)imageWithImage:(UIImage*)image grayLevelType:(UIImageGrayLevelType)type; //色值 变暗多少 0.0 - 1.0 +(UIImage*)imageWithImage:(UIImage*)image darkValue:(float)darkValue; /** 获取网络图片的Size, 先通过文件头来获取图片大小 如果失败

hihocoder 1084 扩展KMP &amp;&amp; 2014 北京邀请赛 Justice String

hihocoder 1084 : http://hihocoder.com/problemset/problem/1084 北京邀请赛 Just  String http://www.bnuoj.com/v3/problem_show.php?pid=34990 两道题同样的做法,题目基本内容是找到A的字串中和B串长度一样,且不同的字符个数不超过k个的置. 以hihocoder 1084为例, 是求有多少个A的字串的,与B串长度一样,且不同的字符个数不超过k. 分析:预处理hash,然后对每个字

北京邀请赛 B. Beautiful Garden

题意:给你坐标和n个点,求最少移动的点使得n个点成等差数列 思路:既然要成等差数列,那么最起码有两个点是不动的,然后枚举这两个点中间的点的个数,最近水的要死,看了队友的代码做的 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cstdlib> #include <cmath> using namespace