답변:
나는 가정은 SELECT user FROM dual;
당신에게 현재 사용자를 제공해야
및 SELECT sys_context('userenv','instance_name') FROM dual;
인스턴스의 이름
나는 당신이 SID를 얻을 수 있다고 믿습니다. SELECT sys_context('USERENV', 'SID') FROM DUAL;
select sys_context('userenv','db_name') from dual;
데이터베이스 이름과 sid에 대해서는 이미 답변에 추가했습니다. 이것이 당신이 원하는 것을 제공하기를 바랍니다
나처럼 목표가 Oracle JDBC URL을 생성하기 위해 데이터베이스 호스트와 SID를 얻는 것입니다.
jdbc:oracle:thin:@<server_host>:1521:<instance_name>
다음 명령이 도움이 될 것입니다.
SID (또는 인스턴스 이름)를 확인하는 Oracle 쿼리 명령 :
select sys_context('userenv','instance_name') from dual;
데이터베이스 이름 (또는 서버 호스트)을 확인하는 Oracle 쿼리 명령 :
select sys_context('userenv', 'server_host') from dual;
Att. 세르지오 마르셀로
완전성을 위해 ORA_DATABASE_NAME을 사용할 수도 있습니다.
모든 메소드가 동일한 출력을 제공하지는 않는다는 점은 주목할 가치가 있습니다.
SQL> select sys_context('userenv','db_name') from dual;
SYS_CONTEXT('USERENV','DB_NAME')
--------------------------------------------------------------------------------
orcl
SQL> select ora_database_name from dual;
ORA_DATABASE_NAME
--------------------------------------------------------------------------------
ORCL.XYZ.COM
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.XYZ.COM
sqlplus
명령 프롬프트에 입력
SQL> select * from global_name;
그러면 명령 프롬프트에 결과가 표시됩니다.
SQL ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
여기서 첫 번째 "ORCL"은 데이터베이스 이름이며, 시스템 "XE"및 오라클 다운로드 시간에 제공된 다른 항목 일 수 있습니다.