當前位置:首頁 » 數據倉庫 » oracle資料庫備份與恢復總結
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle資料庫備份與恢復總結

發布時間: 2022-07-02 18:55:04

㈠ oracle如何進行備份與恢復

導出備份的命令:
開始-》運行-》cmd-》exp username/password@tns_name file=d:\backup.dmp

導入備份的命令:
開始-》運行-》cmd-》imp username/password@tns_name file=d:\backup.dmp full=y
希望對你有幫助

㈡ oracle資料庫備份和恢復步驟

資料庫備份的過程當中恢復不了比較麻煩,這個需要通過語音網站去進行恢復。

㈢ 如何對Oracle資料庫文件進行恢復與備份

任何資料庫在長期使用過程中,都會存在一定的安全隱患。對於資料庫管理員來說不能僅寄希望於計算機操作系統的安全運行,而是要建立一整套的資料庫備份與恢復機制。當資料庫發生故障後,希望能重新建立一個完整的資料庫,該處理稱為資料庫恢復。恢復子系統是資料庫管理系統的一個重要組成部分。恢復處理隨所發生的故障類型所影響的結構而變化。怎樣才能對Oracle資料庫進行備份?如何才能對刪除的數據再進行恢復?這是本篇文章主要講的內容。

㈣ Oracle資料庫的備份和恢復

a.instance由一些ORACLE進程和內存組成,用來連接資料庫
b.oracle跟mysql,sqlserver的設計思想不一樣,不要把mysql的架構套用到學習oracle架構上
c.表空間是個邏輯概念,表邏輯上存在於表空間中,而物理上存在於數據文件中。一個表空間可以有多個數據文件。建表時指定表空間,真實數據就是通過dbwr進程寫到相應數據文件中。
d.備份分物理備份跟邏輯備份。物理備份就是備份數據文件,可以是備份集或者COPY,工具比如RMAN。邏輯備份就是備份的一些DDL,DCL,DML操作,相當於mysqlmp,工具比如EXP,EXPDP。

㈤ oracle的備份與恢復

備份:(cmd下執行)
exp fdais/fdais file=bakdb20100902.dmp directory=D:\baksql
用戶名 密碼 備份後生成的文件名 保存的路徑

然後在另外的機器上建立跟之前一樣的表空間、用戶名和密碼
(可以用命令CREATE DATABASE重新生成資料庫結構)

恢復:(在cmd下執行以下命令即可將備份好的資料庫重新導入)
imp fdais/fdais file=bakdb20100902.dmp directory=D:\baksql log=bakdb20100902.log
用戶名 密碼 備份後生成的文件名 保存的路徑 備份後自動生成的日誌
注意,確保D:\baksql目錄下有這兩個文件bakdb20100902.dmp、bakdb20100902.log

另外,可以用語句select * from user_all_tables查詢表空間。

以上備份和恢復的過程不需要停止資料庫。

㈥ oracle資料庫備份與恢復方式有哪些

========exp導出表的dmp文件==============
1、表數據不大的時候,可一次導出多張表
exp username/password file=/home/**/filename.dmp tables=(tablename1,tablename2,...)
如:
exp username/password file=/home/oracle/20110909_other1.dmp tables=(tablename1,tablename2,...)
2、表的數據比較大的時候,可以添加查詢條件:query
exp username/password file=/home/**/filename.dmp tables=(tablename) query=\"where column1 in \(**,**,**\) and column2 \>= to_Date \(\'2011-08-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) and column2 \<to_date\(\'2011-09-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) \"
如:
exp username/password file=/home/oracle/201108_101_PortRate.dmp tables=(T_PORTRATE) query=\"where subregionid in \(102,103,104,105,106,108,109,110,111,112,114,1135216\) and CREATETIME \> =to_date\(\'2011-08-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) and CREATETIME \<to_date\(\'2011-09-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) \"
exp中的file後面的路徑和文件名,都是指的在exp那台機器上的路徑和文件名。

=======imp導入表的dmp文件=============================
imp username/password file ='/home/***/***/filename.dmp' full=y indexes=y buffer=65536
當被導入的資料庫的表中已經存在一部分數據,而我們imp的dmp文件中的數據可能是另外一些查詢條件emp出來的,
可以不覆蓋原表中的數據,直接繼續導入,加上以下參數。
ignore=y,即告訴IMP如果當前表存在就不創建表結構而直接導入新的數據。

imp username/password file ='/home/***/***/filename.dmp' full=y indexes=y buffer=65536 ignore=y

