Chinaunix首页 | 论坛 | 博客
  • 博客访问: 68269
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2017-07-14 14:49
个人简介

在这个知所以然的年龄,奋斗我唯一的选择!~~努力吧,致一样的我们。

文章分类

全部博文(17)

文章存档

2019年(2)

2018年(4)

2017年(11)

我的朋友

分类: Oracle

2017-11-14 15:25:49

一、 连接本地数据库
  通过rman连接本地数据库非常简单,以windows平台为例,进入到命令提示符界面:
C:\Documents and Settings\Administrator>set oracle_sid=jssweb
C:\Documents and Settings\Administrator>rman target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
连接到目标数据库: JSSWEB (DBID=3391142503)
RMAN>
注:如果本地库只有一个实例,则不需要指定oracle_sid。Rman会自动连接到默认实例。
  当然,你也可以先启动rman,然后再通过connect来连接目标数据库,如下:
C:\Documents and Settings\Administrator>set oracle_sid=jssweb
C:\Documents and Settings\Administrator>rman
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
RMAN> connect target /
连接到目标数据库: JSSWEB (DBID=3391142503)
RMAN>
二、 连接远程数据库
  如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。示例如下:
C:\Documents and Settings\Administrator>rman target sys/ change_on_install @test db
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
连接到目标数据库: TEST DB  (DBID=22 2 0 2 62593)
RMAN>
  当然,在这里你也可以同样先启动rman,再通过connect创建连接。具体示例与上类似,如果再做演示那这个环节不仅是弱,而是超弱,即使坚定如我也承受不了如此强烈的呕吐加鄙视的欲望,所以还是做罢吧。

三、 退出RMAN

  哈哈,退出就太简单啦,敲个EXIT试试~~~~~~

  还有一点各位新友也了解一下,对于以后写rman批处理会有帮助。在启动rman时可以指定日志输出,之前的示例中均没有指定,rman就将执行结果直接打印到屏幕了,如果我们以后写了一堆超长的rman批处理放在后台执行,可能会希望能够把执行日志记录下来备查,这个时候日志输出功能就用上了。这个功能也非常简单,如下:

    C:\Documents and Settings\Administrator>rman target /   log d:\logs\rman_log.txt

  rman 会将执行的结果直接输出到指定的d:\logs\rman_log.txt文件,一旦脚本放入后台执行出现问题,我们可以根据rman_log文件来辅助分析。



在Oracle 10g中的配置情况
使用RMAN>show all;
可以显示出RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # 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
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘C:ORACLE..SNCFTEST.ORA’; #default



一、rman相关配置


1、进入rman:CMD下rman target/
2、查看是否处于归档模式:SQL>archive log list;(rman需运行在归档模式下)
3、开启归档模式:
复制代码 代码如下:


SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;(关闭归档模式:alter database noarchivelog;)
SQL>alter database open;
SQL>archive log start;


3、全局参数设置(RMAN>show all;)
①configure retention policy to redundancy 1: 
是用来决定那些备份不再需要了,它一共有三种可选项,分别是
复制代码 代码如下:


CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE RETENTION POLICY TO NONE;


第一种recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
第二种redundancy是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。
第三种不需要保持策略,clear将恢复回默认的保持策略。
一般最安全的方法是采用第二种保持策略。
②CONFIGURE BACKUP OPTIMIZATION OFF
默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
③Configure default device type to disk:
是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘
磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;
④CONFIGURE CONTROLFILE AUTOBACKUP OFF
强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。
⑤CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'
是配置控制文件的备份路径和备份格式
⑥CONFIGURE DEVICE TYPE DISK PARALLELISM 1;
是配置数据库设备类型的并行度,并行的数目决定了开启通道的个数。
⑦CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
  CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1
是否启动复合备份,向指定的i/o设备中指定的位置生成指定的份数。缺省为1.这个配置仅用于数据文件和归档文件,并且,只有在自动分配通道时才会生效!
⑧CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA'
是配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。
⑨CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
是配置备份文件的备份路径和备份格式
⑩CONFIGURE EXCLUDE FOR TABLESPACE [CLEAR];
此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。


二、rman相关操作
1、校验备份信息
复制代码 代码如下:


crosscheck backup;
crosscheck backup of database;
crosscheck backup of tablespacesystem;
crosscheck backup of controlfile;
crosscheck backup of spfile;
crosscheck archivelog all;


2、查看备份
复制代码 代码如下:


list backup;
list backup of database;
list backup of tablespacetable_name;
list backup of controlfile;
list backup of spfile;
list backupset id; 这里ID指的是备份集的ID号 比如2、3.


3、删除备份
复制代码 代码如下:


report obsolete; 报告陈旧备份
delete obsolete; -- 删除陈旧备份
delete expired backup;
delete expired copy ; 删除EXPIRED副本
delete backupset 9;删除备份集编号9的
delete backuppiece ¨F:\backup\DEMO_9.bak¨; 删除特定备份片
delete backup; -- 删除所有备份
delete copy;删除映象副本
delete datafilecopy ¨F:\backup\DEMO_9.bak¨删除特定映象副本


注意:
注意这里oracle对于obsolete和expired的定义与我们常规理解是相反的。Oracle的定义是这样的,对于手工删除的文件,物理上已经 不存在了的,在执行了crosscheck之后,oracle将其标记为expired,而对于那些超出了备份保留策略的备份集备份片,则标记为 obsolete。
4、RMAN提供VALIDATE的命令,可以用于校验备份集的有效性,常用命令如下:
restore validate controlfile;
restore validate database;
5、format格式详解
%a:Oracle数据库的activation ID即RESETLOG_ID。
%c:备份片段的复制数(从1开始编号,最大不超过256)。
%d:Oracle数据库名称。
%D:当前时间中的日,格式为DD。
%e:归档序号。
%f:绝对文件编号。
%F:基于"DBID+时间"确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD为日期,QQ是一个1~256的序列。
%h:归档日志线程号。
%I:Oracle数据库的DBID。
%M:当前时间中的月,格式为MM。
%N:表空间名称。
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8。比如数据库名JSSBOOK,则生成的名称则是JSSBOOKx。
%p:备份集中备份片段的编号,从1开始。
%s:备份集号。
%t:备份集时间戳。
%T:当前时间的年月日格式(YYYYMMDD)。
%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称。
%U:默认是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式,执行不同备份操作时,生成的规则也不同,如下所示:
生成备份片段时,%U=%u_%p_%c;
生成数据文件镜像复制时,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u;
生成归档文件镜像复制时,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u;
生成控制文件镜像复制时,%U=cf-D_%d-id-%I_%u。
%Y:当前时间中的年,格式为YYYY。
注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。






参考




阅读(2869) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~