RMAN(RecoveryManager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。归档是redo日志的归档,如果没有对redo进行归档,则数据库redo日志文件极有可能会因为轮替写入而被覆盖,从而造成数据在时间上的不连续。从而造成备份数据时缺失在某个时间上的redo文件,那么恢复时就会有丢失。rman进行恢复时,只有应用了归档文件,才有可能在数据文件的SCN上连续衔接。否则rman只能备份mount状态的数据文件。
查看归档的命令
查找相关表select object_name from dba_objects where object_name like '%BACKUP%';
查看归档模式另一个方式
登入rman
开启自动归档
BACKUP...PLUS ARCHIVELOG命令在备份过程中会依次执行下列步骤:
运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前 Redolog 进行归档。
执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志。
执行BACKUP命令对指定项进行备份。
再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前 Redolog 归档。
对新生成的尚未备份的归档文件进行备份。
数据库状态
已启动/不装载(NOMOUNT):启动实例,但不装载数据库。该模式用于重新创建控制文件,对控制文件进行恢复或重新创建数据库。
已装载(MOUNT):装载数据库,但不打开数据库。该模式用于更改数据库的归档模式或执行恢复操作,数据文件的恢复。
打开(OPEN)。
关闭数据库
1. shutdown normal
oracle不再接受新的连接,数据库会一直等待当前连接到数据库的用户都断开连接后,再关闭数据库实例。
2. shutdown immediate
数据库将不允许建立新的连接,也不允许开始新的事务。所有未提交的事务都会被执行回滚操作。
3. shutdown transactional
数据库将不允许建立新的连接,也不允许开始新的事务。在完成事务处理后断开所有已连接的用户,然后关闭数据库。
4. shutdown abort
不允许建立新的连接,也不允许开始新的事务。所有正在执行的客户端SQL语句将被立即中止,没有提交的事务也不回滚,立即切断所有在线用户的连接。
关闭数据库
建一个归档日记文件
启动数据库实例。但不打开数据库
查看归档参数
修改归档目录
数据库开启,归档目录已修改完毕
1.altersystem switch logfile 是强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
2.altersystem archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
主要的区别在于:
ALTERSYSTEM SWITCH LOGFILE对单实例数据库或RAC中的当前实例执行日志切换;而ALTERSYSTEM ARCHIVE LOG CURRENT会对数据库中的所有实例执行日志切换。
altersystem archive log current
配置两个实例的tns和linstener.
向导完成后的文件
查看状态
Backup监听,没有启动,可能原因是静态监听
重新启动restart listener
顺利启动
建一个目录,backup数据文件存放的位置
Vim initbackup.ora 创建复制数据库时所使用的初始化参数
配置密码文件
orapwdfile=orapwbackup password=oracle
Export ORACLE_SID=backup
Startup nomount pfile=initback.ora
Rman target /
rman target / auxiliary sys/oracle@backup
Duplicate target database to ‘backup’
如果拷贝失败,杀掉进程重新拷贝
Ps -ef |grep smon
Kill -9 ****
登录backup实例查看结果
查看备份信息
Ps:本文章来自网络和实践,验证通过。
领取专属 10元无门槛券
私享最新 技术干货