編碼的世界 / 優質文選 / 生物

linux系統下oracle數據庫備份、還原。


2022年7月22日
-   

操作步驟
數據備份: 步驟 1 備份用戶數據。
1.使用linux系統下的數據庫管理員賬號連接linux終端。
2. 執行以下語句,創建“bak_dir”文件夾。  mkdir bak_dir 3. 執行以下語句,為“bak_dir”文件夾賦予讀、寫和執行權限。  chmod 777 bak_dir 4. 執行以下語句,以sysdba用戶登錄oracle數據庫服務器。  sqlplus 數據庫管理員賬號/密碼@數據庫實例名 as sysdba 5. 執行以下語句,將“bak_dir”指定為“/opt/oracle/bak_dir”。  create or replace directory bak_dir as '/opt/oracle/bak_dir'  commit 6. 執行以下語句,將“bak_dir”的讀、寫和執行權限賦給xx(數據用戶名)用戶。  grant all on directory bak_dir to xx
 commit 7. 執行以下語句,退出oracle數據庫服務器。  quit
執行以下語句,將sysdb用戶的表備份到“bak_dir”目錄下。 8.expdp xx(要導出表所在的數據庫用戶名)/xx(密碼)@數據庫實例名 directory=bak_dir dumpfile=expdb_xx.dmp logfile=expdb_xxlog tables=表名
 
數據還原:
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 dumpfile=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;
 

熱門文章