20170814上课笔记

恢复

误操作管理员利用备份(老式方法)或者闪回(快捷灵活,可单独闪回某张表)进行回复

 

rman物理恢复

完全恢复(介质故障)

不完全恢复(用户误操作)

oracle三种重要文件

控制文件

日志文件

数据文件

 

配置可恢复性

控制文件

SQL> show parameter control_files

SQL> select * from v$controlfile;

修改路径:

$ cd $ORACLE_HOME/dbs

$ cp spfileorcl.ora spfileorcl.ora.bak //参数文件,重要,损坏后无法启动数据库

SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl', '/home/oracle/control02.ctl' scope=spfile;//一个文件对应一对'' ,同时修改参数为静态参数,因此scope=spfile

SQL> shutdown immediate//静态参数修改生效需重启

$ mv /u01/app/oracle/fast_recovery_area/orcl/control02.ctl /home/oracle/control02.ctl

SQL> startup

SQL> show parameter control_files

SQL> select * from v$controlfile;

增加镜像:

SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl', '/home/oracle/control02.ctl', '/home/oracle/control03.ctl' scope=spfile;

SQL> shutdown immediate

$ cp /home/oracle/control02.ctl /home/oracle/control03.ctl

SQL> startup

SQL> show parameter control_files

SQL> select * from v$controlfile;

日志文件:

增加成员和日志组:

SQL> select GROUP#, SEQUENCE#, STATUS, MEMBERS from v$log;

SQL> select GROUP#, MEMBER from v$logfile;

SQL> alter database add logfile member '/home/oracle/redo01b.log' to group 1;

SQL> alter database add logfile member '/home/oracle/redo02b.log' to group 2;

SQL> alter database add logfile member '/home/oracle/redo03b.log' to group 3;

SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/orcl/redo04.log', '/home/oracle/redo04b.log') size 50M;//创建新的日志

 

FRA:

SQL> show parameter db_recovery

 

backupset: 10GB,  archived log: 5GB

 

10+5, 10G

 

开启归档模式:

SQL> archive log list         检查当前设置

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;// 启用归档模式

alter database noarchivelog;// 关闭归档模式

show parameter db_rec

SQL> alter database open;

SQL> archive log list

SQL> show parameter log_archive_dest //

SQL> select group#, sequence#, status, archived from v$log;

SQL> alter system switch logfile;//手动切换日志

SQL> select group#, sequence#, status, archived from v$log;//查看日志

SQL> select NAME, SEQUENCE#, STATUS from v$archived_log;//查看归档日志

$ ls /u01/app/oracle/fast_recovery_area/ORCL;//查看归档日志

 

RMAN配置

 

targedatabase 目标数据库

recovery catalog database 目标目录文件数据库//记录对目标数据库操作记录

注: 若没有目标目录文件数据库 则会将记录存放在目标数据库的控制文件中

channel 通道 备份文件存放路径

recovery manager 客户端

 

$ rman target /        或rman target sys/password@orcl

RMAN> show all;

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP On; //当控制文件有变动时备份会将控制文件一同备份,比如添加了新表空间,信息将写入注册文件,不备份控制文件将有问题。必选

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP clear;

RMAN> backup tablespace users;//备份表空间

RMAN> list backup;

SQL> desc v$backup_set          浏览器中也可以查看

 

自动通道管理:

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;//设置多并行通道

RMAN> backup tablespace users, example;

$ mkdir /home/oracle/disk1 /home/oracle/disk2

RMAN> configure channel 1 device type disk to destination '/home/oracle/disk1';

RMAN> configure channel 2 device type disk to destination '/home/oracle/disk2';

RMAN> backup tablespace users, example;

恢复默认

RMAN> CONFIGURE DEVICE TYPE DISK clear;

RMAN> CONFIGURE CHANNEL 1 device type disk clear;

RMAN> CONFIGURE CHANNEL 2 device type disk clear;

 

手动通道管理:

RMAN> run {

allocate channel c1 device type disk to destination '/home/oracle/disk1';

allocate channel c2 device type disk to destination '/home/oracle/disk2';

backup tablespace users, example;

backup (tablespace users channel c1)(tablespace example channel c2);

}

 

backup section size 500M datafile 1;

 

指定备份格式:

RMAN> backup tablespace users; //选用默认

RMAN> backup as backupset tablespace users; //只打包不压缩 默认

RMAN> backup as compressed backupset tablespace users;//打包并且压缩

RMAN> backup as copy tablespace users; //镜像备份

RMAN> list backup of tablespace users; //查看

RMAN> list copy of tablespace users;

posted on 2017-08-15 09:02  咖し啡  阅读(114)  评论(0编辑  收藏  举报