Oracle备份恢复之rman备份oracle数据库

时间:2023-12-13 08:56:32

备份需求和rman备份

oracle数据库的备份相关问答:

1)备份时数据库处于何种状态?

备份时数据库处于OPEN状态,这样数据库可以正常工作。

2)备份的数据备份在什么地方?

备份在本地磁盘。

3)备份的存储空间如何?

linux系统下可以用linux的系统命令df -lh来查看磁盘空间。

4)应以什么方式备份?

应以rman的增量(差量)备份,这样备份和恢复都比较简单,所占用的空间比较小。

查看数据库是否为归档状态:

SQL>archive log list

Oracle备份恢复之rman备份oracle数据库

更改数据库的归档模式:数据库由分归档模式改变成归档模式需要在mount状态下修改。

SQL>shutdown immediate

SQL> startup mount

SQL>alter database archivelog;(把归档模式改变成非归档模式语句:SQL>alter database noarchivelog)

SQL>alter database open;

验证数据库是否为归档模式:

SQL>archive log list

Oracle备份恢复之rman备份oracle数据库

产看rman备份环境:$rman target/

Oracle备份恢复之rman备份oracle数据库

查看rman中的所有参数配置:

RMAN>show all;

Oracle备份恢复之rman备份oracle数据库

上图中,CONFIGURE CONTROLFILE AUTOBACKUP OFF,在默认情况下备份数据库的数据时不自动备份数据库的控制文件。

启动控制文件的自动备份:

RMAN>configure controlfile autobackup on;

Oracle备份恢复之rman备份oracle数据库

查看是否配置成功:RMAN>show controlfile autobackup;

备份全局数据库:RMAN>backup database;

查看备份信息:RMAN>list backup;

查看备份总体信息:RMAN>list backup summary;

编写备份脚本

查看linux操作系统下oracle数据库的环境变量:

$cat /home/oracle/.bash_profile

Oracle备份恢复之rman备份oracle数据库

设置备份冗余数:

RMAN>CONFIGURE RETENTICN POLICY TO REDUNDANCY 5;

Oracle备份恢复之rman备份oracle数据库

创建备份目录:$mkdir

$mkdir rmanbackup

创建0级备份脚本:

$vi Backupfull.sh

编辑内容如下:

export ORACLE_BASE=/U01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$PATH

rman target/ <<EOF_RMAN

run{

}