上一文章 oracle11g數據庫--創建表空間,創建用戶,用戶授權並指定表空間。我們已經建好了指定的新用戶pdmis。
接下來我們需要將備份好的數據庫,還原至新用戶pdmis下。
想要還原,我們需要將備份好的dmp文件。拷貝至目標服務器下(此處為D:\oraclebf\PDMIS\PDMIS.DMP)
出現上面問題是因為要傳的文件太大造成的,我可以將本分文件通過壓縮文件壓縮后再傳壓縮文件(5.15g的備份文件被壓縮為515m)
傳到目標服務器后,再進行文件解壓縮。保存至對應的路徑下(此處為D:\oraclebf\PDMIS\PDMIS.DMP)
這些准備工作完成后,我們可以通過IMP命令進行數據庫還原工作。
cmd(管理員模式)--輸入一下命令(備份、還原無需進入sqlplus命令,注意!!!)
imp/exp 用戶名/密碼@service_name或oracle_sid file=D:\導如(出)文件名稱.dmp full=y ignore=y
full=y ( 全庫導出): 導出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 這些系統用戶之外的所有用戶的數據
ignore=y 表示忽略創建錯誤(比如有重復的表,就不再導入),繼續后面的操作
根據實際需求,我們的還原命令如下:
imp pdmis/pdmis@orcl file=d:\oraclebf\PDMIS\PDMIS.DMP log=d:\oraclebf\PDMIS\PDMIS.log full=y
log=d:\oraclebf\PDMIS\PDMIS.log(創建錯誤日志,默認和備份文件放在同一目錄下。)
執行語句
數據庫還原完成,但遇到錯誤報告。技術人員驗證數據庫后,有表和視圖的丟失怎么辦?
我們需要刪除用戶(此步驟一定要慎重!!!因為有的用戶下會連着好多數據庫,避免數據丟失。
在確定用戶下只有一個數據庫時,並且此數據庫為我們剛才恢復的數據庫后才能刪除)
drop user pdmis cascade; 刪除用戶 **
drop tablespace pdmis_temp including contents
and datafiles cascade constraint; 刪除臨時表空間
drop tablespace pdmis_data including contents
and datafiles cascade constraint; 刪除表空間
執行以上命令后,重啟服務器。
通過oracle的 dbca工具新建實例。
1)打開dbca--下一步
2)創建數據庫--下一步
3)默認選一般用途或事務處理--下一步
4)輸入全局數據庫名和實例名--下一步(此步驟可以繼續使用之前的orcl全局數據庫,sid為我們需要增加的實例名)
5)默認選擇--下一步
6)輸入密碼--下一步
7)默認選擇--下一步
8)默認--下一步
9)內存--調整為60%
字符集--選擇默認--ZHS16GBK
10)對以上設置的確認--下一步
11)創建數據庫--生成數據庫創建腳本--完成
點擊確定
確定
等待生成數據庫
安裝完成--口令管理--將sys、system設置密碼
將scott解鎖設置密碼
完成后再去全局數據下創建表空間
臨時表空間,創建用戶,為用戶授予權限。
先用tnsping pdmis_test通不通
再執行imp命令進行備份的還原。
imp pdmis/pdmis@pdmis_test file=d:\oraclebf\PDMIS\PDMIS.DMP log=d:\oraclebf\PDMIS\PDMIS.log full=y