由於oracle 11g r2 x64在windows 2008 r2 64位環境下,並沒有提供$oracle_home/lib32目錄,再加上oci8只支援在32位環境下安裝的天然特性,[url]費了很大勁終於將oci8成功裝上。
[quote]$ irb
irb(main):001:0> require 'oci8'
=> true
irb(main[/quote]
不了在使用時,卻報如下錯誤
[quote]$ ruby ruby_install_test.rb product
check general_config start.....
general_config check error.
/usr/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8.rb:52:in `init':[color=red] oci library initialization error (ocierror)[/color]
from /usr/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8.rb:52
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from ruby_install_test.rb:3[/quote]
oci8雖然裝上,但是不能使用,也就意味著產品不可用。只能另外想辦法。嘗試將環境變數(包括oracle_home和ld_library_home)設成client目錄,再次執行,發現正常通過
[quote]$ ruby ruby_install_test.rb
check general_config start.....
check general_config end.
check manager_config start.....
check manager_config end.
check database.yml start.....
check database.yml end.[/quote]
由此可知在,32位的client環境下,能執行正常。但是由於產品需求,必須執行在x64的oracle_home環境下,於是思考,在x64裡面的環境變數path前面加上client路徑,然後將client路徑下的sqlplus移除。
[quote]$ more .bash_profile
export path=$:/usr/bin:/bin:/usr/bin/x11:/usr/local/bin
export ld_library_path=$oracle_home/lib
export temp=c:/tmp
export tmpdir=c:/tmp
export rubyopt=rubygems
export path=$path:$script_home
再次執行成功,終於解決了在11g r2 x64環境下裝oci8的問題。不知道在aix,hp-ux下面會不會遇到類似問題,拭目以待,但至少提供了一種解決方法之道。
總結:1、oracle 11g client 32bit 在windows2008 r2環境下安裝之後沒有sdk目錄,這導致oci8安裝不成功,在安裝完client成功之後,在其oracle_home目錄中需要再次解壓instantclient-sdk-win32-11.2.0.1.0.zip,再次安裝oci8即可成功。
2、如需安裝其他節點,無須在其他節點再次安裝client,只需要將client拷貝至其他節點即可,windows環境下也支援拷貝。
puppet 錯誤記錄
因為測試的需要把puppet master 給乾掉了,重新安裝puppet master,重新開始認證簽名。安裝好puppet master,什麼也不做,使用之前的client 連線master,會出現以下錯誤 warning peer certificate won t be verified i...
錯誤記錄(一)
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 編寫乙個c程式,實現兩個分數的加減法 輸入 輸入包含多行資料 每行資料是乙個字串,格式是 a boc d 其中a,b,c,d是乙個0 9的整數。o是運算子 或者 資料以eof結束 輸入資料保證合法 輸出對於輸入資料的每一行輸出兩...
簡單錯誤記錄
使用了部落格的 設計思路。這裡主要記錄一下在處理這一題時自己理解錯的地方 1 需要從輸入的日誌資訊中提取檔名和行號。如果這樣想這個問題,那麼需要分割字串分別獲取檔名和行號。其實可以利用格式化輸入分別獲取檔名字串和行號整數值。2 輸入一條日誌,顯示一次更新的日誌資訊。理解為時迴圈輸入日誌資訊,然後將日...