==========================================================
導出oracle資料庫及資料
===============
問題:
使用Oracle SQL Developer裡面的Tools->Export DDL、和在SQL worksheet中輸入exp指令,都報錯。
前者報表或視圖不存在,後者報無效的SQL語句。
解決:
不用Oracle SQL Developer,直接轉到dos的SQL指令行導出,報錯:
sp2-0734 未知的指令開頭 "exp……
下面找到了正解:http://www.bhcode.net/article/20100414/8076.html
http://blog.sina.com.cn/s/blog_6d59e57d0100q0qv.html 都說了要在DOS界面下使用,居然沒有注意。
汗,這麼小問題搞了好久,一直以為是sql不對
結論:
要在dos指令行,即直接打開cmd視窗使用exp指令,不能在SQL>提示符下使用exp指令
===========================================================
導遠端伺服器上的oracle資料庫
=================
參考:http://sucre.blog.51cto.com/1084905/380152
問題:tnsnames.ora在哪?
解決:不同用戶端tnsnames.ora的路徑不同,不能在sqlplus裡獲得。
我的11g tnsnames.ora路徑為$oracle_home\product\11.1.0\db_1\NETWORK\ADMIN\
問題:改好後提示隻讀不讓儲存
解決:另存到桌面,删除原檔案,再粘貼回去。
問題:輸入指令exp username/[email protected] file=c:\本地存放資料庫備份後的路徑
報錯:ORA-12504: TNS: 監聽程式在 CONNECT_DATA 中未獲得 SERVICE_NAME
解決:經過自己對比發現,我在複制設定代碼的時候,圖省事,複制了原有的配置
ORCL = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XiaoYan-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) 實際上正确的設定,還有個ADDRESS_LIST,之前自己沒注意。
問題:報錯 必須說明 \'SET_NO_OUTLINES\' 組建
解答:http://blog.csdn.net/xw13106209/article/details/6609638
不能直接在用戶端(安裝有oracle 11g)上使用exp指令向伺服器端(oracle 9i)上的資料庫送出請求導出資料到用戶端機器上。
之前不能用Oracle SQL Developer裡面的Tools->Export DDL導出資料庫,也是因為版本問題。
解決:還沒解決……
============最終情況===========================================
同僚在自己的伺服器上導出了資料庫,沒用我的用戶端。
經驗太少了……早知道這樣導不行的話,可以少花很多時間呢……以後不用版本間互動要注意注意啦……
=========== 其他小知識===================================
查詢目前資料庫名 select name from v$database;
檢視資料庫版本 select * from v$version;
參考:http://z-piaoyi.iteye.com/blog/989205
oracle 入門指令:http://z-piaoyi.iteye.com/blog/989205
