ORACLE不完全備份系列

2021-12-30 10:13:33 字數 2886 閱讀 5651

oracle不完全備份系列

用rman方式基於日誌序列的不完全恢復

sql> select * from test;

a-----12

3456

sql>host

ramn target/

rman>run

www.2cto.com  

rman>exit;

sql>insert into test values(16); 

sql>commit;

sql>alter system switch logfile;

sql>insert into test values(17);

sql>alter system switch logfile;

sql>archive log list;

....

oldest onlie log sequence 14

next log sequence to archive 16

current log sequence 16

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

group# sequence# archived status

-----------------------------------

1       16         yes     active

2       17         no      current

3       15         yes     active

從這裡看出備份的資料檔案包含了第14個歸檔日誌. **日誌v$log裡正在使用的是17序列的日誌,15和16已經完成了歸檔.

當我們沒有備份15和16日誌.15和16包含了表test新資料16和17.

實現不完全恢復就是只恢復歸檔日誌下面的日誌資料. 不能進行例項恢復,也就是說**日誌被看成沒了!

**日誌17裡的資料不能被恢復, 15和16日誌已經被歸檔,當沒備份,如果沒有被刪除是可以被恢復的.

sql> shutdown immediate;

sql>startup nomount;

sql>alter database monut;

sql>host  www.2cto.com  

rman target/

rman> run

用rman方式基於時間的不完全恢復

sql> insert into test values(100);

commit;

sql> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

sql> select sysdate from dual;

sysdate

----------

2012-06-15 10:36:14

sql> host

rman target /

rman>run

rman> exit

sql> insert into test values(150);

sql>commit;

sql> select sysdate from dual;

sysdate

----------

2012-06-15 10:46:14

sql>alter system switch logfile;

sql> insert into test values(250);

sql> commit;

sql> select sysdate from dual;

sysdate

----------

2012-06-15 10:50:14

sql> shutdown immediate;

sql> startup mount;

sql> exit;

set nls_date_format=yyyy-mm-dd hh24:mi:ss

rman target/  www.2cto.com  

rman>run

--recover database until time '2008-04-10 10:36:14';  可以不用set until 直接在recover database跟

--set until time "to_date('2008042115:00:00','yyyymmdd hh24:mi:ss')"  可以不用作業系統設定時間格式

用rman方式基於scn的不完全恢復

sqlplus "/as sysda"

sql>select dbms_flashback.get_system_change_number from dual;

***xx345

sql>insert into test values(400);

sql>commit;

sql>select dbms_flashback.get_system_change_number from dual;

***xx356;

sql> host;

rman target/

rman>run

rman>exit;

sql>insert into test values(450);

sql>commit;

sql>select dbms_flashback.get_system_change_number from dual;

***xx368  www.2cto.com  

sql>shutdown immediate;

sql>startup mount;

sql>exit;

rman target/

rman> run  

作者 zengmuansha

不完全型別

c 允許在乙個 檔案中存放多個類,但這樣往往不便於類的管理,所以一向是提倡乙個檔案中只存放乙個類。不過呢,隨著類規模的不斷膨脹,乙個檔案中存放乙個類也有些顯得臃腫,或者是在某個角度上不便於 的組織。因此,c 2.0中引入了不完全型別的概念,即啟用了新的修飾符partial。借助該修飾符,我們可以在多...

不完全型別

不完全型別指 函式之外 型別的大小不能被確定的型別 總結一下,c的型別分為 結構體的宣告就是乙個不完全型別的典型例子。struct woman tag struct man tag struct woman tag 這樣是沒問題的。如果將man tag結構中的struct woman tag wif...

不完全型別

有時候我們在一些編譯器寫 的時候會碰見不完全型別這個編譯錯誤,那麼什麼是不完全型別,為啥會出現呢 不完全型別指 函式之外 型別的大小不能被確定的型別 只能以有限方式使用。不能定義該型別的物件。不完全型別只能用於定義指向該型別的指標及引用 1 或者用於宣告使用該型別作為形參型別或者返回值型別。c的型別...