备份需求和rman备份
oracle数据库的备份相关问答:
1)备份时数据库处于何种状态?
备份时数据库处于OPEN状态,这样数据库可以正常工作。
2)备份的数据备份在什么地方?
备份在本地磁盘。
3)备份的存储空间如何?
linux系统下可以用linux的系统命令df -lh来查看磁盘空间。
4)应以什么方式备份?
应以rman的增量(差量)备份,这样备份和恢复都比较简单,所占用的空间比较小。
查看数据库是否为归档状态:
SQL>archive log list
更改数据库的归档模式:数据库由分归档模式改变成归档模式需要在mount状态下修改。
SQL>shutdown immediate
SQL> startup mount
SQL>alter database archivelog;(把归档模式改变成非归档模式语句:SQL>alter database noarchivelog)
SQL>alter database open;
验证数据库是否为归档模式:
SQL>archive log list
产看rman备份环境:$rman target/
查看rman中的所有参数配置:
RMAN>show all;
上图中,CONFIGURE CONTROLFILE AUTOBACKUP OFF,在默认情况下备份数据库的数据时不自动备份数据库的控制文件。
启动控制文件的自动备份:
RMAN>configure controlfile autobackup on;
查看是否配置成功:RMAN>show controlfile autobackup;
备份全局数据库:RMAN>backup database;
查看备份信息:RMAN>list backup;
查看备份总体信息:RMAN>list backup summary;
编写备份脚本
查看linux操作系统下oracle数据库的环境变量:
$cat /home/oracle/.bash_profile
设置备份冗余数:
RMAN>CONFIGURE RETENTICN POLICY TO REDUNDANCY 5;
创建备份目录:$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{
}