當前位置:首頁 » 操作系統 » oracle資料庫數據恢復

oracle資料庫數據恢復

發布時間: 2022-07-25 19:01:01

⑴ oracle 資料庫表的恢復

更改原來d盤的oracle目錄,比如目錄名改成oraclebak,重新安裝oracle資料庫到d盤oracle目錄下,並創建資料庫和原來的資料庫sid保持一致。然後關閉資料庫,把新安裝的資料庫目錄更名或刪除,再把原來的oraclebak目錄再改回oracle,然後重啟一下資料庫,這時的資料庫就是你要恢復的資料庫。

⑵ 系統重裝後,怎麼恢復以前的ORACLE資料庫

任何軟體都有可能在有意或無意的情況下被重新安裝,如Oracle重裝後資料庫怎麼恢復呢?情況發生在你是無意的情況下!ORACLE資料庫恢復的方法我們經常會用到,下面就為您介紹重裝系統後ORACLE資料庫恢復的方法,希望對您學習ORACLE資料庫恢復方面能有所幫助。

我的電腦突然掛了,不得不重裝系統,不過我的ORACLE裝在了D盤,所有的文件都還在,我相信一定能夠恢復,直到搞定工作,我才開始整我的資料庫,花了兩天時間,終於恢復了,慶祝一下,同時總結一下,希望有遇到同樣問題的朋友能夠快速搞定此類問題

第一種:

首先,備份資料庫(X:\oracle\oradata)下的數據文件,重新命名即可(否則裝資料庫的時候會提示sid已存在)。重新安裝數據
庫,當然資料庫的名字就是你要恢復的名字。安裝完成後,打開控制面板,停止oracle的服務。把(X:\oracle\oradata)下新生成的文件
改名,把原先目錄下的文件恢復名字。再重新啟動oracle服務和監聽。用sys/as dba
登陸資料庫,可能會提示許可權不夠(ora-01031)修改(X:\oracle\ora92\network\admin
)文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES=
(NTS),增加許可權。登陸進去後,打開table提示不能打開。打開common頁,執行命令alert database
open;這時再刷新table,發現原先的表可以打開了。恢復成功了。再用原先資料庫的普通用戶進入。發現一切正常。至此,大功告成。

第二種:

1、首先,將原來的ORACLE文件夾改名,原來的路徑是D:/oracle.我暫時改成D:/oracle_old.找來ORACLE(我用
的是ORACLE 9I)安裝光碟,將ORACLE安裝在原來安裝的目錄下,這樣恢復起來更加方便,主要是注冊表的內容不用修改。

2、安裝完了之後,系統中又有一個可以使用的ORACLE了。這個時候要做的就是將原來的文件和數據恢復過來。第一步,先關閉ORACLE的所
有已經啟動的項目,在"服務"裡面逐一關閉。然後,將安裝目錄改名。我現在用的是D:/oracle.改成D:/oracle_new.再將D:
/oracle_old改成D:/oracle.
這樣理論上說從物理層面恢復了ORACLE了。但是我們發現,現在還不能啟動ORACLE的監聽程序和服務程序。我們還要從邏輯上解決。

3、在dos環境下執行一個刪除命令:oradim -delete -sid mm,其中mm為創建oracle時候創建的實例
建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。當然你懶,不重新啟動也可以,但是你的實例名就不能和原來的一樣了。

4、在dos環境下執行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "創建一個新的實例,其中 "mm"為新資料庫的名稱。

5、啟動服務,先打開資料庫,然後可以用以前的用戶名和密碼登陸進去。
要補充的是,一般的ORACLE資料庫的監聽程序都是用電腦的名稱來識別地址的,而不是127.0.0.1或者localhost.所以,如果我們安裝系
統的時候用的是不同的電腦名稱(比如我原來用的是wm_mm.重新安裝後用的是wenming_mm),那麼我們還有一個工作要做,就是修改文件
listener.ora.將裡面的相關的東西改過來就可以了。

需要耐心、細心,可能在一步里有一個細小的差別就會出些古怪的錯誤提示,有時需要根據錯誤提示採取策略,總之原理是,先裝一個一模一樣的ORACLE,安裝目錄、資料庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,打開資料庫就可以進去了。

⑶ oracle還原資料庫長時間不動

