oracle的rman备份

2021-07-26 18:00:36

--查看是否为归档模式:
archive log list;
sqlplus / as sysdba
show parameter dest;
alter system set log_archive_dest_1='location=G:\rmanbakup\';
mkdir /home/oracle/arch/rmanbak
--关闭数据库
shutdown immediate;
--启动为mount状态;
startup mount;
--修改数据库为归档模式;
alter database archivelog;
--查看归档是否修改成功;
archive log list;
--没问后修改数据库为open状态;
alter database open;
--查看实力是否开启;
select status from v$instance;
--创建rman路径;
mkdir rmanbak
chown oracle:oinstall rmanbak
--备份数据文件;
sqlplus / as sysdba
--切换日志,用管理员权限;
alter system switch logfile;
--备份数据文件
rman target /
rman all;
backup database format '/home/oracle/rmanbak/data_%U.dbf';
--备份数据文件;
backup current controlfile format '/home/oracle/rmanbak/control_%f.dbf';
--查看数据文件路径;
sqlplus / as sysdba
show patameter spfile;
参数文件、控制文件、数据文件
参数文件:
init.ora
spfileEMREP.ora 二进制文件(用命令修改)
pfileEMREP.ora 文本文件(直接修改)

备份脚本
--备份表空间:
run{
allocate channel ch_1 device type disk
format = "G:\rmanbakup";
backup tablespace system,uers,tbsp_1,ts_1 channel ch_1;
}
--查看备份的表空间
list backup of bakup of tablespace users;
--备份数据文件;
backup datafile 1,2,3 filesperset 3;
list backup of datafile 1,2,3;

--备份控制文件
backup current controlfile;

backup tablespace tbsp_1 include current controlfile;
list backup of controlfile;

--备份redo文件
backup archivelog all delete all input;
list backup of archivelog all;


rman基于时间点的备份恢复:
rman target system/oracle nocatalog;
shutdown immediate;
run{
allocate channel ch_1 type disk;
allocate channel ch_2 type disk;
backup database format 'G:\rmanbakup\database_%t_%u_%c.bak'
backup archivelog all format 'G:\rmanbakup\archive_%t_%u_%c.bak'
}

-在sqlplus环境下:
select to_char(sysdate,'YYYY-MM-DD hh24:mi:ss') from dual;
--恢复数据
run{
sql 'alter session set nls_date_format="YYYY-MM-DD HH24:MI:SS"';
allocate channel ch_1 type disk;
allocate channel ch_2 type disk;
set until time '2012-01-05 14:37:35';
restore database;
recover database;
sql 'alter database open resetlogs';
}

非归档模式下的备份恢复:
--查看数据库模式:
select log_mode from v$database;

sqlplus / as sysdba
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;

rman target system/oracle nocatalog;
shutdown immediate;
startup mount;

run{
allocate channel ch_1 type disk;
backup database format 'G:\rmanbakup\orcl_%t_%u.bak'
}
alter database open;

shutdown immediate;
删除数据文件;
startup mount;
run{
allocate channel ch_1 type disk;
restore database;
}
alter database open;

select instance_name from v$instance;

posted @   房东家的猫  阅读(338)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示