国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

歸檔模式下用戶管理的完全恢復

2024-07-21 02:34:05
字體:
來源:轉載
供稿:網友

  os:winXP
  Oracle:9.2.0.1.0
  sid:xianhe
  
  一:預備工作
  
  把數據庫改為歸檔模式
  
  SQL> startup mount
  ORACLE 例程已經啟動。
  
  Total System Global Area 126950220 bytes
  Fixed Size          453452 bytes
  Variable Size       109051904 bytes
  Database Buffers      16777216 bytes
  Redo Buffers         667648 bytes
  數據庫裝載完畢。
  SQL> alter database archivelog;
  
  數據庫已更改。
  
  SQL> alter database open;
  
  數據庫已更改。
  
  SQL>
  
  設置成自動歸檔
  SQL> alter system set log_archive_start = true scope=spfile;
  
  系統已更改。
  
  確定數據庫在歸檔模式下并是自動存檔的
  SQL> archive log list
  數據庫日志模式      存檔模式
  自動存檔       啟用
  存檔終點      D:oracleora92RDBMS
  最早的概要日志序列   2
  下一個存檔日志序列  4
  當前日志序列      4
  SQL>
  
  干凈的關閉數據庫,做一個完全的冷備份。
  
  二:開始實驗
  
  實驗1:描述如下。
  
  數據庫系統數據文件和回退段遭破壞的情況下的恢復。此時數據庫的狀態是關閉的。
  
  先啟動數據庫,用scott用戶建立test表,并插入兩條數據。
  
  SQL> create table scott.test
   2 (id int);
  
  表已創建。
  
  SQL> insert into scott.test values(1);
  
  已創建 1 行。
  
  SQL> insert into scott.test values(2);
  
  已創建 1 行。
  
  SQL> commit;
  
  提交完成。
  
  假設數據庫遭意外被迫關閉,并且系統數據文件丟失。
  
  SQL> shutdown abort
  ORACLE 例程已經關閉。
  
  把oracle服務停掉,刪除SYSTEM01.dbf和UNDOTBS01.DBF文件
  
  啟動服務
  
  啟動數據庫, 提示如下錯誤
  SQL> startup
  ORACLE 例程已經啟動。
  
  Total System Global Area 126950220 bytes
  Fixed Size          453452 bytes
  Variable Size       109051904 bytes
  Database Buffers      16777216 bytes
  Redo Buffers         667648 bytes
  
  數據庫裝載完畢。
  
  ORA-01157: 無法標識/鎖定數據文件 1 - 請參閱 DBWR 跟蹤文件
  ORA-01110: 數據文件 1: 'D:ORACLEORADATAXINAHESYSTEM01.DBF'
  
  把備份的SYSTEM01.dbf文件還原回去
  
  然后recover database 或 recover datafile 'D:ORACLEORADATAXINAHESYSTEM01.DBF'
  
  SQL> recover datafile 'D:ORACLEORADATAXINAHESYSTEM01.DBF';
  完成介質恢復。
  
  打開數據庫有提示
  SQL> alter database open;
  alter database open
  *
  ERROR 位于第 1 行:
  ORA-01157: 無法標識/鎖定數據文件 2 - 請參閱 DBWR 跟蹤文件
  ORA-01110: 數據文件 2: 'D:ORACLEORADATAXINAHEUNDOTBS01.DBF'
  
  把備份的UNDOTBS01.DBF文件還原回去,執行recover database 或 recover datafile 'D:ORACLEORADATAXINAHEUNDOTBS01.DBF'
  
  SQL> recover datafile 'D:ORACLEORADATAXINAHEUNDOTBS01.DBF';
  完成介質恢復。
  
  然后就可以打開數據庫,查看scott用戶的test表。
  
  SQL> alter database open;
  
  數據庫已更改。

  
  SQL> select * from scott.test;
  
      ID
  ----------
       1
       2
  
  SQL>
  完成。
  
  實驗2:描述如下
  
      數據庫是打開的,這是損壞的文件是用戶的數據文件而不是system和undo文件。
  
  用scott用戶在users表空間建立test1表
  
  SQL> create table scott.test1(id int)
   2 tablespace users;
  
  表已創建。
  
  插入兩條數據
  
  SQL> insert into scott.test1 values(1);
  
  已創建 1 行。
  
  SQL> insert into scott.test1 values(2);
  
  已創建 1 行。
  
  SQL> commit;
  
  提交完成。
  
  當前日志歸檔
  
  SQL> alter system archive log current;
  
  系統已更改。
  
  現在破壞users表空間,使其離線,然后刪除users01.dbf
  
  SQL> alter tablespace users offline;
  
  表空間已更改。
  
  SQL> alter tablespace users online;
  alter tablespace users online
  *
  ERROR 位于第 1 行:
  ORA-01157: 無法標識/鎖定數據文件 9 - 請參閱 DBWR 跟蹤文件
  ORA-01110: 數據文件 9: 'D:ORACLEORADATAXINAHEUSERS01.DBF'
  
  此時出現錯誤,users表空間不能在線了。這時把備份的users01.DBF還原回去。
  然后
  
  SQL> recover tablespace users;
  ORA-00279: 更改 292331 (在 03/18/2005 16:36:05 生成) 對于線程 1 是必需的
  ORA-00289: 建議: D:ORACLEORA92RDBMSARC00004.001
  ORA-00280: 更改 292331 對于線程 1 是按序列 # 4 進行的
  
  
  指定日志: {<RET>=suggested filename AUTO CANCEL}
  auto
  ORA-00279: 更改 292907 (在 03/18/2005 16:45:43 生成) 對于線程 1 是必需的
  ORA-00289: 建議: D:ORACLEORA92RDBMSARC00005.001
  ORA-00280: 更改 292907 對于線程 1 是按序列 # 5 進行的
  ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORA92RDBMSARC00004.001'
  
  已應用的日志。
  完成介質恢復。
  SQL> alter tablespace users online;
  
  表空間已更改。
  
  SQL> select * from scott.test1;
  
      ID
  ----------
       1
       2
  完成。
  
  實驗3:描述如下
  
  數據文件沒有備份(不能使system和undo文件)的恢復。
  
  創建表空間testspace
  
  SQL> create tablespace testspace
   2 datafile 'd:oracleoradataxinahetestspace.dbf' size 10m;
  
  表空間已創建。
  
  SQL> create table scott.test3(id int)
   2 tablespace testspace;
  
  表已創建。
  
  SQL> commit;
  
  提交完成。
  
  SQL> alter system switch logfile;
  
  系統已更改。
  
  SQL> insert into scott.test3 values(1);
  
  已創建 1 行。
  
  SQL> commit;
  
  提交完成。
  
  SQL> alter tablespace testspace offline;
  
  表空間已更改。
  
  SQL> select * from scott.test3;
  select * from scott.test3
            *
  ERROR 位于第 1 行:
  ORA-00376: 此時無法讀取文件 11
  ORA-01110: 數據文件 11: 'D:ORACLEORADATAXINAHETESTSPACE.DBF'
  
  由于沒有備份數據文件,我重新創建一個
  
  SQL> alter database create datafile
   2 'D:ORACLEORADATAXINAHETESTSPACE.DBF';
  
  數據庫已更改。
  
  SQL> recover tablespace testspace;
  完成介質恢復。
  SQL> alter tablespace testspace online;
  
  表空間已更改。

  
  SQL> select * from scott.test3;
  
      ID
  ----------
       1
  完成。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 门源| 汾阳市| 老河口市| 通州市| 奉贤区| 广宗县| 渭南市| 苍山县| 上饶县| 绵阳市| 贵南县| 静宁县| 东辽县| 大余县| 盐城市| 井冈山市| 新宾| 从江县| 花莲县| 玉溪市| 肇东市| 钦州市| 博野县| 济阳县| 河池市| 延长县| 镇沅| 凤山市| 岳阳市| 渝中区| 肥西县| 兴安盟| 呼图壁县| 靖远县| 长武县| 建宁县| 马鞍山市| 都昌县| 金坛市| 东至县| 通化市|