簡體   English   中英

快照啟動后:Informix客戶端-23101 / Oracle即時客戶端-28759

[英]After snapshot boot : Informix Client -23101 / Oracle instant client -28759

不要浪費您的時間,我將描述我擁有的&&現在擁有的。 我的應用程序是用php編寫的。 他們生活在帶有Nginx + Apache Web服務器的redhat6服務器上。 我們將數據存儲在MySQL DB中,但是我們有許多從Oracle和IBM Informix DB以及mssql導入的數據。 對於Oracle&Informix,我已經安裝了客戶端&&編譯的庫pdo_oci.so和pdo_informix.so。 幾個月來,他們一直在按預期的方式工作。

但是一周前,管理員對虛擬服務器進行了快照,然后重新加載了快照。 現在,只有MySQL和mssql連接器可以工作,並且Oracle和IBM客戶端會出現錯誤。

甲骨文:-28759

Failed : SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-28759: failure to open file (/usr/local/src/php-5.3.3/ext/pdo_oci/oci_driver.c:579)/opt/project/www/test.php149

IBM Informix:-23101

Failed : SQLSTATE=HY000, SQLDriverConnect: -23101 [Informix][Informix ODBC Driver][Informix]Unspecified System Error = -23101./opt/project/www/test.php146

好吧,正如官方文檔所述,Informix錯誤與丟失的DB_LOACALE和CLIENT_LOCALE ...等環境變量有關。

在此處輸入圖片說明

這很奇怪,因為一直以來我都使用此字符串進行連接:

     $dbh = new PDO ("informix:host=example.ru; database=some_db; server=db_net; CursorBehavior=0; DB_LOCALE=en_US.57372; CLIENT_LOCALE=en_US.57372;", "db_login", "pass");

我嘗試為apache(httpd)設置此env變量,但是仍然會出現此錯誤。 現在,我在服務器重啟后設置了此變量,但是沒有成功。 可能是我做錯了什么,或者在錯誤的位置或用戶名...

關於Oracle,文檔說它與文件加載有關:

在此處輸入圖片說明

網絡文檔說這主要是ssl錯誤,並且與客戶端的麻煩有關,后者找不到SSL Wallet文件。 我已經通過錢包與Oracle DB建立了TCPS安全連接,並且我記得讓Instant Client在正確的位置查看是一個真正的麻煩。 不僅如此,我還啟用了客戶端跟蹤,但是僅當我直接從終端使用sqlplus時,它才寫入日志。 當我運行我的PHP腳本時,我只有錯誤,沒有日志。

問題:

  1. 如何正確啟用Informix變量,或如何以其他方式解決此問題。

  2. 如何為oracle啟用“網絡跟蹤”,以查看他在尋找什么?

  3. 如何存儲此變量以供將來重新啟動/重新加載/快照...等。

這可能與文件/目錄權限有關,而不是與環境變量有關。 oracle錯誤似乎表明它無法再打開/讀取所需的文件。

notifyix -23101錯誤也可能是由驅動程序無法讀取語言環境支持所需的GLS文件引起的。

apache用戶是否有權訪問Informix Client SDK目錄和文件?

人。 啟用所有可能的跟蹤,並使用“ strace ”命令檢查程序失敗的地方!!!

感謝路易斯·馬克斯(LuísMarques)! 我在日志中發現gls並嘗試建立鏈接..到真正的IBM / informix / gls ...而不是發生了另一個msg問題... /我將軟盤從/ usr / informix鏈接到我的真實/ opt / IBM / informix, 所有連接成功喚醒!

謝謝你,兄弟。 你真的幫助我解決了這個麻煩。 我將其發布為憤怒,但會接受您的感謝! =)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM