Oracle SID 및 데이터베이스 이름 확인
SID와 현재 데이터베이스 이름을 확인하고 싶습니다.
Oracle SID를 확인하기 위해 다음 쿼리를 사용하고 있습니다.
select instance from v$thread;
그러나 테이블 또는 뷰가 존재하지 않습니다. 오류가 발생합니다.
현재 데이터베이스 이름을 확인하기 위해 다음 쿼리를 사용하고 있습니다.
select name from v$database;
그러나 테이블 또는 뷰가 존재하지 않습니다. 오류가 발생합니다.
위의 두 가지 문제에 대한 아이디어가 있습니까?
나는 가정은 select user from dual;
당신에게 현재 사용자를 제공해야
및 select sys_context('userenv','instance_name') from dual;
인스턴스의 이름
나는 당신이 SID를 얻을 수 있다고 믿습니다 SELECT sys_context('USERENV', 'SID') FROM DUAL;
(
지금 이것을 확인할 수 없습니다 )
나처럼 목표가 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
V $보기는 주로 시스템 메트릭의 동적보기입니다. 성능 조정, 세션 모니터링 등에 사용됩니다. 따라서 액세스는 기본적으로 DBA 사용자로 제한되므로 ORA-00942
.
데이터베이스 이름을 찾는 가장 쉬운 방법은 다음과 같습니다.
select * from global_name;
이 뷰는 PUBLIC에 부여되므로 누구나 쿼리 할 수 있습니다.
sqlplus
명령 프롬프트에 입력
SQL> select * from global_name;
그러면 명령 프롬프트에 결과가 표시됩니다.
SQL ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
여기서 첫 번째 "ORCL"은 데이터베이스 이름이며, 시스템 "XE"및 오라클 다운로드 시간에 제공된 다른 항목 일 수 있습니다.
위에서 언급했듯이
select global_name from global_name;
갈 길이다.
사용자에게 필요한 권한이 없기 때문에 v $ database / v $ instance / v $ thread를 쿼리 할 수 없습니다. 다음을 사용하여 DBA 계정을 통해 부여 할 수 있습니다.
grant select on v$database to <username here>;
참고URL : https://stackoverflow.com/questions/6288122/checking-oracle-sid-and-database-name
'Programing' 카테고리의 다른 글
할당 및 동등성 검사가있는이 if 문이 거짓으로 평가되는 이유는 무엇입니까? (0) | 2020.08.13 |
---|---|
vim과 함께 git commit -a 사용 (0) | 2020.08.13 |
Mongo 컬렉션을 JSON 형식으로 덤프 (0) | 2020.08.13 |
mongodb는 CAP 정리에서 어디에 서 있습니까? (0) | 2020.08.13 |
EF Core 매핑 EntityTypeConfiguration (0) | 2020.08.13 |