איך מוצאים באיזה Oracle Home עלה ה-Database?
מדי פעם אני מוצא את עצמי תוהה באיזה Oracle Home עלה ה-Database. הדבר קורה בעיקר בסביבות שיש בהן כמה Home-ים (לפעמים באותם גרסאות) ואני לא מצליח להתחבר מקומית לבסיס הנתונים (לדוגמה כ-sysdba).
לצורך כך ישנן כמה שליפות ופרוצדורות שיכולות לסייע.
הראשונה היא הפרוצדורה dbms_System.get_env:
SQL> var OracleHome varchar2(100); SQL> EXEC dbms_system.get_env('ORACLE_HOME', :OracleHome); PL/SQL procedure successfully completed. SQL> PRINT OracleHome ORACLEHOME -------------------------------------------------------------------------------- C:\Oracle\product\11.2.0\dbhome_1
שליפה אחרת שניתן להשתמש בה היא השליפה הבאה.
בסביבת חלונות:
SQL> SELECT SUBSTR(FILE_SPEC, 1, INSTR(FILE_SPEC, '', -1, 2) -1) 2 FROM DBA_LIBRARIES 3 WHERE LIBRARY_NAME = 'DBMS_SUMADV_LIB'; SUBSTR(FILE_SPEC,1,INSTR(FILE_SPEC,'',-1,2)-1) -------------------------------------------------------------------------------- C:\Oracle\product\11.2.0\dbhome_1
בסביבת unix/linux:
SQL> SELECT SUBSTR(FILE_SPEC, 1, INSTR(FILE_SPEC, '/', -1, 2) -1) 2 FROM DBA_LIBRARIES 3 WHERE LIBRARY_NAME = 'DBMS_SUMADV_LIB' 4 / SUBSTR(FILE_SPEC,1,INSTR(FILE_SPEC,'/',-1,2)-1) -------------------------------------------------------------------------------- /app01/oracle/product/11.2.0/dbhome_1
השאירו תגובה
Want to join the discussion?Feel free to contribute!