發表文章

目前顯示的是有「Oracle Error」標籤的文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

圖片
環境: [Server] Windows 2008 Server Oracle Database 11g R2 [Client] Windows 7 Oracle Client 11g R2 Oracle Database安裝完後,在Client電腦也完成Oracle Client安裝,tnsnames.ora的配置也都完成了,但是使用sqlplus連線DB時卻出現下面的錯誤訊息。 在排除此問題前先確認,在Oracle Database 的本機使用sqlplus是可以連線的,由此先確定Database Service是有正常運作的。 目前遇過幾個況狀會導致這個錯誤訊息。 <狀況1>Server的主機網域(domain)錯誤或未指定,導致解析不到SID tnsnames.ora的SERVICE_NAME必需加入網域名稱 <狀況2>Oracle Database Listener未定設SID 1. 登入sys帳號後,利用下面指令可以查出SID名稱。 select instance_name from v$instance; INSTANCE_NAME ---------------- aehome 2. 檢查lListener服務狀態 發現沒有aehome的Listener,所以Client端才會無法利用TNS Name的方式連線。 3. 修改listener.ora,加入aehome的監聽。 4. 重新啟動Listener 重啟後發現已經有監聽aehome了。 5. 此時Client已可以正常使用sqlplus連線了。

ORA-00845: MEMORY_TARGET not supported on this system

圖片
因為Oracle做了VM實體機器移轉後,開機後發生資料庫服務無法啟動的現象 sql> startup ORA-00845: MEMORY_TARGET not supported on this system google了一下,發現是oracle參數的[memory_target]設定的大小超過了[/dev/shm]的空間大小(資料庫服務無法啟動時,看不到也無法修改[memory_target]參數,這是後來開起來後回頭去查出來才知道的)。 根據文中說明,看起來oracle會使用此空間來加速程序 /dev/shm is also know as tmpfs i.e. temporary file system which keeps all the file system in virtual memory to speed up several processes. 查一下目前的FileSystem空間分配, # df -h 紅色框起來的地方size不夠,所以我們要利用下面的指令修改這個size。   # mount -o remount,size=10G /dev/shm 再利用df -h來檢查是否有放大了。此時再進行database startup時應該可以正常啟動服務了。 目前這種設定只要重開機設定就會跑掉,可以利用下面方法來修改系統設定,讓重開機也能運作這個設定值。 (我在Redhat Enterprice 6.0上實作這個部份,無效,加到 /etc/rc.local 中也沒有作用,以後有空再來試看看) 修改 file system table # vi /etc/fstab tempfs    /dev/shm    tmpfs    defaults,size=10G    0  0 然後更新 fstab檔案 # mount -a 重開機試試是否已生效。 reference web: http://www.golinuxhub.com/2012/09/how-to-fix-ora-00845-memorytarget-n...