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 [email protected]
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;
20170814上課筆記