1. 程式人生 > >20170814上課筆記

20170814上課筆記

word 瀏覽器 nbsp 寫入 tro 檢查 pass alt ada

恢復

誤操作管理員利用備份(老式方法)或者閃回(快捷靈活,可單獨閃回某張表)進行回復

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上課筆記