Oracle修改主機名稱問題解決案例一則

來源:互聯網
上載者:User

今天啟動資料庫監聽的時候提示報錯:

TNS-12545: 因目標主機或對象不存在, 串連失敗
 TNS-12560: TNS: 協議適配器錯誤
  TNS-00515: 因目標主機或對象不存在, 串連失敗
  32-bit Windows Error: 1004: Unknown error

監聽程式未能啟動。請參閱上面的錯誤訊息...

才想起來昨天把主機名稱改了。行吧,那就修改listener.ora中的主機名稱。

再次啟動ok。

然後啟動資料庫,發現啟動報錯,提示local_listener參數中設定的值不對。

但是此時資料庫都啟動不了,參數無法修改,所以只能從pfile下手了:

在pfile中,增加local_listener參數,設定為新的主機名稱對應的字串。需要注意的是,這個參數要加到最後面,如果是前面幾行,還會報主機名稱無法找到的錯誤。

時間不夠,沒有具體實驗到底是哪個參數引起的。

修改後,從pfile啟動成功。

然後根據pfile建立spfile:

create spfile from pfile;

再重啟資料庫,從spfile啟動。卻提示非法的執行個體名或資料庫名。奇怪!

後來找了幾個方面的資料,發現一個現象。就是所有從pfile建立spfile的命令,都是帶了具體檔案名稱的。所以我也這麼試了一下,驗證我對這個問題的原因定位:

create spfile from pfile='d:\Oracle\....\pfile.ora'

然後再從spfile啟動,成功。

由此問題可以知道,第一個根據pfile建立spfile的命令,沒有指定具體的檔案名稱,所以命令不知道根據哪個檔案去建立spfile,所以只建了一個空的spfile檔案(這個可以從spfile的二進位檔案中看到,都是null值)。只有指定了具體的pfile檔案後,建立才能成功。

補充說明:windows下的spfile預設位置是db1\database\spfileorcl.ora,裡面其實是一個連結,連結到db1\dbs\spfileorcl.ora檔案,這個檔案裡面是具體的參數配置資訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.