oracle11g 重裝操作系統后,如何利用原有oracle表空間文件還原數據庫


最近由於系統重裝,在還原dmp備份文件時,由於數據原因(用exp命令導出時表沒有導出全部),導致系統不能正常運行。根據網上的信息和個人實際情況,做個記錄,便於后用。

oracle 導出空表方法:

 1. 執行下面語句:

select table_name from user_tables where NUM_ROWS=0;

2.假設我們這里有空表TBL_1,TBL_2,TBL_3,TBL_4,則查詢結果如下:

alter table TBL_1 allocate extent;
alter table TBL_2 allocate extent;
alter table TBL_3 allocate extent;
alter table TBL_4 allocate extent;

最后我們把上面的SQL語句執行,再導出就可以了。

下面正式開始

說明:把原來的數據做備份

原oracle安裝目錄,D:\tools\oracle11g\Administrator

備份oracle目錄,   D:\數據庫備份\oracle11g\Administrator

 

步驟:

一、重裝oracle,安裝目錄要與原來的安裝目錄相同,即為D:\tools\oracle11g\Administrator

二、創建數據庫時,確保ORACLE_SID與原數據庫相同,此處ORACLE_SID = sd ,安裝好數據庫后,創建好表空間信息,也與原數據庫相同,如果原來的有臨時表空間,也要創建(和原來的一樣)

三、創建成功后,會在D:\tools\oracle11g\Administrator\oradata\ 下出現與ORACLE_SID同名的文件夾sd ,即D:\tools\oracle11g\Administrator\oradata\sd

四、在控制面板->管理工具->服務 中,停止以下服務:

     1)OracleOraDb11g_home1TNSListener

     2)OracleServiceSD

     因為我只開啟了這兩項oracle服務,為確保操作過程順利,可以停止所有oracle服務。

五、從備份盤中拷貝oracle數據庫文件:

     1)把D:\數據庫備份\oracle11g\Administrator\oradata\目錄下的oracle文件夾完整拷貝到 D:\tools\oracle11g\Administrator\oradata\目錄下。

     2) 將D:\數據庫備份\oracle11g\Administrator\product\11.2.0\dbhome_1\database 目錄下文件拷貝到           D:\tools\oracle11g\Administrator\product\11.2.0\dbhome_1\database

     3) 將D:\數據庫備份\oracle11g\Administrator\product\11.2.0\dbhome_1\network\admin 目錄下文件拷貝到 D:\tools\oracle11g\Administrator\product\11.2.0\dbhome_1\network\admin下,注意修改文件里的HOST值

admin 文件夾下的文件都看看,如果和現在的主機名(IP)不一樣,都改一下。

六、復制控制文件

    把D:\數據庫備份\oracle11g\Administrator\flash_recovery_area\sd下的CONTROL02.CTL(這個文件和用戶有關)文件copy到新安裝的對應目錄下(可把新的進行重命名,以備用相信你在做上面的操作前都已經做好備份了)。

七、重新啟動停止的oracle服務。

 OK,你的數據已經還原好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM