在Oracle中,Oracle中哪个包可以获取环境变量的值?
答案部分
可以通过DBMS_SYSTEM.GET_ENV来获取环境变量的当前生效值,示例如下所示:
SYS@LHRDB1> VAR ENVOUT VARCHAR2(200);
SYS@LHRDB1> SET SERVEROUTPUT ON
SYS@LHRDB1> EXEC DBMS_SYSTEM.GET_ENV('ORACLE_HOME',:ENVOUT);
PL/SQL PROCEDURE SUCCESSFULLY COMPLETED.
SYS@LHRDB1> PRINT ENVOUT
ENVOUT
-------------------------------------------------------------------
/oracle/app/oracle/product/11.2.0/db
SYS@LHRDB1> SET SERVEROUTPUT ON
SYS@LHRDB1> DECLARE
2 RETVAL VARCHAR2(4000);
3 BEGIN
4 SYS.DBMS_SYSTEM.GET_ENV('ORACLE_SID', RETVAL);
5 DBMS_OUTPUT.PUT_LINE(RETVAL);
6 END;
7 /
LHRDB1
PL/SQL procedure successfully completed.
SYS@LHRDB1> DECLARE
2 RETVAL VARCHAR2(100);
3 BEGIN
4 SYS.DBMS_SYSTEM.GET_ENV('ORACLE_HOME', RETVAL);
5 DBMS_OUTPUT.PUT_LINE(RETVAL);
6 END;
7 /
/oracle/app/oracle/product/11.2.0/db
PL/SQL procedure successfully completed.
本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。