Ⅰ oracle資料庫如何還原
第一:用安裝資料庫時的管理員用戶登錄:創建一個新的用戶,如:x0dx0a//創建用戶123密碼456x0dx0acreate user 123 identified by 456;x0dx0a第二:授權,賦予dba的許可權x0dx0agrant dba to 123;x0dx0a第三:導入資料庫x0dx0aimp 123/456@orcl file=E:\*.DMP fromuser=expuser touser=123x0dx0a注意:如上導入需要直接在cmd界面執行;expuser是導出用戶名,可以隨便寫,但會有警告;orcl是你創建的資料庫事例,在安裝oracl的時候,默認會新建一個orclx0dx0a最後:希望我描述清楚了,能幫到你。
Ⅱ oracle用imp還原資料庫時能覆蓋原來資料庫嗎
應該是不可以,imp執行的操作,就是建表、建視圖等對象,導入數據(執行插入操作);
沒有在插入前,執行清空(delete等)的操作。
Ⅲ Oracle數據被刪除後,如何恢復
刪除表後,可以採用如下操作:
在 user_recyclebin中找到最近操作過的表名稱,然後用閃回(只能用於10G及以上版本)。
FLASH BACK TABLE TABLE_NAME TO BEFORE DROP;
如果是刪了或修改裡面的數據,可以先建立一個快表將刪除修改之前狀態的數據找回到這個表中:
CREATE TABLE QUICK_TABLE AS
SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSDATE-1/24 (一小時前的),減去的時間可以自己定 如:select * from TABLE_NAME AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' MINUTE)
Ⅳ linux系統 還原oracle資料庫步驟跟命令
數據還原:
1.在命令行輸入:sqlplus "/as sysdba"
2. 執行以下語句登錄xx資料庫,用戶名:xx,密碼:xx(請輸入當地實際密碼)
conn xx/xx;
3.如果恢復的表中有涉及到觸發器的請停止觸發器,例:A表
alter table A disable all triggers;
commit;
4. 執行以下語句退出當前用戶
quit;
5. 執行以下語句,恢復用戶數據。
impdp xx/xx@資料庫實例名 directory=bak_dir table_exists_action=truncate mpfile=expdb_xx.dmp logfile=impdb_xx.log
5.在命令行輸入:sqlplus "/as sysdba"
6. 執行以下語句登錄xx資料庫,用戶名:xx,密碼:xx(請輸入當地實際密碼)
conn xx/xx;
7. 執行以下語句打開被禁止的觸發器
alter table A enable all triggers;
commit;
Ⅳ 重裝系統後,怎麼恢復oracle資料庫
任何軟體都有可能在有意或無意的情況下被重新安裝,如Oracle重裝後資料庫怎麼恢復呢?情況發生在你是無意的情況下!ORACLE資料庫恢復的方法我們經常會用到,下面就為您介紹重裝系統後ORACLE資料庫恢復的方法,希望對您學習ORACLE資料庫恢復方面能有所幫助。x0dx0ax0dx0a我的電腦突然掛了,不得不重裝系統,不過我的ORACLE裝在了D盤,所有的文件都還在,我相信一定能夠恢復,直到搞定工作,我才開始整我的資料庫,花了兩天時間,終於恢復了,慶祝一下,同時總結一下,希望有遇到同樣問題的朋友能夠快速搞定此類問題x0dx0ax0dx0a第一種:x0dx0ax0dx0a首先,備份資料庫(X:\oracle\oradata)下的數據文件,重新命名即可(否則裝資料庫的時候會提示sid已存在)。重新安裝數據x0dx0a庫,當然資料庫的名字就是你要恢復的名字。安裝完成後,打開控制面板,停止oracle的服務。把(X:\oracle\oradata)下新生成的文件x0dx0a改名,把原先目錄下的文件恢復名字。再重新啟動oracle服務和監聽。用sys/as dba x0dx0a登陸資料庫,可能會提示許可權不夠(ora-01031)修改(X:\oracle\ora92\network\admin x0dx0a)文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= x0dx0a(NTS),增加許可權。登陸進去後,打開table提示不能打開。打開common頁,執行命令alert database x0dx0aopen;這時再刷新table,發現原先的表可以打開了。恢復成功了。再用原先資料庫的普通用戶進入。發現一切正常。至此,大功告成。x0dx0ax0dx0a第二種:x0dx0ax0dx0a1、首先,將原來的ORACLE文件夾改名,原來的路徑是D:/oracle.我暫時改成D:/oracle_old.找來ORACLE(我用x0dx0a的是ORACLE 9I)安裝光碟,將ORACLE安裝在原來安裝的目錄下,這樣恢復起來更加方便,主要是注冊表的內容不用修改。x0dx0ax0dx0a2、安裝完了之後,系統中又有一個可以使用的ORACLE了。這個時候要做的就是將原來的文件和數據恢復過來。第一步,先關閉ORACLE的所x0dx0a有已經啟動的項目,在"服務"裡面逐一關閉。然後,將安裝目錄改名。我現在用的是D:/oracle.改成D:/oracle_new.再將D:x0dx0a/oracle_old改成D:/oracle. x0dx0a這樣理論上說從物理層面恢復了ORACLE了。但是我們發現,現在還不能啟動ORACLE的監聽程序和服務程序。我們還要從邏輯上解決。x0dx0ax0dx0a3、在dos環境下執行一個刪除命令:oradim -delete -sid mm,其中mm為創建oracle時候創建的實例 x0dx0a建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。當然你懶,不重新啟動也可以,但是你的實例名就不能和原來的一樣了。x0dx0ax0dx0a4、在dos環境下執行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "創建一個新的實例,其中 "mm"為新資料庫的名稱。x0dx0ax0dx0a5、啟動服務,先打開資料庫,然後可以用以前的用戶名和密碼登陸進去。 x0dx0a要補充的是,一般的ORACLE資料庫的監聽程序都是用電腦的名稱來識別地址的,而不是127.0.0.1或者localhost.所以,如果我們安裝系x0dx0a統的時候用的是不同的電腦名稱(比如我原來用的是wm_mm.重新安裝後用的是wenming_mm),那麼我們還有一個工作要做,就是修改文件 x0dx0alistener.ora.將裡面的相關的東西改過來就可以了。x0dx0ax0dx0a需要耐心、細心,可能在一步里有一個細小的差別就會出些古怪的錯誤提示,有時需要根據錯誤提示採取策略,總之原理是,先裝一個一模一樣的ORACLE,安裝目錄、資料庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,打開資料庫就可以進去了。
Ⅵ oracle 資料庫如何還原
單擊開始,這里輸入cmd,打開dos窗口
輸入命令
exp bms/BMSPASS@TCDB file=E:DBbackdbback20160112.dmp
這里說明一下
這里的bms是指備份時,登錄資料庫實例TCDB的用戶名;
這里的/是語法符號。
這里的BMSPASS是用戶bms登錄資料庫TCDB時的密碼;
@是語法符號。
這里的TCDB是Oracle資料庫的實例名。
這里的file=E:DBbackdbback20160112.dmp 是只指備份文件的存放路徑。
等待導出完成,如果看到這里的導出成功,說明備份完成了。
打開備份時指定的存儲路徑,就可以看到備份文件了。
如果在導出命令的最後加上full=y的參數,也就是
exp bms/BMSPASS@TCDB file=E:DBbackdbback20160112.dmp full=y
意思是將用戶bms在TCDB資料庫實例中的所有文件都備份,也就是完整備份。
資料庫還原使用語法
imp bms/BMSPASS@TCDB file=E:DBbackdbback20160112.dmp
這里的E:DBbackdbback20160112.dmp是備份文件的存放路徑
Ⅶ 我的oracle資料庫裡面覆蓋了一張表,怎麼還原
用oracle的
flashback
,可以還原查詢某個時間點這個表中的數據,只要時間不要過去太久就可以,比如
SELECT
*
FROM
tt_tab
AS
of
TIMESTAMP(SYSDATE-1/24)
Ⅷ oracle資料庫中的數據不小心被錯誤修改了某列的值,如何把它還原而且資料庫不在本機
哥們你麻煩了
這個事一定要找dba在本地操作, 兩個方法
1 使用 flashback 功能。但是你得祈禱你開了flashback 而且undo tablespace足夠大,而且你從出錯到開始恢復這段時間資料庫操作不太多,沒有把你的數據覆蓋
2 新建一個庫,用原來庫的備份restore進去,然後recover到你做了錯誤操作之前。然後把涉及的表export出來,然後drop掉你原來庫中錯誤的表,再導入進去
當然,還有一種可能,如果你沒提交的話,roll back...