一般是網路不好,更換網路再試一下。
根據oracle資料庫的特點和提供的工具,還原數據主要方法有以下幾種方法。
1、利用邏輯備份使用import工具丟失數據的表;2、利用物理備份來通過還原數據文件並進行不完全恢復;3、利用dbms_logmnr包從redo log文件中恢復;4、利用flashback特性恢復數據。

⑷ 如何Oracle 資料庫備份與恢復

Oracle資料庫備份與恢復的三種方法
Oracle資料庫有三種標準的備份方法,它們分別是導出/導入(EXP/IMP)、熱備份和冷備份。導出備件是一種邏輯備份,冷備份和熱備份是物理備份。
一、 導出/導入(Export/Import)
利用Export可將數據從資料庫中提取出來,利用Import則可將提取出來的數據送回到Oracle資料庫中去。
1、 簡單導出數據(Export)和導入數據(Import)
Oracle支持三種方式類型的輸出:
(1)、表方式(T方式),將指定表的數據導出。
(2)、用戶方式(U方式),將指定用戶的所有對象及數據導出。
(3)、全庫方式(Full方式),瘵資料庫中的所有對象導出。
數據導入(Import)的過程是數據導出(Export)的逆過程,分別將數據文件導入資料庫和將資料庫數據導出到數據文件。
2、 增量導出/導入
增量導出是一種常用的數據備份方法,它只能對整個資料庫來實施,並且必須作為SYSTEM來導出。在進行此種導出時,系統不要求回答任何問題。導出文件名預設為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。
增量導出包括三種類型:
(1)、「完全」增量導出(Complete)
即備份三個資料庫,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、「增量型」增量導出
備份上一次備份後改變的數據,比如:
exp system/manager inctype=incremental file=040731.dmp
(3)、「累積型」增量導出
累計型導出方式是導出自上次「完全」導出之後資料庫中變化了的信息。比如:
exp system/manager inctype=cumulative file=040731.dmp
資料庫管理員可以排定一個備份日程表,用數據導出的三個不同方式合理高效的完成。
比如資料庫的被封任務可以做如下安排:
星期一:完全備份(A)
星期二:增量導出(B)
星期三:增量導出(C)
星期四:增量導出(D)
星期五:累計導出(E)
星期六:增量導出(F)
星期日:增量導出(G)
如果在星期日,資料庫遭到意外破壞,資料庫管理員可按一下步驟來回復資料庫:
第一步:用命令CREATE DATABASE重新生成資料庫結構;
第二步:創建一個足夠大的附加回滾。
第三步:完全增量導入A:
imp system/manager inctype=RESTOREFULL=y FILE=A
第四步:累計增量導入E:
imp system/manager inctype=RESTOREFULL=Y FILE=E
第五步:最近增量導入F:
imp system/manager inctype=RESTOREFULL=Y FILE=F
二、 冷備份
冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的資料庫。冷備份時將關鍵性文件拷貝到另外的位置的一種說法。對於備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優點是:
1、 是非常快速的備份方法(只需拷文件)
2、 容易歸檔(簡單拷貝即可)
3、 容易恢復到某個時間點上(只需將文件再拷貝回去)
4、 能與歸檔方法相結合,做資料庫「最佳狀態」的恢復。
5、 低度維護,高度安全。
但冷備份也有如下不足:
1、 單獨使用時,只能提供到「某一時間點上」的恢復。
2、 再實施備份的全過程中,資料庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,資料庫必須是關閉狀態。
3、 若磁碟空間有限,只能拷貝到磁帶等其他外部存儲設備上,速度會很慢。
4、 不能按表或按用戶恢復。
如果可能的話(主要看效率),應將信息備份到磁碟上,然後啟動資料庫(使用戶可以工作)並將備份的信息拷貝到磁帶上(拷貝的同時,資料庫也可以工作)。冷備份中必須拷貝的文件包括:
1、 所有數據文件
2、 所有控制文件
3、 所有聯機REDO LOG文件
4、 Init.ora文件(可選)
值得注意的使冷備份必須在資料庫關閉的情況下進行,當資料庫處於打開狀態時,執行資料庫文件系統備份是無效的。
下面是作冷備份的完整例子。
(1) 關閉資料庫
sqlplus /nolog sql>;connect /as sysdba sql>;shutdown normal;
(2) 用拷貝命令備份全部的時間文件、重做日誌文件、控制文件、初始化參數文件
{$PageTitle=sql>;cp ; ;}
(3) 重啟Oracle資料庫
sql>;startup
三、 熱備份
熱備份是在資料庫運行的情況下,採用archivelog mode方式備份資料庫的方法。所以,如果你有昨天夜裡的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求資料庫在Archivelog方式下操作,並需要大量的檔案空間。一旦資料庫運行在archivelog狀態下,就可以做備份了。熱備份的命令文件由三部分組成:
1. 數據文件一個表空間一個表空間的備份。
(1) 設置表空間為備份狀態
(2) 備份表空間的數據文件
(3) 回復表空間為正常狀態
2. 備份歸檔log文件
(1) 臨時停止歸檔進程
(2) log下那些在archive rede log目標目錄中的文件
(3) 重新啟動archive進程
(4) 備份歸檔的redo log文件
3. 用alter database bachup controlfile命令來備份控制文件
熱備份的優點是:
1. 可在表空間或資料庫文件級備份,備份的時間短。
2. 備份時資料庫仍可使用。
3. 可達到秒級恢復(恢復到某一時間點上)。
4. 可對幾乎所有資料庫實體做恢復
5. 恢復是快速的,在大多數情況下愛資料庫仍工作時恢復。
熱備份的不足是:
1. 不能出錯,否則後果嚴重
2. 若熱備份不成功,所得結果不可用於時間點的恢復
3. 因難於維護,所以要特別仔細小心,不允許「以失敗告終」。

