純粋な PL/SQL を使用して Oracle がインストールされている場所を特定することはできますか?
ユースケース: 外部 C ライブラリを呼び出すには、その正確なパス (create library
呼び出し用) を知る必要があります。DLL は Oracle の BIN ディレクトリに常駐しますが、スクリプトで DB インストールのパスをハードコードすることはできません...
純粋な PL/SQL を使用して Oracle がインストールされている場所を特定することはできますか?
ユースケース: 外部 C ライブラリを呼び出すには、その正確なパス (create library
呼び出し用) を知る必要があります。DLL は Oracle の BIN ディレクトリに常駐しますが、スクリプトで DB インストールのパスをハードコードすることはできません...
DECLARE
RetVal VARCHAR2(100);
BEGIN
dbms_system.get_env('ORACLE_HOME', RetVal);
dbms_output.put_line(RetVal);
END;
注: デフォルトでは、このパッケージへのアクセス許可がない可能性があります。
Windows と Oracle 10g では、次のように動作します。
SELECT
substr(file_spec,1,instr(file_spec,'\',1,3))
FROM dba_libraries
WHERE library_name='DBMS_SUMADV_LIB'