Oracle數據的導出與導入

前序:關於Oracle9i數據的導出與導入問題,折騰我好長時間了,尤其是導入。今天在一位同事的指導下,算是終於成功了,爲了記住這位同事的幫助,在此僅以“坤”作爲記號。

正文:

Oracle數據導出:
如果是導出本機的Oracle數據庫:
exp pcisv62/11@ORCL  file="d:\pcisv62081226.dmp"  full=y   
(ORCL爲本地數據庫監聽)

如果是導出服務器端的Oracle數據:
exp pcisv62/11@tnsname  file="d:\pcisv62081226.dmp" full=y
(tnsname爲COREV6_DBSERVER,SID爲COREV6,主機爲DBSERVER。)

注意:必須是 DBA 才能執行完整數據庫或表空間導出操作。


Oracle數據導入,分以下步驟:
1.先在Oracle9i的Enterprise Manager Console下,以sys/sys及sysdba身份登陸,在“存儲”-->“表空間”下創建表空間COREV6,同時給其分配合適的空間。
2.在“安全性”-->“用戶”下創建用戶pcisv62,使用戶默認的表空間爲COREV6,同時在“角色”裏授予CONNECT、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE、RESOURCE。
3.導入.dmp文件,開始-->運行cmd,導入命令:
imp pcisv62/11@ORCL file="d:\pcisv62081226.dmp"  ignore=y

 

 

注意:如果備份的.dmp文件是以用戶pcisv62導出COREV6空間的數據,那麼
1.新建的用戶最好是pcisv62,否則命令爲:
  imp pcisv62/11@ORCL file="pcisv62081226.dmp"  fromuser=pcisv62  touser=新建用戶  ignore=y
2.與新建用戶關聯的新建空間名必須爲COREV6,否則Oracle報找不到COREV6空間的錯誤。

 

數據成功導入以後,下一步就是配置Tomcat的server.xml文件:
1.如果用到的是本機上的數據,本地數據源裏的部分配置爲: username="pcisv62" password="11"

url="jdbc:oracle:thin:@localhost:1521:orcl"
2.如果用到的是服務器上的數據,則數據源裏的部分配置爲: username="pcisv62" password="11"

url="jdbc:oracle:thin:@dbserver:1521:corev6"(dbserver爲服務器的名字,corev6爲服務器上Oracle的SID)

 

oracle的安裝目錄E:\oracle\ora92\network\admin下的tnsnames.ora:
本地配置:
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 主機名)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )
或服務器配置:
COREV6_DBSERVER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = COREV6)
      (SERVER = DEDICATED)
    )
  )


以下轉載:幾種導入導出的命令方法,以備以後查閱。
數據導出:
exp qhmis/qhmis@qhmis  file='d:\backup\qhmis\qhmis20060526.dmp'  grants=y  full=n
 1 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp full=y
 2 將數據庫中system用戶與sys用戶的表導出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
 3 將數據庫中的表table1 、table2導出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
 4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"      
數據的導入:
 1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。
   imp system/manager@TEST  file=d:\daochu.dmp
   上面可能有點問題,因爲有的表已經存在,然後它就報錯,對該表就不進行導入。
   在後面加上 ignore=y 就可以了。
 2 將d:\daochu.dmp中的表table1 導入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章