冷備就是把資料庫的相關檔案複製一份,它只能做還原作業,不能做恢複操作。現在登入到資料庫中,把資料檔案、控制檔案、記錄檔存放路徑找到,然後關閉資料庫,備份列出的檔案。
- SQL> show user
- USER 為 "SYS"
- SQL> select INSTANCE_NAME,STATUS from v$instance;
-
- INSTANCE_NAME STATUS
- ---------------- ------------
- data OPEN
-
- SQL> select file_name from dba_data_files;
-
- FILE_NAME
- --------------------------------------------------------------------------------
- /u01/app/Oracle/oradata/data/users01.dbf
- /u01/app/oracle/oradata/data/sysaux01.dbf
- /u01/app/oracle/oradata/data/undotbs01.dbf
- /u01/app/oracle/oradata/data/system01.dbf
-
- SQL> select name from v$controlfile;
-
- NAME
- --------------------------------------------------
- /u01/app/oracle/oradata/data/control01.ctl
- /u01/app/oracle/oradata/data/control02.ctl
- /u01/app/oracle/oradata/data/control03.ctl
-
- SQL> select member from v$logfile;
-
- MEMBER
- --------------------------------------------------
- /u01/app/oracle/oradata/data/redo03.log
- /u01/app/oracle/oradata/data/redo02.log
- /u01/app/oracle/oradata/data/redo01.log
-
- SQL> shutdown immediate
- 資料庫已經關閉。
- 已經卸載資料庫。
- ORACLE 常式已經關閉。
臨時檔案可以不備份,實際中還應該備份參數檔案。這裡我把上面所有的檔案複製到/u01/datafile/下面,然後刪除備份前的所有檔案,類比磁碟故障。
- [oracle@linux datafile]$ pwd
- /u01/datafile
- [oracle@linux datafile]$ cp /u01/app/oracle/oradata/data/* /u01/datafile/
- [oracle@linux datafile]$ ll
- 總計 954144
- -rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control01.ctl
- -rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control02.ctl
- -rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control03.ctl
- -rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo01.log
- -rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo02.log
- -rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo03.log
- -rw-r----- 1 oracle oinstall 262152192 10-08 07:46 sysaux01.dbf
- -rw-r----- 1 oracle oinstall 503324672 10-08 07:46 system01.dbf
- -rw-r----- 1 oracle oinstall 20979712 10-08 07:46 temp01.dbf
- -rw-r----- 1 oracle oinstall 26222592 10-08 07:46 undotbs01.dbf
- -rw-r----- 1 oracle oinstall 5251072 10-08 07:46 users01.dbf
- [oracle@linux datafile]$ rm -rf temp01.dbf
- [oracle@linux datafile]$ ll
- 總計 953560
- -rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control01.ctl
- -rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control02.ctl
- -rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control03.ctl
- -rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo01.log
- -rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo02.log
- -rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo03.log
- -rw-r----- 1 oracle oinstall 262152192 10-08 07:46 sysaux01.dbf
- -rw-r----- 1 oracle oinstall 503324672 10-08 07:46 system01.dbf
- -rw-r----- 1 oracle oinstall 26222592 10-08 07:46 undotbs01.dbf
- -rw-r----- 1 oracle oinstall 5251072 10-08 07:46 users01.dbf
- [oracle@linux datafile]$ rm -rf /u01/app/oracle/oradata/data/
可以看見資料庫不能正常啟動
- SQL> conn /as sysdba
- 已串連到空閑常式。
- SQL> startup
- ORACLE 常式已經啟動。
-
- Total System Global Area 167772160 bytes
- Fixed Size 1266392 bytes
- Variable Size 67112232 bytes
- Database Buffers 96468992 bytes
- Redo Buffers 2924544 bytes
- ORA-00205: ?????????, ??????, ???????
-
-
- SQL> select status from v$instance;
-
- STATUS
- ------------------------
- STARTED
-
- SQL> shutdown immediate
- ORA-01507: ??????
-
-
- ORACLE 常式已經關閉。