=========exp過程中的錯誤:EXP-00091===========
原因:EXP-00091問題是exp工具所在的環境變數中的NLS_LANG與DB中的NLS_CHARACTERSET不一致導致的
解決方法:在exp的機器上,
1、[oracle@www oracle]$echo $NLS_LANG
AMERICAN
2、sqlplus進入SQL>環境查看oracle的NLS_CHARACTERSET是神馬?
SQL> select userenv('language') from al;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

雖然都是AMERICAN,但是還是不一樣的。所以修改當前機器環境變數NLS_LANG
3、、[oracle@www oracle]$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
也可以再次echo $NLS_LANG確認下。
4、再次exp後,EXP-00091 錯誤消失。
導出環境oracle版本為:oracle9i。

=======(暫時的工作中)exp和imp流程:====================
現網導出,並導入本地測試庫:
1、從241ssh到現網資料庫*.*.*.*(一個IP),exp出現網表
如果文件較大,最好打包,
壓縮:tar -zcvf *.tar.gz *.dmp
2、ftp登錄241的內網地址:*.*.26.100將現網dmp文件或者壓縮後的文件put到*.*.26.100上
3、從winScp(bbass)上將該文件拉到本地電腦
4、登錄需要導入的資料庫的伺服器:192.168.8.49,用ssh將本地的dmp文件或者壓縮後的文件上傳到192.168.8.49
解壓:
tar -zxvf *.tar.gz *.dmp
後,執行imp語句。

㈦ 求助:oracle 資料庫備份與恢復

當實例意外地(如掉電、後台進程故障等)或預料地(發出SHUTDOUM ABORT語句)中止時出現實例故障,此時需要實例恢復。
實例恢復將資料庫恢復到故障之前的事務一致狀態。
如果在在線後備發現實例故障,則需介質恢復。在其它情況Oracle在下次資料庫起動時(對新實例裝配和打開),自動地執行實例恢復。

㈧ oracle資料庫的備份與恢復問題

可以採用以下方法Oracle數據導入導出imp/exp就相當於oracle數據還原與備份。exp命令可以把數據從遠程資料庫伺服器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。

執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,
DOS中可以執行時由於 在oracle 8i 中 安裝目錄ora81BIN被設置為全局路徑,
該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。
oracle用java編寫,SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個文件有可能是被包裝後的類文件。
SQLPLUS.EXE調用EXP.EXE、IMP.EXE所包裹的類,完成導入導出功能。

下面介紹的是導入導出的實例。
數據導出:
1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:chu.dmp中
exp system/manager@TEST file=d:chu.dmp full=y
2 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:chu.dmp owner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat導出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出
exp system/manager@TEST file=d:chu.dmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的導出,對於壓縮,既用winzip把dmp文件可以很好的壓縮。
也可以在上面命令後面 加上 compress=y 來實現。數據的導入
1 將D:chu.dmp 中的數據導入 TEST資料庫中。
imp system/manager@TEST file=d:chu.dmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。
在後面加上 ignore=y 就可以了。
2 將d:chu.dmp中的表table1 導入
imp system/manager@TEST file=d:chu.dmp tables=(table1)

㈨ Oracle 資料庫的備份與恢復都有哪幾種方法

一、邏緝備份:exp/imp 導出導入
二、用戶管理的備份恢復:1、冷備份,正常關閉資料庫,操作系統拷貝整個資料庫文件。
2、熱備份,在資料庫開啟時,把要備份的數據文件改為bakcup狀態
聯機拷貝文件。
三、rman管理的備份恢復

㈩ oracle資料庫怎麼備份恢復

ORACLE資料庫有兩類備份方法。第一類為物理備份,該方法實現資料庫的完整恢復,但資料庫必須運行在歸擋模式下(業務資料庫在非歸擋模式下運行),且需要極大的外部存儲設備,例如磁帶庫;第二類備份方式為邏輯備份,業務資料庫採用此種方式,此方法不需要資料庫運行在歸擋模式下,不但備份簡單,而且可以不需要外部存儲設備。

資料庫邏輯備份方法,ORACLE資料庫的邏輯備份分為三種模式:完全備份、用戶備份和表備份。
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
如果要執行完全導出,必須具有特殊的許可權
2、用戶模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC
這樣用戶SONIC的所有對象被輸出到文件中。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
這樣用戶SONIC的表SONIC就被導出
備份恢復:
具有三種模式(完全、用戶、表)
1、完全:
IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
2、用戶模式:
IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC
這樣用戶SONIC的所有對象被導入到文件中。必須指定FROMUSER、TOUSER參數,這樣才能導入數據。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)