Posted on 2010-01-14 21:45
斷點 閱讀(675)
評論(0) 編輯 收藏 所屬分類:
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。)
exp pcisv6_ab/11@COREV6_DBSERVER file=d:\v6100210.dmp rows=y buffer=1024000
注意:必須是 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 pcisv6_ab/11@ORCL file=d:\v6100210.dmp full=y ignore=y
注意:如果備份的.dmp文件是以用戶pcisv62導出COREV6空間的數據,那么
1.新建的用戶最好是pcisv62,否則命令為:
imp pcisv62/11@ORCL file=d:\v6100210.dmp fromuser=pcisv62 touser=pcisv6_ab full=y ignore=y rows=y tablespaces=corev6
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)
posted @ 2009-03-04 17:06 斷點 閱讀(1224) | 評論 (0)