專案中一直在使用oracle資料庫,由於我之前更多的是關注orm對映框架,幾乎沒有關注過oracle特性的東西,很多東西都不知道,而且專案中換資料庫的概率幾乎為零,所以有必要好好研究一下oracle。正所謂,不怕不知道,就怕不知道嘛。不然遇到問題,都不知道從**下手。
這兩天的oracle學習,收穫不小。前幾天測試中遇到很多的稀奇古怪的問題,都被很好的解釋了。這裡就乙個典型的例子談一談。
就是在測試階段,看著經理熟練的操作oracle的各個指令,內心就已經有了一點不平靜。經理就是經理,這都是多少年不寫**的人了,這些oracle指令還記的那麼清楚。
系統首次測試的時候,報出了一堆莫名其妙的bug。結果發現是備份的資料庫不完整。結果導致測試環境中的資料庫中缺少不少表和檢視。
ps:當時我的想法是,oracle這東西,為啥非要往虛擬機器裡裝啊,暈菜~~~ 可是事實證明,往虛擬機器裡裝oracle是沒問題的~~~
我們找到問題後,都感覺很莫名其妙,oracle資料庫怎麼會有這樣的問題呢?一定不是資料庫的問題,可是備份的步驟很固定啊,不會有問題啊。而且之前gxpt專案中,資料庫備份還原度時候,也沒有這問題啊。不應該在gxpt還原中沒問題,在tky專案就有了問題啊。
現在才發現,這是由於oracle的閃回技術造成的。oracle資料庫也跟windows系統一樣,有乙個**站。執行一般的刪除表操作後,其實並沒有執行真刪除,而是將它們放在了**站裡面。放在**站有乙個好處,就是隨時都能把刪除的表還原。
你可以在sql plus視窗中執行"select * from tab" 操作,檢視資料庫中的表。這裡會查詢上來所有的表,以及一些長編碼的東西,這些東西就是你刪除表的痕跡。
但是閃回也有一些弊端。就是在資料庫備份的時候,如果**站中未清除,就有可能造成備份資料不完整的情況。
這就解釋了備份失敗的原因。而gxpt專案中,是使用的jpa對映,自然而然就遮蔽了這些資料庫特性的東西。
備份資料庫 oracle
一 資料匯出 1 將資料庫orcl完全匯出,使用者名稱system 密碼manager 匯出到d daochu.dmp中 exp system manager test file d daochu.dmp full y 2 將資料庫中system使用者與sys使用者的表匯出 exp system m...
Oracle備份資料庫
說明 exp.exe是匯出資料庫備份檔案的執行程式,imp.exe是匯入的執行程式。步驟 1 源資料庫端執行 exp user pwd orcl file d orcl.dmp log d orcl.log 說明 在windows下cmd中執行.orcl指sid,orcl.dmp是匯出後的檔案,or...
Oracle備份資料庫
工作中資料庫備份是乙個很重要的事情,難免有時候乙個不小心就會誤操作,造成無法挽回的措施。在昨天的工作中,我們的乙個產品經理在操作定製端的時候乙個誤操作,清空了幾張表的資料同時還刪除了幾張系統表,操作都是物理操作,要是以前沒有備份,那麼就欲哭無淚了啊。在這裡我們採用oracle的匯出命令 定時計畫任務...