第八章 RMAN备份

来源:互联网 发布:献血的坏处 知乎 编辑:程序博客网 时间:2024/06/04 17:57

1.连接数据库

1.1 连接本地:

SET ORACLE_SID=实例名(有唯一实例,则不需要设置)RMAN TARGET /另外一种方法:先RMAN,然后 connect target /

1.2 连接远程
必须保证本地的tnsname.ora配置有效的网络服务名(Net Service Name),连接命令如下:
rman target 用户名/密码@实例名
1.3 退出
直接输入exit,另外,如果需要将rman执行日志记录下来,则需要在连接时制定日志目录:
rman target / log F:\oracle…(详细路径)

2.熟悉rman操作

强调:如果数据库是在open状态下进行备份,则数据库必须处于归档模式。

2.1 启动和关闭数据库
rman下面启动和关闭数据库和在SQL*PLUS里面是一样的,shutdown immediate、shutdown normal、shutdown abort、startup等操作都能进行,完全一模一样。
2.2 执行操作系统命令
输入HOST,则跳出rman,执行操作系统命令
2.3 执行SQL
需要加单引号或者双引号,在RMAN中执行select是看不到结果的。
2.4 rman的备份类型
分为镜像复制和备份集,镜像复制相当于操作系统的copy命令。备份集逻辑上由一个或者多个备份片段组成,一个备份片段对应一个物理文件(包含多个数据文件、控制文件或归档文件)。备份集的优势在于备份时只读取数据库中已经使用的数据块。
2.5 rman命令的执行方式
单个命令:backup database等;
批处理:放在RUN{}下面执行,一些控制rman环境变量或者操作catalog的操作不能放在RUN块中,但是可以在RUN外面任何地方执行
执行脚本的方式:
1.命令行执行保存在操作系统中的文件:rman target / @ramn_db.rman或者 rman target / cmdfile=rman_db.rman
2.在RMAN中执行:@文件名.rman
3.执行在catalog中的(首先为rman创建恢复目录):RUN {EXECUTE SCRIPT backup_whole_db}

3.RMAN初级备份

3.1整库的备份:
backup database;
如果需要指定保存路径,使用format:
backup database format ‘f:\oracle\bak_%U(制定命名规则)’
备份集创建了两个文件:一个是数据文件,另外一个是控制文件和SPFILE(服务器端初始化参数文件)
LIST BACKUP OF DATABASE来查看创建的全库备份
3.2 表空间的备份
实例启动处于加载状态,则数据库是否打开都能进行表空间的备份。
backup tablespace users
查看:LIST BACKUP OF TABLESPACE USERS
删除操作:delete backupset 10;删除操作需要确认,如果在脚本中执行,想跳过这一步,附加noprompt
3.3数据文件的备份
数据文件的名称和file_id可以从数据字典DBA_DATA_FILES里面查询。
使用文件名称和file_ID进行备份效果是一样的,如backup datafile ‘F:\oracle\users01.dbf’和backup datafile 4命令是同样的效果。
查看备份:LIST BACKUP OF DATAFILE n;
3.4控制文件的备份
可以手动执行backup current controlfile,执行backup其他文件时都可以使用include current controlfile。
执行system表空间会触发控制文件的自动备份,可以通过configure controlfile autobackup on命令开启控制文件的自动备份。
3.5归档文件的备份
1.backup archivelog all/until/scn/time/sequence
2.backup命令时指定Plus archivelog,指定这一句后,数据的备份顺序同以上的区别是:
运行alter system archivelog current对当前redolog进行归档
执行backup archivelog all
执行backup命令
再次运行alter system archivelog current
对新生成的尚未备份的归档文件进行备份
3.如果数据库操作频繁,则归档文件数据量会很大,需要删除,RMAN提供了delete all input,加在backup后面,则完成备份后自动删除归档目录中已经备份的归档文件
3.6初始化参数文件的备份
一般会自动备份,手动备份的命令是:backup spfile
3.7对备份集进行备份
一般情况下是将备份集备份到磁带上用的,备份所有:backup backupset all;备份指定的:backup backupset n;

0 0
原创粉丝点击