⑸ oracle怎樣恢復刪除的數據文件

oracle資料庫恢復,主要包括(1)系統崩潰只剩下數據文件的情況下的恢復,甚至沒有system表空間而只有數據表空間的情況下的恢復.只要提供數據文件就可恢復.(2)undosystem表空間損壞數據恢復.(3)非歸檔或者歸檔模式下誤delete數據的恢復、誤刪除表空間的恢復、droptruncate表的恢復.(4)資料庫中有大量CLOBBLOB對象數據恢復等情況以及各種ora-錯誤的修復.(5)DMP文件損壞導致文件不能導入資料庫的數據恢復(6)oracle資料庫中數據文件出現壞塊情況下的恢復.(7)oracle資料庫無數據文件但有日誌的情況下的恢復.(8)UNIX、WINDOWS下ORACLE數據文件被誤刪除情況下的資料庫恢復.(9)Oracle10G、Oracle11G的ASM損壞的資料庫恢復.(10)Oracle10G、Oracle11GBIFGILETABLESPACE大文件表空間損壞數據恢復(11)Oracle9i、Oracle10G、Oracle11G壓縮表壓縮表空間損壞數據恢復(12)Oracle10GOracle11GExpdp導出Impdp導入DMP文件錯誤數據恢復恢復成功率高達90%以上,在數據恢復領域處於國內領先的地位。具體案例見廣州拓飛官方網站

⑹ oracle資料庫數據刪除後如何恢復

Oracle DBA神器:PRM災難恢復工具,Schema級別數據恢復。PRM For Oracle Database – schema級別oracle資料庫數據恢復特性 ,PRM即ParnassusData Recovery Manager是企業級別Oracle資料庫災難恢復工具。PRM可以在無備份的情況下恢復被truncated掉的表,也可以恢復無法打開的Oracle資料庫(Alter Database Open失敗)中的數據。 PRM是圖形化增強版的Oracle DUL工具,同時具備很多Oracle DUL不具備的特性

⑺ Oracle資料庫軟體刪除後數據有辦法恢復么

1、如果你沒有刪除資料庫文件:
我的是放在[D:\oracle\proct\10.1.0\oradata]這個下面,你的肯定也是在[oradata]這個文件夾下面,看看有沒有被刪除,如果沒有被刪除的話,看看這么文件夾裡面的文件夾叫什麼名字,並把裡面的那個文件夾備份一份。
2、重新安裝資料庫,再重新建一個[oradata]下面文件夾名字相同的資料庫實例。
3、安裝完畢後,停止oracle相關的所有服務,把你備份的那個文件夾覆蓋到新的[oradata]下面,重新啟動資料庫服務即可完成恢復。
補充:如果資料庫文件被你刪除了,用EasyRecovery
Professional
恢復一下再按照上面的步驟恢復一下即可。
---
以上,希望對你有所幫助。

⑻ 如何從完好的數據文件恢復oracle資料庫

