程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle EXP-IMP用戶對象導出導入方法詳解

Oracle EXP-IMP用戶對象導出導入方法詳解

編輯:Oracle數據庫基礎
 

最近,客戶方要求每天定時導出數據庫某個用戶對象數據,方便出錯時用於數據恢復或用於調用數據。由於客戶生產環境的數據庫為非歸檔模式,數據量比較小,最後采用古老的exp/imp導出導入方法。下面主要講解一下EXP/IMP用戶對象導出導入的使用方法。
正文:
操作系統windows server 2003  oracle10g
EXP用戶對象導出操作:
在oracle客戶端配置tnsnames.ora
canway =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.43)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
使用EXP用戶對象導出的方法比較簡單:
打開cmd窗口,執行以下命令:
exp system/canway@canway owner=用戶名 file=*.dmp log=*.log compress=y direct=n rows=y
#標注:owner:需要導出的用戶名 compress: 導入一個extent (Y)   DIRECT:直接路徑 (N)  ROWS: 導出數據行 (Y)
 
IMP用戶對象導入操作:
由於imp導入用戶對象數據,不會進行覆蓋,故導入之前需要做以下操作:
1.查看用戶對應默認表空間:
select username,DEFAULT_TABLESPACE from dba_users;
 
2.刪除用戶並刪除此用戶名下的所有表和視圖(不刪除用戶所在的表空間):
drop user username cascade;
(若該用戶正在運行,需要KILL掉會話
select sid,serial# from v$session where username='user_name';
 
alter system kill session 'sid,serial'; )
 
3.重建之前的用戶和密碼:
create user 用戶名 identified by 密碼 default tablespace 表空間名;
(查找用戶對應的默認表空間:
 select username,DEFAULT_TABLESPACE from dba_users;)
 
4.賦予用戶適當的權力
grant connect,resource,dba to 用戶名;
 
5.對用戶對象數據導入:
運行在命令行的窗口下
imp system/canway@canway file=I:\backup\*.dmp log=I:\backup\*.log  fromuser=導出的用戶名 touser=導入的用戶名;
#注釋:file=導出文件存放的直接路徑和名稱.dmp log=導入過程中產生的日志追蹤log
Fromuser:導出的文件所有者 touser:即將需要導入到哪個用戶名。
 
總結:Exp/Imp導出導入是一個好的轉儲工具,特別是在小型數據庫的轉儲,表空間的遷移,表的抽取,檢測邏輯和物理沖突等中有不小的功勞,本次主要介紹用戶對象導出導入的方法。而對於越來越大的數據庫,特別是TB級數據庫和越來越多數據倉庫的出現,EXP/IMP越來越力不從心了,這個時候,數據庫的備份都轉向了RMAN和第三方工具。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved