Oracle資料庫備份還原

2021-10-20 02:26:03 字數 1535 閱讀 1451

注:以下**如未特別說明,均為sqlplus中執行

sqlplus中連線oracle

conn system/root;
讓備份檔案中包含空表(有些表可能是空表,oracle預設是不會備份空表的)

--執行以下語句,執行完後得到一些語句集,然後執行這些語句集,如果沒有資料則表示所有表均在備份集中

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

匯出資料到.dbf檔案中,其中file後跟本機dbf檔案路徑

$exp userid=developer/123456 direct=y rows=y file=e:\projects\c#\netdeveloptools\docs\dbbackup\exp.dmp;
通常這種情況下,服務端是不能提供操作的,這時就需要確定以下資訊:

建立tnsnames.ora檔案

oracle_client安裝目錄\network\admin下建立tnsnames.ora檔案,並配置監聽,以下為配置樣例:

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.101.8)(port = 1521)))

(connect_data = (service_name = tjcs))

) 其中 伺服器ip,埠號,服務名 應該讓伺服器管理員提供。

配置環境變數

開啟計算機屬性-高階系統設定-環境變數

新增系統變數

變數名:oracle_home

變數值:oracle_client的安裝根目錄

編輯系統變數path,變數值最後增加 ;+oracle_client的安裝根目錄 (前面有個分號;

開啟cmd視窗,輸入imp,看是否報錯,如果不報錯,說明以上部署均正確。

還原資料庫

如果是乙個新資料庫,則需要建立乙個一樣的表空間和一樣的使用者,如果只是恢復操作,則跳過。

cmd中執行以下語句:

imp userid=developer/123456 file=e:\projects\c#\netdeveloptools\docs\dbbackup\exp.dmp full=y ignore=y;
伺服器上應該有oracle環境,如果沒有環境,則參照客戶端還原教程。

cmd中執行以下語句

imp userid=developer/123456 file=e:\projects\c#\netdeveloptools\docs\dbbackup\exp.dmp full=y ignore=y;

oracle備份還原資料庫

1 備份資料庫 exp 使用者名稱 密碼 資料庫名 file e oracle date databack 2013 11 03 init dmp。2 還原資料庫 imp 使用者名稱 密碼 資料庫名 file e oracle date databack 2013 11 03 init dmp fu...

ORACLE 資料庫備份還原命令

備份,在開始執行中cmd exp ay user ay zhf file e 名稱.dmp log e log.txt full y ay user 使用者名稱 zhf 密碼 要備份的資料庫名和位址,log e log.txt 備份生成的日誌檔案的位址和名稱。full y完全備份 還原,在開始執行中...

oracle資料庫還原與備份

1.首先查詢目標使用者的當前程序,注意是serial 而不是serial,網上有的介紹漏掉了 select sid,serial from v session where username bjrl 對應資料庫的使用者名稱,注意大寫 使用此語句會返回乙個程序列表,每行有兩個數字,然後用數字替代下面的...