一。有數據文件、控制文件和日誌文件的備份1.伺服器重裝了操作系統,oracle也重裝了。如果重裝的oracle和以前損壞的資料庫是一模一樣的結構,那麼此時的恢復是比較簡單的。
1)刪除掉新建資料庫的所有數據文件、控制文件和日誌文件。Copy原資料庫的數據文件、控制文件和日誌文件到對應目錄下。

2)

Cmd>sqlplus /nolog

Sql>conn as sysdba

用戶名:system

密碼:(此處密碼為新創建資料庫的密碼)

Sql>shutdown immediate

Sql>startup nomount

Sql>alter database mount

此時看資料庫是不是能mount起來,有時會提示沒有口令文件PWDdemo.ora文件找不到。查看對應的目錄(database下)會發現該文件是存在的。此時需要注意,該口令文件是新安裝資料庫後創建實例時生成的口令文件,不是以前所用資料庫的口令文件,而現在,我們是用以前資料庫的控制文件和數據文件來打開以前的資料庫,所以此時需要重新創建一個口令文件。

Sql>shutdown immediate

Sql>host orapwd file=c:/oracle9i/database/PWDdemo.ora password=oracle

Entries=10 (放在database 目錄下)

Sql>startup nomount

Sql>alter database mount

Sql>alter database open

打開資料庫

2.如果新資料庫的安裝目錄和原有資料庫的目錄不一樣,那麼此時可以重建控制文件來打開資料庫。因為原控制文件中記錄的數據文件地址和現有的數據文件位置不一樣。此時和下面第二中情況一樣。當然,此時也可以創建和原資料庫一樣的目錄結構(前提是要記得原資料庫的目錄結構),需要注意的就是參數文件中記錄的控制文件位置和控制文件中記錄的數據文件位置。

說明:我們需要清楚資料庫在打開的三個階段中,需要讀取的文件

Sql>startup nomount (此時讀取參數文件)

Sql>alter database mount (根據參數文件中記錄的控制文件地址,去讀取控制文件)

Sql>alter database open (根據控制文件中記錄的數據文件地址,讀取數據文件,打開資料庫)

二。只有數據文件備份,沒有控制文件和日誌文件

由於只有數據文件備份,沒有控制文件和日誌文件,此時只能採用重建控制文件來恢復資料庫。以下通過兩中方法來介紹如何通過重建控制文件來進行資料庫的恢復。

1)僅安裝資料庫軟體,通過新建oracle服務,引用數據文件來創建一個實例。下面以實例名為demo為例進行說明。

1.創建存儲demo相關文件的目錄。即::各類文件的存放地址。

C:/documents and settings/mkdir c:/demo

C:/documents and settings/mkdir c:/demo/bmp

C:/documents and settings/mkdir c:/demo/ump

C:/documents and settings/mkdir c:/demo/cmp

C:/documents and settings/mkdir c:/demo/pfile

C:/documents and settings/mkdir c:/demo/create

C:/documents and settings/mkdir c:/demo/oradata

C:/documents and settings/mkdir c:/demo/oradata/demo (放置datafile、logfile、controlfile)

2.創建初始化參數文件(pfile)

此處pfile文件可以從其他能正常運行的資料庫上一個過來進行修改。(判斷其他正常運行的資料庫使用的是pfile還是spfile,如是pfile可以直接,如是spfile,則可根據spfile創建一個pfile文件)

Copy過來的pfile需要修改的地方:

background_mp_dest=c:/demo/bmp
core_mp_dest=c:/demo/cmp
user_mp_dest=c:/demo/ump
control_files=("c:/demo/oradata/demo/CONTROL01.CTL", "c:/demo/oradata/demo/CONTROL02.CTL", "c:/demo/oradata/demo/CONTROL03.CTL")
dispatchers="(PROTOCOL=TCP) (SERVICE=demoXDB)"(實例名)
dispatchers="(PROTOCOL=TCP) (SERVICE=demoXDB)"
db_domain=""
db_name=demo

3.創建oracle服務和口令文件

C:/documents and settings/oradim — new —sid demo —intpwd oracle

4.配置監聽和服務

用net manager 進行配置(demo實例的配置)

5.復制數據文件備份到指定的目錄下。此處為c:/demo/oradata/demo
6.重建controlfile

C:/Documents and Settings/hefan>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Proction on 星期一 12月 29 10:57:07 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn as sysdba
請輸入用戶名: system
請輸入口令:
已連接。
SQL> shutdown immediate
ORA-01507: 未安裝資料庫
ORACLE 常式已經關閉。
SQL> startup nomount file= c:/demo/pfile/initdemo.ora
ORACLE 常式已經啟動。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> @d:/controlfile.sql
控制文件已創建
Controlfile.sql內容如下:(此處也可以直接在sql>下輸入以下內容進行創建controlfile)
CREATE CONTROLFILE REUSE DATABASE "demo" RESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'c:/demo/oradata/demo/redo01.log' SIZE 50M,
GROUP 2 'c:/demo/oradata/demo/redo02.log' SIZE 50M,
GROUP 3 'c:/demo/oradata/demo/redo03.log' SIZE 50M
DATAFILE
'c:/demo/oradata/demo/system01.dbf',
'c:/demo/oradata/demo/odm01.dbf',
'c:/demo/oradata/demo/indx01.dbf',
'c:/demo/oradata/demo/tools01.dbf',
'c:/demo/oradata/demo/undotbs01.dbf',
'c:/demo/oradata/demo/users01.dbf',
'c:/demo/oradata/demo/xdb01.dbf',
'c:/demo/oradata/demo/cwmlite01.dbf',
'c:/demo/oradata/demo/drsys01.dbf',
'c:/demo/oradata/demo/example01.dbf'
CHARACTER SET zhs16gbk
說明:此時沒有日誌文件,所以只能進行reserlogs,如果是有logfile,則此處不需要resetlogs,noresetlogs就可以

⑼ 系統重裝過了,但是oracle所有文件都在,我想數據恢復回來怎麼弄

方法一:
首先,備份資料庫下的數據文件,在重新命名,重新安裝資料庫。安裝完成後,打開控制面板,停止oracle的服務。把(x:\oracle\oradata)下新生成的文件改名,把原先目錄下的文件恢復名字,再重新啟動oracle服務和監聽。用sys/as
dba登陸資料庫,登陸進去後,打開table提示不能打開。打開common頁,執行命令alert
database
open;這時再刷新table,用原先資料庫的普通用戶進入,數據成功恢復。
方法二:
1、將原來的oracle文件夾改名,找來oracle安裝光碟,將oracle安裝在原來安裝的目錄下。
2、安裝完畢,系統中多出一個可用的oracle了。將原來的文件和資料恢復過來上去。第一步,先關閉oracle的所有已經啟動的項目,在「服務」裡面逐一關閉。然後,將安裝目錄改名。
3、在dos環境下執行一個刪除命令:oradim
-delete
-sid
mm,其中mm為創建oracle時候創建的實例建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。
4、在dos環境下執行命令
oradim
-new
-sid
mm
-startmode
a
-pfile
"d:\oracle\admin\mm\pfile\initmm.ora
"創建一個新的實例,其中
「mm」為新資料庫的名稱。
5、啟動服務,先打開資料庫,然後可以用以前的用戶名和密碼登陸進去。要補充的是還要修改文件listener.ora,將裡面的相關的東西改過來就可以了。
上面我們通過建立一個一模一樣的oracle,安裝目錄、資料庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,達到資料恢復的目的。資料恢復中心提醒:由於上述操作比較復雜,所以非專業人士請勿盲目操作,應該第一時間聯系資料恢復中心可以為你解決資料恢復問題。

熱點內容
javasocket讀取 發布:2025-01-19 16:59:48 瀏覽:336
魅族路由器在哪裡設置密碼 發布:2025-01-19 16:59:45 瀏覽:657
經濟與發展資料庫 發布:2025-01-19 16:59:44 瀏覽:727
出國訪問奪權 發布:2025-01-19 16:57:22 瀏覽:591
vb打開共享文件夾 發布:2025-01-19 16:57:11 瀏覽:484
怎麼查詢手機wifi密碼 發布:2025-01-19 16:41:31 瀏覽:187
linux編輯圖片 發布:2025-01-19 16:37:55 瀏覽:167
sql數據對比 發布:2025-01-19 16:32:09 瀏覽:232
magnet下載ftp 發布:2025-01-19 16:27:07 瀏覽:318
注冊密碼下劃線是什麼意思 發布:2025-01-19 16:23:58 瀏覽:806