On UNIX:
select substr(file_spec, 1, instr(file_spec, '/', -1, 2) -1) from dba_libraries where library_name = 'DBMS_SUMADV_LIB'On Windows, substitute with backslash.
Vadim Bobrov
Oracle Database Tools
来自农村的老实娃
分类: Oracle
2011-09-29 10:27:08
On UNIX:
select substr(file_spec, 1, instr(file_spec, '/', -1, 2) -1) from dba_libraries where library_name = 'DBMS_SUMADV_LIB'On Windows, substitute with backslash.
Vadim Bobrov
Oracle Database Tools
Note that you may not have access to dba_libraries. You may use user_libraries or all_libraries.
I tested the above query on my Windows XP running Oracle XE (connected as sys as sysdba), here is what I got: C:/ADE/aime_051006/oracle/rdbms/. The funny thing is, I do not seem to find this directory at all on my C drive ?!
correct. I get the same (non-existent) directory. Does not seem to work on XE. On Enterprise 8i, 9i, 10g works fine
Vadim Bobrov
Oracle Database Tools
This is also not the “ORACLE_HOME” that is used to start the instance. To get the ORACLE_HOME used to start the instance, you can do :
SQL> set autopri on SQL> var oracle_home varchar2(255) SQL> exec dbms_system.get_env('ORACLE_HOME',:ORACLE_HOME) PL/SQL procedure successfully completed. ORACLE_HOME -------------------------------------------------------------------------------- /app/oracle/oracle/product/10.2.0/db_2