亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: Perl Oracle環(huán)境變量 [打印本頁(yè)]

作者: shaunsyb    時(shí)間: 2015-04-27 19:23
標(biāo)題: Perl Oracle環(huán)境變量
本帖最后由 shaunsyb 于 2015-04-27 19:26 編輯

服務(wù)器:CentOS 5.8

在一臺(tái)服務(wù)器上 2 個(gè)用戶ora10g,ora11g 分別安裝了oracle 10g 和 11g,
在安裝DBD-Oracle 模塊的時(shí)候,獲取的是 ora10g 的環(huán)境變量,這時(shí)候 ora11g 通過(guò)Perl 連接Oracle 的時(shí)候報(bào)如下錯(cuò)誤

DBI connect('','/',...) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var  or PATH (Windows) and or NLS settings, permissions, etc. at ./alertcheck.pl line 37
ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var  or PATH (Windows) and or NLS settings, permissions, etc.

而 卸載Oracle模塊  重新安裝獲取ora11g 用戶環(huán)境變量的時(shí)候,ora10g 用戶報(bào)同樣錯(cuò)誤,

但是我另一臺(tái) 服務(wù)器上 也是2個(gè)用戶都分別安裝oracle 11g ,2個(gè)用戶perl 連接 oracle 都沒(méi)有問(wèn)題,這說(shuō)明2個(gè)家目錄不一樣是可以同時(shí)使用perl腳本的。。。

請(qǐng)問(wèn)下,這要怎么解決2個(gè)用戶才可以都執(zhí)行perl 腳本?
作者: 104359176    時(shí)間: 2015-04-27 19:39
我感覺(jué)是權(quán)限的問(wèn)題,每個(gè)版本的 ora10g/11g 都自帶了 Perl 的發(fā)行版,但版本不同,系統(tǒng)也自帶了 Perl 的發(fā)行版,也許是環(huán)境變量順序的問(wèn)題,先找 centos 自帶 root 的 Perl 的環(huán)境變量,然后再找 user 的 ora10g/11g 的環(huán)境變量,就會(huì)出現(xiàn)調(diào)用權(quán)限的問(wèn)題。
作者: laputa73    時(shí)間: 2015-04-28 08:23
在連接oracle的時(shí)候,自己用%ENV設(shè)置相關(guān)環(huán)境變量。
perl作為客戶端,用10g/11g都沒(méi)有什么關(guān)系。都可以連1g/11g的服務(wù)端。
關(guān)鍵就是這兩個(gè)
        $ENV{ORACLE_HOME} = $orahome;
        $ENV{NLS_LANG} = "SIMPLIFIED CHINESE_CHINA.ZHS16GBK";
作者: shaunsyb    時(shí)間: 2015-04-28 11:33
回復(fù) 3# laputa73

這個(gè)問(wèn)題我是想過(guò)了的,
我自己在腳本中也直接指定了相關(guān)的Oracle變量,然后也通過(guò)print $ENV{XX}  打印出來(lái)看過(guò)了,都沒(méi)有問(wèn)題,
區(qū)別就是在 安裝dbd—oracle 模塊的時(shí)候 獲取的是哪個(gè)用戶的變量,
因?yàn)榱硪慌_(tái)機(jī)器2個(gè)11g 的用戶都沒(méi)問(wèn)題,所以我想的是不是 有哪個(gè)模塊文件 在安裝的獲取了 庫(kù)文件之類  的路徑,所以相同版本的 oracle 就沒(méi)問(wèn)題,不同版本的oracle就出問(wèn)題了
   
作者: shaunsyb    時(shí)間: 2015-04-28 11:44

use strict;
use warnings;
use DBI;
use DBD::Oracle;
use File::Copy;


open(NEWENV, "source ~/.bash_profile && env|");

while (<NEWENV>){
          if (/(\w+)=(.*)/){

                $ENV{$1}="$2";
           }
    }
close NEWENV;

print $ENV{ORACLE_HOME}."\n";
print $ENV{NLS_LANG}."\n";


my $dbh = DBI->connect('dbi:Oracle:','/','',{ora_session_mode =>2}) or die( $DBI::errstr . "\n" );



這是我配置的腳本,環(huán)境變量我覺(jué)得是沒(méi)有問(wèn)題的,
作者: laputa73    時(shí)間: 2015-04-29 18:49
看下$LD_LIBRARY_PATH
不同版本的oracle確實(shí)會(huì)沖突
作者: shaunsyb    時(shí)間: 2015-04-30 13:44
回復(fù) 6# laputa73

也沒(méi)問(wèn)題的
作者: shaunsyb    時(shí)間: 2015-04-30 15:42
臨時(shí)解決了下,又安裝了一個(gè)DBD-ORACLE 模塊包,安裝在自定義的目錄下。。。
讓其中一個(gè)用戶先讀取這個(gè)自定義目錄
作者: yeahnoob    時(shí)間: 2015-05-05 17:42
這種情況用perlbrew最合適啦。
裝起來(lái)也放便,各個(gè)用戶用各自的perl和module互不干擾。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2