常用rman操作语句

SQL>archive log list;(rman需运行在归档模式下)

rman target /  #以操作系统验证方式进入目标数据库

RMAN> show all  #显示rman的永久配置情况

#-----列出备份----#

RMAN> list backup summary; #概述可用的备份

RMAN> list backup; #列出详细备份

RMAN>list expired backup; #列出过期的备份

RMAN>list backup of datafile 1; #列出数据文件的备份

RMAN>list archivelog all;#列出归档日志信息

RMAN> list backup of archivelog all; #列出归档日志的备份信息
RMAN> list backup of controlfile; #列出控制文件的备份信息
RMAN> list backup of spfile;#列出spfile的备份信息

############################################

RMAN> report obsolete; #报告丢弃的备份,如果使用了保存策略,备份会被标记为丢弃状态

RMAN> delete obsolete; #删除丢弃状态的备份

#####################################################

crosscheck命令
a, 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上) X(Expired,备份存在于控制文件或回复目录中,但是并没有存在于备份介质上)

b. crosscheck的目的是检查rman的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired.如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记为Available.

c. crosscheck输出分两部分。第一部分列出存在于备份介质上的所有备份集片,第二部分列出不存在与备份介质上的备份集片,并标记为Expired.当设置备份保存策略后,对于过期(obsolete)的备份,crosscheck标记其状态依然为Available。

示例:

RMAN> crosscheck backup; #交叉检查所有的备份
RMAN> crosscheck backup of datafile 1;
RMAN> crosscheck backup of tablespace users;
RMAN> crosscheck backup of controlfile;
RMAN> crosscheck backup tag='TAG20161120T121243';
RMAN> crosscheck backup completed after 'sysdate-2';
RMAN> crosscheck backup completed between 'sysdate-5' and 'sysdate-2';
RMAN> crosscheck archivelog all; #交叉检查所有的归档日志
RMAN> crosscheck archivelog like 'o1_mf_1_6%';
RMAN> crosscheck archivelog from sequence 5;
RMAN> crosscheck archivelog until sequence 8;

###################################################################

 validate命令

a,. 验证备份集片是否能够被还原

b. 可以先通过list backup summary得到备份集的主键ID,然后在validate backupset ID;

 RMAN> validate backupset 2;

可以用于校验备份集的有效性,常用命令如下:
restore validate controlfile;
restore validate database;

################################################################

6. delete命令,删除备份
注意:如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行delete命令时将直接删除这个景象复制文件。

           如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中其他文件都被废弃之后,才能删除这个备份集。

RMAN> report obsolete;
RMAN> delete obsolete; #删除陈旧备份
RMAN> delete backupset 3; #删除指定编号的备份集,noprompt参数表示直接删除,不提示输入yes或no
RMAN> delete backuppiece '/home/oracle/backup/DEMO.bak'; #删除指定的备份片
RMAN> delete backup; #删除所有的备份
RMAN> delete copy; #删除映像副本
RMAN> delete datafilecopy '/home/oracle/backup/demo.bak'; #删除指定映像副本
RMAN> delete datafilecopy 1;
RMAN> delete backupset 1,2,3; #删除多个备份集,用逗号隔开
RMAN> delete archivelog all; #删除所有归档

############################################################

crosscheck archivelog all;
delete noprompt expired archivelog all; #无提示删除所有过期的归档日志
delete noprompt archivelog all completed before 'sysdate - 1';

startup nomount pfile='/u01/app/oracle/product/12.2.0/dbs_1/dbs/inithadb.ora'; #指定初始化参数文件以nomount方式启动

RECOVER DATABASE UNTIL AVAILABLE REDO;
alter database open resetlogs;

restore controlfile from 'ctl';

CATALOG START WITH 'backupdata' #注册备份目录到控制文件

run{
allocate channel d1 type disk;

switch datafile all; #切换数据文件
release channel d1;

}

[grid@orahost123 ~]$ asmcmd   lsdg  #查看磁盘组

delete noprompt expired backup ;

获取原库的pfile,并修改
SQL>create pfile='/home/oracle/initappdb27.ora' from spfile;

##############################################################

rac集群:关闭顺序:关闭数据库---停止集群----
shutdown immediate;
su - root
srvctl stop database -d database #关闭整个数据库
crsctl stat res -t #查看集群的状态
crsctl check cluster -all #检查整个集群件的状态
crsctl stop cluster -all #关闭集群件的集群服务
crsctl stop has - f #停止高可用服务
crsctl start cluster -all #启动整个集群的服务
crsctl config crs #自启动集群服务检查
##################################
启动顺序:开始集群---启动数据库
crsctl start cluster -all
srvctl start database -d database
####################################

————————————————
原文链接:https://blog.csdn.net/gumengkai/article/details/5328387

假设是一种超能力
原文地址:https://www.cnblogs.com/Haihong72H/p/11647159.html