ORA-12560解決方法
今天在進行oracle數(shù)據(jù)imp/exp時突然發(fā)現(xiàn)在cmd下執(zhí)行exp輸入scott/tiger后時提示:
EXP-00056: 遇到 ORACLE 錯誤 12560
ORA-12560: TNS: 協(xié)議適配器錯誤
EXP-00000: 導出終止失敗
開始以為自己輸錯用戶名了,畢竟在oracle這里我不太熟悉。再次輸入用戶名和密碼,依舊報錯。
靜下來想想----監(jiān)聽器和數(shù)據(jù)庫實例都已經(jīng)啟動了而且還是用自己做的批處理腳本。在Linxu下我也是可以imp/exp的,Linxu下沒有注冊表這種概念,而存在環(huán)境變量這種理念。排除注冊表后不同點就在這里了。
于是我谷歌之......
結果和我料想的一樣,注冊表中HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1下ORACLE_SID的鍵值和我的數(shù)據(jù)庫實例名相同都是orc?,F(xiàn)在可以排除注冊表了。然后設置系統(tǒng)環(huán)境變量ORACLE_SID=orc然后再到cmd下重新exp沒有提示任何錯誤可以導出了。
再做實驗驗證是環(huán)境變量的原因,我set ORACLE_SID=orcs后,再exp又出現(xiàn)上面的的ORA-12560錯誤了,再set 回來ORACLE_SID=orc,問題就又解決了。
以前在Eygle的一本書上曾看到過在Linxu下環(huán)境變量和oracle的關系。在windows下個人認為和注冊表的關聯(lián)會多些,對于我這個更習慣用命令行的人來說在windows下和環(huán)境變量也有一定的聯(lián)系.
更多信息請查看IT技術專欄